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