3 changed files with 96 additions and 4 deletions
@ -0,0 +1,93 @@ |
|||||
|
package cn.chjyj.szwh.service; |
||||
|
|
||||
|
import cn.chjyj.szwh.bean.Goods; |
||||
|
import cn.chjyj.szwh.bean.Order; |
||||
|
import cn.chjyj.szwh.bean.OrderGoodsDetail; |
||||
|
import cn.chjyj.szwh.mapper.GoodsMapper; |
||||
|
import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper; |
||||
|
import cn.chjyj.szwh.mapper.OrderMapper; |
||||
|
import cn.chjyj.szwh.utils.pay.security.AesEncryption; |
||||
|
import com.alibaba.fastjson2.JSONObject; |
||||
|
import org.junit.Test; |
||||
|
import org.junit.runner.RunWith; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.boot.test.context.SpringBootTest; |
||||
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
import static org.junit.Assert.*; |
||||
|
|
||||
|
@SpringBootTest |
||||
|
@RunWith(SpringJUnit4ClassRunner.class) |
||||
|
public class PayServiceTest { |
||||
|
@Autowired |
||||
|
private OrderMapper orderMapper; |
||||
|
@Autowired |
||||
|
private OrderGoodsDetailMapper orderGoodsDetailMapper; |
||||
|
@Autowired |
||||
|
private GoodsMapper goodsMapper; |
||||
|
|
||||
|
@Test |
||||
|
public void payComplete() { |
||||
|
} |
||||
|
|
||||
|
@Test |
||||
|
public void payFinishOperate() { |
||||
|
} |
||||
|
|
||||
|
// 支付回调结果
|
||||
|
@Test |
||||
|
public void payCallback() throws Exception { |
||||
|
String dd ="kfz3sNCvoH6jMGoM7NFwfQuLpuG50zIu-c5DKJcJovqVOUSoy4V9k0M5VOSQd7hiUeiueTnFNBsnASusHRY9IqoH08vXsUoy4GfX69ykRBsWz0lB1DSNyX3QPkP5QOK_o_admPpLAeY9p2MIoSE_0yZr2_1-Z5DfaVCt6naIpkUlTH4vDO__vVxZWHws3IGifQ0qF90V8gvfEXv1ZMjBePpdISNXWxgecuvMokMhGWqlHY9R3BgOchoe7PWVkMLh4-vHLZF8OxjPaU_B6J6UicgwfuDbs01YC2qPj-h_d-3KkpNOppjA11LWb9_fD_yQBG91VK-gE2kF5jgn4ncJGoDqySMkenzVh9edONRfjGAulqL_EAcIBnMWTB1ez-T8wZ1s4bXpJQx7wfPwKvwBZDk0yGIL9LWVYUXbxY7Qmf8_iYz4OiHYCRfVdnKXwAuicDIWUB363fWX1AGBh2p7fMhFK5n1js3ytf9Q6zqCDMG4YObLAA-stbsV4o3rrDh0pR40NvR0KWvLnCKlSwV3jfElQ9iFz9lel12bhijQ77TPpublL-Capi7rC_CAJvDTHIGacNRFTJAtxusHB_nLwoYo6dOAkgrOoZkwAmyvq7nDqwdiPV4BtJ8w_VFEXQ6deEEpJtKveu4o3WDnXx2taZn8UFL8zWs2A1cJkBpbXe6DUJEbosnI077EfokPwZtn6KueHAIeX5m7T37FfR_zprP92097iVQQnDbU8rmwEw1a1IxCAFU7RIrY2bqkEJXbO2KVxReZoBvP3f70skfSiPDAojdzaJa9qpfaUDR6_ZFx1F9lj0fk7--aXE7io-HSIaLxsFomMoN6QzG76JpSoCbE3MFcr81tTGvYDgh5mbXCnLqNdiCflCSmAWJ4rvXU6xndBMMKi1-oLKIEnrVvK1GIZK7FMPtW_WTKwsq66CL1djinIgVWwbvXvTyhwpHdF6cfryKU1s0TpvD72Id5fFXXBP2bbJQsAMra9BcuXOmRN-DSc7iFoHCYOOEcJONEc0AkqIHZBzH9HD338HRXY29yY-GyM5U5GSQngEyXhOjeb-dKmiphL6FQyuwmwD1e5Osx98D7C33sRRKYm56eW_SumCR9UDQ46gzTzGC3kQXNhMex-EtAJ9AdkjAEHLedwBZRaR5zKf83QHGhEmIo9WWjDuNChLMe-tzAhd-GfqGCxvEaq6-o8sp-vqoyClccCZlArCQEfJNNoBcvtatRUzp1RF7ziX6efW238x_kkE60FdGPrW0R_E79UNTcIj01"; |
||||
|
//解密 略
|
||||
|
//String jstr ="{\"businesstypename\":\"现场收款\",\"subpaymenttypeid\":12,\"latitude\":0.0,\"bankaccount\":\"12_null\",\"channelpayorderid\":\"2022112522001401901440759408\",\"payorderid\":\"30321021125133936750\",\"subcompanyname\":\"深圳文化产权交易所有限公司(测试商户)\",\"body\":\"11.25-永久\",\"respcode\":2,\"channelordernumber\":\"288590033351202211253266656442\",\"businesstype\":1001,\"rcompanyname\":\"深圳文化产权交易所有限公司(测试商户)\",\"settlementtype\":1,\"companyid\":910000198,\"ordernumber\":\"1669354770578266\",\"rcompanyid\":910000198,\"respmsg\":\"支付完成\",\"longitude\":0.0,\"amount\":1,\"subcompanyid\":910000198,\"bankcardtype\":0,\"loginname\":\"深圳文化产权交易所有限公司(测试商户)\",\"subpaymenttypename\":\"支付宝扫码支付\",\"paymenttypename\":\"支付宝支付\",\"companyname\":\"深圳文化产权交易所有限公司(测试商户)\",\"businesstime\":\"2022-11-25 13:40:32\",\"paymenttypeid\":12,\"stationid\":0,\"ordertype\":307}\n";
|
||||
|
|
||||
|
String sckey ="gRAZZKiNw0UbTuF9";// 密钥
|
||||
|
//解密
|
||||
|
String desencrypt = AesEncryption.Desencrypt(dd, sckey, sckey); |
||||
|
|
||||
|
// 转为json
|
||||
|
JSONObject dataObject = JSONObject.parseObject(desencrypt); |
||||
|
//支付完成
|
||||
|
if (dataObject.getIntValue("respcode") == 2) { |
||||
|
//订单编号
|
||||
|
String ordersn = dataObject.getString("ordernumber"); |
||||
|
//查找订单并更新订单状态
|
||||
|
Order order =orderMapper.getOrderByBatchcode(ordersn); |
||||
|
if(order!=null){ //订单存在,理论上应该是存在的
|
||||
|
//查找订单中的商品
|
||||
|
List<OrderGoodsDetail> ordgdlist = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(ordersn); |
||||
|
//增加销售记录
|
||||
|
for(OrderGoodsDetail ordg:ordgdlist){ |
||||
|
// 根据goodsislicode 查询
|
||||
|
Goods goods = goodsMapper.getGoodsByIsli(ordg.getGoodsIslicode()); |
||||
|
// 更新订单状态
|
||||
|
Map upgmap = new HashMap(); |
||||
|
upgmap.put("sale_count",goods.getSaleCount()+1); |
||||
|
goodsMapper.updateGoods(upgmap,goods.getId()); |
||||
|
} |
||||
|
//更新订单字段
|
||||
|
Map upmap = new HashMap(); |
||||
|
upmap.put("status",2); |
||||
|
upmap.put("pay_status",2); |
||||
|
upmap.put("paymenttime",new Date()); |
||||
|
upmap.put("payid",dataObject.getString("payorderid")); //支付流水单号
|
||||
|
//更新订单指定字段
|
||||
|
orderMapper.updateOrderStatus(upmap,order.getId()); |
||||
|
} |
||||
|
//订单信息发送至分发系统
|
||||
|
|
||||
|
//买家发票信息等
|
||||
|
//卖家发票
|
||||
|
// $this->payFinishOperate($batchcode);
|
||||
|
// $this->invoiceBuyOperate($batchcode);
|
||||
|
// $this->invoiceSellerOperate($batchcode);
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue