Kaynağa Gözat

//pay_order

release_toaliyun_real
xhxu 3 yıl önce
ebeveyn
işleme
8b250e66be
23 değiştirilmiş dosya ile 480 ekleme ve 662 silme
  1. +300
    -0
      mallinkAdmin/src/main/resources/db/migration/V2022092800001__add_order.sql
  2. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/BaseController.java
  3. +2
    -349
      mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java
  4. +1
    -0
      mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
  5. +5
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java
  6. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxOrderPayExpVo.java
  7. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxOrderPayVo.java
  8. +1
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumOrderType.java
  9. +0
    -4
      mallinkService/src/main/java/com/iformall/service/WxOrderService.java
  10. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxPayAccountService.java
  11. +101
    -208
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  12. +30
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountServiceImpl.java
  13. +1
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  14. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java
  15. +1
    -4
      mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java
  16. +0
    -4
      mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeOrder.java
  17. +1
    -8
      mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java
  18. +13
    -46
      mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java
  19. +1
    -8
      mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java
  20. +8
    -10
      mallinkService/src/main/java/com/iformall/service/order/impl/batch/MulityNumberOneOrderBatchOrderAdapterService.java
  21. +1
    -8
      mallinkService/src/main/java/com/iformall/service/order/impl/batch/OneNumberOneOrderBatchOrderAdapterService.java
  22. +1
    -0
      mallinkService/src/main/java/com/iformall/utils/Constant.java
  23. +5
    -3
      mallinkService/src/main/resources/mapper/WxOrderMapper.xml

+ 300
- 0
mallinkAdmin/src/main/resources/db/migration/V2022092800001__add_order.sql Dosyayı Görüntüle

@@ -0,0 +1,300 @@
ALTER TABLE `mallink`.`wx_order_0`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_1`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_2`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_3`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_4`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_5`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_6`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_7`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_8`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_9`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_10`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_11`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_12`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_13`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_14`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_15`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_16`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_17`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_18`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_19`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_20`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_21`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_22`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_23`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_24`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_25`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_26`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_27`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_28`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_29`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_30`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_31`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_32`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_33`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_34`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_35`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_36`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_37`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_38`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_39`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_40`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_41`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_42`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_43`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_44`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_45`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_46`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_47`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_48`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_49`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_50`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_51`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_52`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_53`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_54`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_55`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_56`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_57`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_58`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_59`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_60`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_61`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_62`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_63`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_64`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_65`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_66`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_67`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_68`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_69`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_70`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_71`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_72`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_73`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_74`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_75`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_76`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_77`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_78`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_79`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_80`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_81`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_82`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_83`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_84`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_85`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_86`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_87`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_88`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_89`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_90`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_91`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_92`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_93`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_94`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_95`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_96`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_97`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_98`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;
ALTER TABLE `mallink`.`wx_order_99`
ADD COLUMN `product_name` varchar(255) AFTER `product_id`,
ADD COLUMN `make_merchant_id` bigint(20) DEFAULT 0 AFTER `pay_version`;

+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/BaseController.java Dosyayı Görüntüle

@@ -245,7 +245,7 @@ public class BaseController {
}

public WxAppinfo getAppInfo(String appId) {
return wxAppinfoService.getByAppId(appId);
return wxAppinfoService.getByAppIdFromRedis(appId);
}

public WxMaService getWeappService(String appId) {


+ 2
- 349
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java Dosyayı Görüntüle

@@ -206,14 +206,14 @@ public class WxOrderController extends BaseController {
}

//验证app
WxAppinfo appinfo = wxAppinfoService.getByAppId(app_id);
WxAppinfo appinfo = wxAppinfoService.getByAppIdFromRedis(app_id);
if(appinfo == null || !EnumAppPlat.TOUTIAO.getCode().equals(appinfo.getPlat())
|| !EnumAppType.C.getCode().equals(appinfo.getType())){
map.put("err_no",ErrorCode.APP_ID_NOT_FOUND.getCode());
map.put("err_tips",ErrorCode.APP_ID_NOT_FOUND.getMessage());
return map;
}
WxPayAccount payAccount = wxPayAccountService.getById(appinfo.getPayId());
WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(appinfo.getPayId());
if(payAccount == null){
map.put("err_no",ErrorCode.API_KEY_NOT_FOUND.getCode());
map.put("err_tips","未找到支付配置");
@@ -255,23 +255,6 @@ public class WxOrderController extends BaseController {
data.put("order_goods_info",order.getExtParam());
}


// List<Map<String,Object>> goodsValid = new ArrayList<>();
// for (Long couponChannelId:order.getCouponChannelMap().keySet()) {
// Map<String,Object> goodsValidMap = new HashMap<>();
// WxCouponChannel couponChannel = order.getCouponChannelMap().get(couponChannelId);
// goodsValidMap.put("goods_id",couponChannel.getTtSpuId());
// WxCoupon wxCoupon = order.getCouponMap().get(couponChannel.getCouponId());
// if(EnumCouponValidType.BETWEEN_TWO_TIME.getCode().equals(wxCoupon.getValidType())){
// goodsValidMap.put("valid_start_time",wxCoupon.getValidStartDate().getTime());
// goodsValidMap.put("valid_end_time",wxCoupon.getValidEndDate().getTime());
// }else{
// goodsValidMap.put("valid_duration",(long)wxCoupon.getValidDays()*24*3600*1000);
// }
// goodsValid.add(goodsValidMap);
// }
// data.put("order_valid_time",goodsValid);

map.put("data",data);
map.put("err_no",0);
map.put("err_tips",resultData.message);
@@ -296,209 +279,6 @@ public class WxOrderController extends BaseController {
}
}

// @AuthIgnore
// @ApiOperation(value = "抖音支付2.0与下单回调推送订单", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}")
// @PostMapping("douyinPushOrder")
// public Map<String,Object> douyinPushOrder(HttpServletRequest request) {
//
// Map<String, Object> map = new HashMap();
//
// SignatureHeader header = new SignatureHeader();
// header.setTimeStamp(request.getHeader("Byte-Timestamp"));
// header.setNonce(request.getHeader("Byte-Nonce-Str"));
// header.setSigned(request.getHeader("Byte-Signature"));
//
// logger.info("支付2.0预下单回调---header{}"+header.toString());
//
// String body = ((BodyReaderHttpServletRequestWrapper) request).getBody();
// logger.info("支付2.0预下单回调---body{}"+body);
// try {
// JSONObject jsonObject = JSONObject.parseObject(body);
// String msg = jsonObject.getString("msg");
//
// JSONObject msgObject = JSONObject.parseObject(msg);
// String app_id = msgObject.getString("app_id");
// String open_id = msgObject.getString("open_id");
// //透传字段
// Map<String,String> couponMap = new HashMap<>();
// try{
// String cp_extra = msgObject.getString("cp_extra");
// if(StringUtils.isBlank(cp_extra)){
// map.put("err_no",ErrorCode.SYS_PARAMETER_NOT_NULL.getCode());
// map.put("err_tips","缺少透传字段");
// return map;
// }
// couponMap = JSONObject.parseObject(cp_extra, Map.class);
// }catch(Exception e){
// }
// if(couponMap.isEmpty()){
// map.put("err_no",ErrorCode.SYS_PARAMETER_NOT_NULL.getCode());
// map.put("err_tips","透传字段格式不正确");
// return map;
// }
//
// //验证app
// WxAppinfo appinfo = wxAppinfoService.getByAppId(app_id);
// if(appinfo == null || !EnumAppPlat.TOUTIAO.getCode().equals(appinfo.getPlat())
// || !EnumAppType.C.getCode().equals(appinfo.getType())){
// map.put("err_no",ErrorCode.APP_ID_NOT_FOUND.getCode());
// map.put("err_tips",ErrorCode.APP_ID_NOT_FOUND.getMessage());
// return map;
// }
// WxPayAccount payAccount = wxPayAccountService.getById(appinfo.getPayId());
// if(payAccount == null){
// map.put("err_no",ErrorCode.API_KEY_NOT_FOUND.getCode());
// map.put("err_tips","未找到支付配置");
// return map;
// }
// TenantEntity tenantEntity = new TenantEntity();
// tenantEntity.updateTenantInfo(appinfo);
// //验证用户
// Long memberId = null;
// TtCUser cuser = (TtCUser) cuserFactory.getCUserService(EnumAppPlat.TOUTIAO).getByOpenId(open_id, tenantEntity.getTenantId());
// if(cuser != null && cuser.getUserId() != null){
// memberId = cuser.getUserId();
// }
// if(memberId == null){
// map.put("err_no",ErrorCode.USER_NOT_MEMBER.getCode());
// map.put("err_tips",ErrorCode.USER_NOT_MEMBER.getMessage());
// return map;
// }
//
//
// TtPayService ttPayService = maUtil.getTtPayService(appinfo, payAccount);
// CreateOrderCallback createOrderCallback = ttPayService.parseOrderNotifyV2Result(body, header);
// JSONObject allExtParam = new JSONObject();
// allExtParam.put("order_id",createOrderCallback.getOrderId());
// allExtParam.put("total_amount",createOrderCallback.getTotalAmount());
// allExtParam.put("discount",createOrderCallback.getDiscount());
// allExtParam.put("open_id",createOrderCallback.getOpenId());
//
// List<PlatPushOrderSaveDto> list = new ArrayList<>();
// for (CreateOrderCallback.Good good:createOrderCallback.getGoods()) {
// PlatPushOrderSaveDto dto = new PlatPushOrderSaveDto();
// dto.setCouponChannelId(Long.parseLong(couponMap.get(good.getGoodsId())));
// dto.setCount(good.getQuantity());
// dto.setExtParam(JSON.toJSONString(good.getItemOrderInfoList()));
// list.add(dto);
// }
//
// ResultData resultData = wxOrderService.platPushSaveOrder(true, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH, allExtParam.toJSONString(), list, memberId, EnumPayWay.PAY_WAY_TT, tenantEntity);
// logger.info("resultData{}"+JSON.toJSONString(resultData));
// if(resultData.code == 200){
// WxComposeOrder order = (WxComposeOrder) resultData.data;
// Map<String, Object> data = new HashMap<>();
// data.put("out_order_no",order.getMainOrderId().toString());
// data.put("pay_expire_seconds",15*60);
// data.put("order_entry_schema",wxOrderService.getOrderEntrySchema(order.getMainOrderId()));
//// List<Map<String,Object>> goodsValid = new ArrayList<>();
//// for (Long couponChannelId:order.getCouponChannelMap().keySet()) {
//// Map<String,Object> goodsValidMap = new HashMap<>();
//// WxCouponChannel couponChannel = order.getCouponChannelMap().get(couponChannelId);
//// goodsValidMap.put("goods_id",couponChannel.getTtSpuId());
//// WxCoupon wxCoupon = order.getCouponMap().get(couponChannel.getCouponId());
//// if(EnumCouponValidType.BETWEEN_TWO_TIME.getCode().equals(wxCoupon.getValidType())){
//// goodsValidMap.put("valid_start_time",wxCoupon.getValidStartDate().getTime());
//// goodsValidMap.put("valid_end_time",wxCoupon.getValidEndDate().getTime());
//// }else{
//// goodsValidMap.put("valid_duration",(long)wxCoupon.getValidDays()*24*3600*1000);
//// }
//// goodsValid.add(goodsValidMap);
//// }
//// data.put("order_valid_time",goodsValid);
//
// map.put("data",data);
// map.put("err_no",0);
// map.put("err_tips",resultData.message);
// logger.info("resultData{}"+JSON.toJSONString(map));
// return map;
// }else{
// map.put("err_no",resultData.code);
// map.put("err_tips",resultData.message);
// return map;
// }
//
// } catch (TtPayException e) {
// logger.error(e.getMessage());
// map.put("err_no",ErrorCode.SYS_BEAN_EMPTY_PROPERTY_ERROR.getCode());
// map.put("err_tips",e.getMessage());
// return map;
// } catch (Exception e){
// logger.error(e.getMessage());
// map.put("err_no",ErrorCode.SYS_SERVER_ERROR.getCode());
// map.put("err_tips",e.getMessage());
// return map;
// }
// }

// @ApiOperation(value = "继续支付", notes = "{\"composeOrderId\":\"string\"}")
// @PostMapping("/continueToPay")
// public ResultData continueToPay(@RequestBody Map<String, Object> paramMap) {
// logger.info("/api/order/continueToPay" + paramMap.toString());
// String orderIdStr = (String) paramMap.get("composeOrderId");
// if (StringUtils.isBlank(orderIdStr)) {
// logger.info("orderId不能为空: " + paramMap.toString());
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空");
// }
// Long orderId = 0L;
// try {
// orderId = Long.valueOf(orderIdStr);
// } catch (NumberFormatException e) {
// logger.error("orderId参数不正确: " + paramMap.toString() + ", e:" + e.getMessage());
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId参数不正确");
// }
//
// WxBatchOrder batchOrder = wxOrderService.getWxBatchOrder(getTenantInfo(),orderId);
// if(batchOrder == null){
// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到订单");
// }
//
// WxPayOrder payOrder = new WxPayOrder();
// payOrder.setOrderId(orderId);
// payOrder.updateTenantInfo(getTenantInfo());
// payOrder.setPayVendor(batchOrder.getPayVendor());
// payOrder.setComposeOrder(batchOrder.getOrderType());
//
// try {
// WxPayOrder byObj = wxPayOrderService.getByObj(payOrder);
// if(byObj == null){
// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "未找到支付订单");
// }
// if(EnumPayStatus.PAY_STATUS_WAIT.getCode().equals(byObj.getPayOrderStatus())){
// WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(byObj.getComposeOrder()).getComposeOrder(byObj.getOrderId(), byObj.getTenantId());
//
// WxAppinfo appInfo = wxAppinfoService.getCAppInfo(byObj, EnumPayWay.getEnum(byObj.getPayVendor()).getPlat());
// //WxCUser user = getUser();
// //WxAppinfo appInfo = getAppInfo(user.getAppId());
// if (null == appInfo) {
// return new ResultData(ErrorCode.PAY_ORDER_ERROR, "当前支付类型["+byObj.getPayVendor()+"]找不到C端appInfo");
// }
// WxPayAccount payAccount = wxPayAccountService.getById(appInfo.getPayId());
// try {
// WxPayOrder wo = wxPayOrderService.handleWxOrderQuery(byObj, composeOrder,appInfo, payAccount, IdWorker.get(),false);
// if (null != wo) {
// Map<String,Object> map = new HashMap<>();
// map.put("outOrderNo",orderId);
// return new ResultData(map);
// }
// }catch(MallinkException e) {
// //已经同步了微信的支付状态,表示已经更新
// return new ResultData(e.getErrorCode(),e.getMessage());
// }
// return new ResultData(ErrorCode.PAY_ORDER_QUERY_ERROR.getCode(), "查询微信订单支付状态失败,请稍后!");
// }else{
// return new ResultData(ErrorCode.PAY_ORDER_QUERY_ERROR.getCode(), "订单"+EnumPayStatus.getEnum(payOrder.getPayOrderStatus()).getMessage());
// }
// } catch (MallinkException e) {
// logger.error("支付状态更新失败2: " + orderId + ", e:" + e.getMessage(),e);
// return new ResultData(e.getErrorCode(), e.getMessage());
// } catch (Exception e) {
// logger.error("支付状态更新失败3: " + orderId + ", e:" + e.getMessage(),e);
// return new ResultData(ErrorCode.PAY_ORDER_ERROR, "支付状态更新失败3: " + orderId + ", e:" + e.getMessage());
// }
// }
@ApiOperation(value = "取消订单", notes = "{\"orderId\":\"string\"}")
@PostMapping("cancel")
@@ -583,104 +363,6 @@ public class WxOrderController extends BaseController {
return new ResultData();
}

// @ApiOperation("分页订单列表接口")
// @GetMapping("list")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true),
// })
// public ResultData list(@ModelAttribute WxOrder wxOrder, Integer pageNum, Integer pageSize) {
// // c端用户应该只能看到自己的订单
// if (wxOrder == null){
// wxOrder = new WxOrder();
// }
// Long memberId;
// try {
// memberId = getMemberId();
// } catch (Exception e) {
// return new ResultData(Result.ERROR,e.getMessage());
// }
// wxOrder.setCUserId(memberId);
// wxOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC);
// wxOrder.updateTenantInfo(getTenantInfo());
// final PageInfo<WxOrderCouponVo> page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize,false);
//
// Date now = new Date();
// page.getList().stream().forEach(oc->{
// if (oc.getValidStartDate() != null && oc.getValidEndDate() != null ) {
// if (oc.getValidStartDate().getTime() > now.getTime()) {
// oc.setValidStatus(EnumCouponOrderValidStatus.PREPARED.getCode());
// } else if (oc.getValidEndDate().getTime() < now.getTime()) {
// oc.setValidStatus(EnumCouponOrderValidStatus.ENDED.getCode());
// } else {
// oc.setValidStatus(EnumCouponChannelActivityStatus.STARTED.getCode());
// }
// }
// });
//
//
// return new ResultData(page);
// }

// @ApiOperation("订单详情接口")
// @GetMapping("detail")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "orderId", value = "订单id", dataType = "String", paramType = "query", required = true)
// })
// public ResultData detail(String orderId) {
// if (StringUtils.isBlank(orderId) || orderId.equalsIgnoreCase(Constant.UNDEFINED)) {
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
// }
// // c端用户应该只能看到自己的订单细节
// WxOrder wxOrder = new WxOrder();
// Long id = 0L;
// try {
// id = Long.valueOf(orderId);
// } catch (NumberFormatException e) {
// logger.error("parse orderId failed");
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "订单ID转换异常:"+orderId);
// }
// wxOrder.setId(id);
// Long memberId;
// try {
// memberId = getMemberId();
// } catch (Exception e) {
// return new ResultData(Result.ERROR,e.getMessage());
// }
// wxOrder.setCUserId(memberId);
// wxOrder.updateTenantInfo(getTenantInfo());
// WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder);
// if (wxOrderCVo == null)
// return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
//
// Date now = new Date();
//
// if (wxOrderCVo.getValidStartDate() != null && wxOrderCVo.getValidEndDate() != null
// && !wxOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())) {
// if (wxOrderCVo.getValidStartDate().getTime() > now.getTime()) {
// wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.PREPARED.getCode());
// } else if (wxOrderCVo.getValidEndDate().getTime() < now.getTime()) {
// wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.ENDED.getCode());
// } else {
// wxOrderCVo.setValidStatus(EnumCouponChannelActivityStatus.STARTED.getCode());
// }
// }
// if(wxOrderCVo.getType().equals(EnumCouponType.COUPON_PREORDER.getCode())
// && wxOrderCVo.getPickStartDate() != null && wxOrderCVo.getPickEndDate() != null){
//// wxOrderCVo.setValidStartDate(wxOrderCVo.getPickStartDate());
//// wxOrderCVo.setValidEndDate(wxOrderCVo.getPickEndDate());
// if (wxOrderCVo.getPickStartDate().getTime() > now.getTime()) {
// wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.PREPARED.getCode());
// } else if (wxOrderCVo.getPickEndDate().getTime() < now.getTime()) {
// wxOrderCVo.setValidStatus(EnumCouponOrderValidStatus.ENDED.getCode());
// } else {
// wxOrderCVo.setValidStatus(EnumCouponChannelActivityStatus.STARTED.getCode());
// }
// }
//
// return new ResultData(wxOrderCVo);
// }

@ApiOperation("订单详情接口")
@GetMapping("detail_v1")
@ApiImplicitParams({
@@ -761,35 +443,6 @@ public class WxOrderController extends BaseController {
}
}

// @ApiOperation(value = "根据orderId查询接口", notes = "{\"orderId\":\"string\"}")
// @GetMapping("/findById")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "orderId", value = "订单id", dataType = "String", paramType = "query", required = true)
// })
// public ResultData findById(String orderId) {
// if (orderId == null || orderId.equalsIgnoreCase(Constant.UNDEFINED)) {
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
// }
// Long id = 0L;
// try {
// id = Long.valueOf(orderId);
// } catch (NumberFormatException e) {
// logger.error("parse orderId failed");
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "订单ID转换异常:"+orderId);
// }
// WxOrder order = null;
// try {
// order = wxOrderService.getById(id,getTenantInfo().getTenantId());
// if (order != null) {
// return new ResultData(Result.SUCCESS, "查询成功", order);
// } else {
// return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
// }
// } catch (Exception e) {
// logger.error("parse orderId failed");
// return new ResultData(ErrorCode.DB_FAIL.getCode(), "订单查询未成功,e:" + e.getMessage());
// }
// }

@ApiOperation(value = "获取未支付订单", notes = "{\"couponId\":\"string\"}")
@GetMapping("getUnPaidOrder")


+ 1
- 0
mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java Dosyayı Görüntüle

@@ -2467,6 +2467,7 @@ public class PosServiceImpl implements PosService {
order.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
order.setPayVersion(EnumPayVersion.NEU_POS_V1.getCode());
order.setProductId(merchantBUser.getId());
order.setProductName(EnumOrderType.POSPAY.getMessage());
order.setCUserId(memId);
order.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
order.setPayment(posAmount);


+ 5
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java Dosyayı Görüntüle

@@ -57,6 +57,8 @@ public class WxOrder extends TenantEntity {
private Long couponChannelId;
@io.swagger.annotations.ApiModelProperty(value="产品ID(type-0:couponId, 1:buserId, 3:merchantId)",name="productId")
private Long productId;
@io.swagger.annotations.ApiModelProperty(value="产品基本描述",name="productName")
private String productName;
@io.swagger.annotations.ApiModelProperty(value="类型(0:券,1:B刷卡支付,2:C扫码支付,3:储值卡, 10:POS支付)",name="type")
private Integer type;
@io.swagger.annotations.ApiModelProperty(value = "支付渠道EnumPayWay", name = "payVendor")
@@ -66,6 +68,9 @@ public class WxOrder extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType")
private Integer paymentType;

@io.swagger.annotations.ApiModelProperty(value="直连收款门店",name="makeMerchantId")
private Long makeMerchantId;

@io.swagger.annotations.ApiModelProperty(value="支付金额(分):允许有负数,退款时为负值。",name="payment")
private Integer payment;
@io.swagger.annotations.ApiModelProperty(value="支付时间",name="paymentTime")


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxOrderPayExpVo.java Dosyayı Görüntüle

@@ -91,10 +91,12 @@ public class WxOrderPayExpVo extends WxOrder {
this.setCUserId(o.getCUserId());
this.setCouponChannelId(o.getCouponChannelId());
this.setProductId(o.getProductId());
this.setProductName(o.getProductName());
this.setType(o.getType());
this.setPayVendor(o.getPayVendor());
this.setPayVersion(o.getPayVersion());
this.setPaymentType(o.getPaymentType());
this.setMakeMerchantId(o.getMakeMerchantId());
this.setPayment(o.getPayment());
this.setPaymentTime(o.getPaymentTime());
this.setFreightPrice(o.getFreightPrice());


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxOrderPayVo.java Dosyayı Görüntüle

@@ -110,10 +110,12 @@ public class WxOrderPayVo extends WxOrder {
this.setCUserId(o.getCUserId());
this.setCouponChannelId(o.getCouponChannelId());
this.setProductId(o.getProductId());
this.setProductName(o.getProductName());
this.setType(o.getType());
this.setPayVendor(o.getPayVendor());
this.setPayVersion(o.getPayVersion());
this.setPaymentType(o.getPaymentType());
this.setMakeMerchantId(o.getMakeMerchantId());
this.setPayment(o.getPayment());
this.setPaymentTime(o.getPaymentTime());
this.setFreightPrice(o.getFreightPrice());


+ 1
- 1
mallinkService/src/main/java/com/iformall/enums/EnumOrderType.java Dosyayı Görüntüle

@@ -10,7 +10,7 @@ public enum EnumOrderType {
COUPON(0,"券"),
MICROPAY(1,"B收款码支付"),
NATIVEPAY(2,"C扫码支付"),
PREPAIDCARD(3, "储值卡"),
PREPAIDCARD(3, "储值卡支付"),
CREDIT(4,"积分支付"),
POSPAY(10, "POS支付")
;


+ 0
- 4
mallinkService/src/main/java/com/iformall/service/WxOrderService.java Dosyayı Görüntüle

@@ -250,10 +250,6 @@ public interface WxOrderService {
ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay,
TenantEntity tenantEntity,EnumPayVersion payVersion);
//平台推送订单,如抖音支付2.0
ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId,
EnumPayWay payWay,EnumPayVersion payVersion,TenantEntity tenantEntity);

void sendInsideOrderPushMsg(TenantEntity tenantEntity,Long composeOrderId);



+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxPayAccountService.java Dosyayı Görüntüle

@@ -2,6 +2,7 @@ package com.iformall.service;

import com.github.binarywang.wxpay.service.WxPayService;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxPayAccount;
import com.iformall.domain.po.WxProjectConfig;
import com.iformall.domain.po.base.TenantEntity;
@@ -26,6 +27,7 @@ public interface WxPayAccountService {
* @return
*/
WxPayAccount getById(Long id);
WxPayAccount getByIdFromRedis(Long id);
/**
* 保存或更新实体


+ 101
- 208
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Dosyayı Görüntüle

@@ -1120,8 +1120,12 @@ public class WxOrderServiceImpl implements WxOrderService {
* @return
*/
private boolean isCouponMerchantValid(Long couponId,TenantEntity tenantEntity) {
List<WxMerchantVo> merchantVoList = wxMerchantService.findMerchantListByProduct(tenantEntity,couponId,false);
if (merchantVoList.stream().anyMatch((cm -> cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))) {
WxCouponMerchant wxCouponMerchantQ = new WxCouponMerchant();
wxCouponMerchantQ.updateTenantInfo(tenantEntity);
wxCouponMerchantQ.setProductId(couponId);
wxCouponMerchantQ.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode());
Integer count = wxCouponMerchantMapper.selectCount(new QueryWrapper<>(wxCouponMerchantQ));
if(count > 0){
return true;
}
return false;
@@ -1183,6 +1187,7 @@ public class WxOrderServiceImpl implements WxOrderService {
record.setPayVendor(payWay.getCode());
record.setPayVersion(payVersion.getCode());
record.setProductId(user.getId());
record.setProductName(EnumOrderType.MICROPAY.getMessage());
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
record.setPayment(payment);
record.setTotalPayment(payment);
@@ -1255,6 +1260,7 @@ public class WxOrderServiceImpl implements WxOrderService {
record.setPayVendor(EnumPayWay.PAY_WAY_WECHAT_MA.getCode());
record.setPayVersion(EnumPayVersion.WX_PAY_V2.getCode());
record.setProductId(user.getId());
record.setProductName(EnumOrderType.MICROPAY.getMessage());
if (cUser != null) {
record.setCUserId(cUser.getId());
}
@@ -1296,11 +1302,8 @@ public class WxOrderServiceImpl implements WxOrderService {
order.setOrderType(EnumComposeOrder.SINGLE.getCode());
order.setCreateDate(new Date());
wxBatchOrderMapper.insert(order);
Long orderNumber = idWorker.nextId();

Long orderNumber = idWorker.nextId();
// body
// tenant_id + merchant_id + title + subtitle
String bodyStr = "["+payWay.getMessage()+"("+payWay.getCode()+")]C扫B储值卡支付, 金额:" + totalFeeStr;
@@ -1313,6 +1316,7 @@ public class WxOrderServiceImpl implements WxOrderService {
record.setPayVendor(EnumPayWay.PAY_WAY_PREPAIDCARD.getCode());
record.setPayVersion(EnumPayVersion.NO_VERSION.getCode());
record.setProductId(merchant.getId());
record.setProductName(EnumOrderType.PREPAIDCARD.getMessage());
record.setCUserId(cUserId);
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
record.setPayment(payment);
@@ -1883,11 +1887,13 @@ public class WxOrderServiceImpl implements WxOrderService {
record.updateTenantInfo(coupon);
record.setOrderNumber(orderNumber);
record.setProductId(couponId);
record.setProductName(coupon.getTitle());
record.setType(EnumOrderType.COUPON.getCode());
record.setPayVendor(payWay.getCode());
record.setPayVersion(payVersion.getCode());
record.setCUserId(user.getId());
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
record.setMakeMerchantId(coupon.getMakeMerchantId());
record.setPayment(payment);
record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode());
record.setDetail(bodyStr);
@@ -1959,9 +1965,11 @@ public class WxOrderServiceImpl implements WxOrderService {
record.updateTenantInfo(coupon);
record.setOrderNumber(orderNumber);
record.setProductId(couponId);
record.setProductName(coupon.getTitle());
record.setType(EnumOrderType.COUPON.getCode());
record.setPayVendor(EnumPayWay.PAY_WAY_NOT_UNPAY_GIFTLIST.getCode());
record.setPayVersion(EnumPayVersion.NO_VERSION.getCode());
record.setMakeMerchantId(coupon.getMakeMerchantId());
record.setCUserId(user.getId());
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
record.setPayment(coupon.getSalePrice());
@@ -2866,83 +2874,7 @@ public class WxOrderServiceImpl implements WxOrderService {
@Autowired
@Qualifier("cUserBasicInfoRedisTemplate")
RedisTemplate<String, WxCUserBasicInfo> cUserBasicInfoRedisTemplate;
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public WxComposeOrder savePlatPushOrderForCoupon(TenantEntity tenantEntity,boolean allowUnPayOrder,EnumComposeOrder composeOrderType,
WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay,EnumPayVersion payVersion) throws Exception {
WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy();
// 防止同一用户重复下单,1秒内
String key = new StringBuilder().append("savePlatPushOrder:").append(user.getId()).toString();
boolean hasKey = cUserBasicInfoRedisTemplate.hasKey(key);
if (hasKey) {
logger.error("用户正在下单,请求异常返回,user: {} " + JSON.toJSONString(user));
throw new MallinkException(ErrorCode.SYS_REPEAT_SUBMIT_EXCEPTION);
}
cUserBasicInfoRedisTemplate.opsForValue().set(key, user, 1000, TimeUnit.MILLISECONDS);

OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrderType.getCode());
//从这里开始,就需要锁住渠道的价格,不能修改
WxComposeOrder composeOrder = orderAdapterService.createDBMainOrderByPushOrder(tenantEntity,user, allExtParam,platPushOrderList, payWay,payVersion);
Date orderDate = new Date();
WxOrder lastOrder = null;
WxCoupon lastCoupon = null;
for (int i = 0 ; i < platPushOrderList.size(); i ++) {
PlatPushOrderSaveDto orderdto = platPushOrderList.get(i);
lastCoupon = orderdto.getWxCoupon();

Map<Long,WxCouponChannel> couponChannelMap = composeOrder.getCouponChannelMap();
Long couponChannelId = orderdto.getCouponChannelId();
WxCouponChannel couponChannel = couponChannelMap.get(couponChannelId);
orderdto.setWxCouponChannel(couponChannel);
//券一个数量创建一个订单
boolean isOneNumberOneOrder = orderAdapterService.isOneNumberOneOrder();
if (isOneNumberOneOrder) {
JSONArray jsonArray = new JSONArray();
if(StringUtils.isNotBlank(orderdto.getExtParam())){
logger.info("orderdto.getExtParam()---------------------------"+orderdto.getExtParam());
try{
jsonArray = JSONArray.parseArray(orderdto.getExtParam());
}catch(Exception e){
logger.error(e.getMessage());
}
}
for (int j = 0; j < orderdto.getCount(); j++) {
String extParam = "";
if(jsonArray != null && !jsonArray.isEmpty()){
extParam = jsonArray.get(j).toString();
}
logger.info("extParam---------------------------"+extParam);
lastOrder = proxy.handleSaveOrderForCouponSingle(orderDate,allowUnPayOrder,composeOrder, user, orderdto.getWxCoupon(), 1,
orderdto.isPress(),orderdto.getOrderGroupId(),orderdto.getFormId(),orderdto.getShippingType(),orderdto.getAddress(),extParam,
orderdto.getWxCouponChannel(), payWay,payVersion);
}
}else {
lastOrder = proxy.handleSaveOrderForCouponSingle(orderDate,allowUnPayOrder,composeOrder, user, orderdto.getWxCoupon(), orderdto.getCount(),
orderdto.isPress(),orderdto.getOrderGroupId(),orderdto.getFormId(),orderdto.getShippingType(),orderdto.getAddress(),orderdto.getExtParam(),
orderdto.getWxCouponChannel(), payWay,payVersion);
}
}
//如果没有orderId,则用lastOrder的信息
if (EnumComposeOrder.isSingle(composeOrderType.getCode())) {
composeOrder.setSingleOrder(lastOrder);
}
List<WxOrder> orderList = orderAdapterService.getChildOrders(composeOrder, tenantEntity.getTenantId());
WxPayOrder record = new WxPayOrder();
record.updateTenantInfo(tenantEntity);
record.setOrderId(composeOrder.getMainOrderId());
record.setComposeOrder(composeOrder.getComposeOrderType());
record.setOpenId((String) composeOrder.getMainOrder().getExpParamValue("open_id"));
String productName = orderAdapterService.getPayProductName(lastCoupon);
WxAppinfo cAppInfo = wxAppinfoService.getCAppInfo(tenantEntity, payWay.getPlat());
PayAdapterResult payResult = wxPayOrderService.createPayOrder(cAppInfo, user, record,composeOrder,orderList,productName, payWay, new PayExtraParam("openId",record.getOpenId()),false);
if(payResult.isSuccess()){
return composeOrder;
}else{
throw new Exception(payResult.getMsg());
}
}

@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public WxComposeOrder saveOrderForCoupon(TenantEntity tenantEntity,boolean allowUnPayOrder,EnumComposeOrder composeOrderType,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,
@@ -2964,11 +2896,6 @@ public class WxOrderServiceImpl implements WxOrderService {
WxOrder lastOrder = null;
for (int i = 0 ; i < orderSave.size(); i ++) {
OrderComposeSaveDto orderdto = orderSave.get(i);
Map<Long,WxCouponChannel> couponChannelMap = composeOrder.getCouponChannelMap();
Long couponChannelId = orderdto.getSignleOrder().getCouponChannelId();
WxCouponChannel couponChannel = couponChannelMap.get(couponChannelId);
orderdto.setWxCouponChannel(couponChannel);
//券一个数量创建一个订单
boolean isOneNumberOneOrder = orderAdapterService.isOneNumberOneOrder();
@@ -3290,8 +3217,10 @@ public class WxOrderServiceImpl implements WxOrderService {
record.updateTenantInfo(coupon);
record.setOrderNumber(record.getId());
record.setProductId(coupon.getId());
record.setProductName(coupon.getTitle());
record.setCUserId(user.getId());
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
record.setMakeMerchantId(coupon.getMakeMerchantId());
record.setDetail(bodyStr);
record.setCreateDate(curr);
record.setUpdateDate(curr);
@@ -3405,6 +3334,8 @@ public class WxOrderServiceImpl implements WxOrderService {
record.updateTenantInfo(coupon);
record.setOrderNumber(orderNumber);
record.setProductId(coupon.getId());
record.setProductName(coupon.getTitle());
record.setMakeMerchantId(coupon.getMakeMerchantId());
//record.setType(EnumOrderType.COUPON.getCode());
record.setCUserId(user.getId());
record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode());
@@ -3509,9 +3440,7 @@ public class WxOrderServiceImpl implements WxOrderService {
for ( int i =0 ; i< composeOrderSaveDto.size(); i++ ) {
OrderComposeSaveDto ocsd = composeOrderSaveDto.get(i);
WxCoupon coupon = singleOrderCheck(ocsd.getSignleOrder().getCouponChannelId(),ocsd.getSignleOrder().getOrderGroupId(),ocsd.getCount(),
wxCUserBasicInfo,payWay,tenantEntity,i+1,singleProduct);
ocsd.setWxCoupon(coupon);
singleOrderCheck(tenantEntity,wxCUserBasicInfo,ocsd,payWay,i+1,singleProduct);
}
WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy();
@@ -3534,51 +3463,6 @@ public class WxOrderServiceImpl implements WxOrderService {
}

}
@Override
public ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId,
EnumPayWay payWay,EnumPayVersion payVersion,TenantEntity tenantEntity) {
try {
if (null == platPushOrderList || platPushOrderList.size() <= 0 ) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息");
}
WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,tenantEntity.getFinalTenantId());
if (wxCUserBasicInfo != null && wxCUserBasicInfo.getStatus().equals(EnumCUserBasicInfoStatus.LOCKED.getCode())) {
logger.info("会员权益被锁定:cUserId:" + cUserId);
return new ResultData(ErrorCode.MEMBER_IS_LOCKED);
}
boolean singleProduct = false;
if (platPushOrderList.size() == 1) {
singleProduct = true;
}
for ( int i =0 ; i< platPushOrderList.size(); i++ ) {
PlatPushOrderSaveDto ocsd = platPushOrderList.get(i);
WxCoupon coupon = singleOrderCheck(ocsd.getCouponChannelId(),ocsd.getOrderGroupId(),ocsd.getCount(),wxCUserBasicInfo,payWay,tenantEntity,i+1,singleProduct);
ocsd.setWxCoupon(coupon);
}
WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy();
try {
WxComposeOrder order = proxy.savePlatPushOrderForCoupon(tenantEntity,allowUnPayOrder,composeOrderType,wxCUserBasicInfo, allExtParam,platPushOrderList, payWay,payVersion);
return new ResultData(order);
} catch (MallinkException e) {
logger.error("saveOrderForCoupon error.",e);
throw new MallinkException(e.getErrorCode(), e.getMessage());
} catch (Exception e) {
logger.error("saveOrderForCoupon error.",e);
throw new MallinkException(ErrorCode.ORDER_IS_FAIL.getCode(), e.getMessage());
}
}catch(MallinkException me) {
return new ResultData(me.getErrorCode(),me.getMessage());
}catch(Exception e) {
logger.error("composeSaveOrder error.",e);
return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage());
}

}

@Override
public void sendInsideOrderPushMsg(TenantEntity tenantEntity,Long composeOrderId) {
@@ -3725,11 +3609,11 @@ public class WxOrderServiceImpl implements WxOrderService {
@Override
public ResultData handlerPushOrder(TenantEntity tenantEntity, Long composeOrderId, String batchExtParam, List<CreateOrderCallback.Good> goods) {
WxBatchOrder wxBatchOrder = this.getWxBatchOrder(tenantEntity, composeOrderId);
if(wxBatchOrder == null){
if (wxBatchOrder == null) {
return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
}
WxPayOrder payOrder = wxPayOrderService.getById(composeOrderId, tenantEntity.getTenantId());
if(payOrder == null){
if (payOrder == null) {
return new ResultData(ErrorCode.PAY_ORDER_NOT_FOUND);
}
WxBatchOrder updBatchOrder = new WxBatchOrder();
@@ -3741,45 +3625,76 @@ public class WxOrderServiceImpl implements WxOrderService {

OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(wxBatchOrder.getOrderType());
WxComposeOrder composeOrder = orderAdapterService.getComposeOrder(wxBatchOrder.getId(), tenantEntity.getTenantId());
List<WxOrder> childOrders = orderAdapterService.getChildOrders(composeOrder, tenantEntity.getTenantId());
Map<Long, List<WxOrder>> collect = childOrders.stream().collect(groupingBy(WxOrder::getCouponChannelId));
Map<String, CreateOrderCallback.Good> maps = goods.stream().collect(Collectors.toMap(CreateOrderCallback.Good::getGoodsId, Function.identity()));
if(collect.keySet().size() == goods.size()){
List<Map<String,String>> order_goods_info = new ArrayList<>();
for (Long key: collect.keySet()) {
List<WxOrder> wxOrders = collect.get(key);
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectByChannelId(tenantEntity.getTenantId(),key);
CreateOrderCallback.Good good = maps.get(ttCouponChannelPoi.getSpuId());
if(EnumPayMchType.DIRECT.getCode().equals(payOrder.getMchType())){
Map<String,String> map_info = new HashMap<>();
map_info.put("goods_id",good.getGoodsId());
WxComposeChildOrderShare childOrderShare = payOrder.getChildOrderShare(wxOrders.get(0).getId());
map_info.put("merchant_uid",childOrderShare.getMerchantUid());
order_goods_info.add(map_info);
}
if(wxOrders.size() == good.getItemOrderInfoList().size()){
for(int i=0;i<wxOrders.size();i++){
WxOrder updOrder = new WxOrder();
updOrder.updateTenantInfo(tenantEntity);
updOrder.setId(wxOrders.get(i).getId());
updOrder.setExtParam(JSON.toJSONString(good.getItemOrderInfoList().get(i)));
wxOrderMapper.updateById(updOrder);
}
// }else if(wxOrders.size() == 1){
// WxOrder updOrder = new WxOrder();
// updOrder.updateTenantInfo(tenantEntity);
// updOrder.setId(wxOrders.get(0).getId());
// updOrder.setExtParam(JSON.toJSONString(good.getItemOrderInfoList()));
// wxOrderMapper.updateById(updOrder);
}else{
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(),"数据异常");
}

List<Map<String, String>> order_goods_info = new ArrayList<>();
if (goods.size() == 1) {
WxOrder singleOrder = composeOrder.getSingleOrder();
CreateOrderCallback.Good good = goods.get(0);

WxOrder updOrder = new WxOrder();
updOrder.updateTenantInfo(tenantEntity);
updOrder.setId(singleOrder.getId());
if (good.getItemOrderInfoList().size() == 1) {
updOrder.setExtParam(JSON.toJSONString(good.getItemOrderInfoList().get(0)));
} else {
updOrder.setExtParam(JSON.toJSONString(good.getItemOrderInfoList()));
}
wxOrderMapper.updateById(updOrder);

if (EnumPayMchType.DIRECT.getCode().equals(payOrder.getMchType())) {
Map<String, String> map_info = new HashMap<>();
map_info.put("goods_id", good.getGoodsId());
WxComposeChildOrderShare childOrderShare = payOrder.getChildOrderShare(singleOrder.getId());
map_info.put("merchant_uid", childOrderShare.getMerchantUid());
order_goods_info.add(map_info);
composeOrder.setExtParam(order_goods_info);
}
composeOrder.setExtParam(order_goods_info);
return new ResultData(composeOrder);
}else{
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(),"数据异常");
}
} else {
//todo 暂无多订单模式

}
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "数据异常");

// List<WxOrder> childOrders = orderAdapterService.getChildOrders(composeOrder, tenantEntity.getTenantId());
// Map<Long, List<WxOrder>> collect = childOrders.stream().collect(groupingBy(WxOrder::getCouponChannelId));
// Map<String, CreateOrderCallback.Good> maps = goods.stream().collect(Collectors.toMap(CreateOrderCallback.Good::getGoodsId, Function.identity()));
// if(collect.keySet().size() == goods.size()){
// List<Map<String,String>> order_goods_info = new ArrayList<>();
// for (Long key: collect.keySet()) {
// List<WxOrder> wxOrders = collect.get(key);
// TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectByChannelId(tenantEntity.getTenantId(),key);
// CreateOrderCallback.Good good = maps.get(ttCouponChannelPoi.getSpuId());
// if(EnumPayMchType.DIRECT.getCode().equals(payOrder.getMchType())){
// Map<String,String> map_info = new HashMap<>();
// map_info.put("goods_id",good.getGoodsId());
// WxComposeChildOrderShare childOrderShare = payOrder.getChildOrderShare(wxOrders.get(0).getId());
// map_info.put("merchant_uid",childOrderShare.getMerchantUid());
// order_goods_info.add(map_info);
// }
// if(wxOrders.size() == good.getItemOrderInfoList().size()){
// for(int i=0;i<wxOrders.size();i++){
// WxOrder updOrder = new WxOrder();
// updOrder.updateTenantInfo(tenantEntity);
// updOrder.setId(wxOrders.get(i).getId());
// updOrder.setExtParam(JSON.toJSONString(good.getItemOrderInfoList().get(i)));
// wxOrderMapper.updateById(updOrder);
// }
//// }else if(wxOrders.size() == 1){
//// WxOrder updOrder = new WxOrder();
//// updOrder.updateTenantInfo(tenantEntity);
//// updOrder.setId(wxOrders.get(0).getId());
//// updOrder.setExtParam(JSON.toJSONString(good.getItemOrderInfoList()));
//// wxOrderMapper.updateById(updOrder);
// }else{
// return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(),"数据异常");
// }
// }
// composeOrder.setExtParam(order_goods_info);
// return new ResultData(composeOrder);
// }else{
// return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(),"数据异常");
// }
}

private Map<Long,List<WxOrderCouponVo>> getBatchOrderMap(TenantEntity tenantEntity,List<Long> batchOrderIds){
@@ -3803,13 +3718,15 @@ public class WxOrderServiceImpl implements WxOrderService {
// }
private WxCoupon singleOrderCheck(Long couponChannelId,Long orderGroupId,int productCount,WxCUserBasicInfo wxCUserBasicInfo,EnumPayWay payWay,TenantEntity tenantEntity,int curindex,boolean singleProduct) {
private WxCoupon singleOrderCheck(TenantEntity tenantEntity,WxCUserBasicInfo wxCUserBasicInfo,OrderComposeSaveDto orderComposeSaveDto,EnumPayWay payWay,int curindex,boolean singleProduct) {

String premsg = "";
if (singleProduct) {
premsg = "此券";
}else {
premsg = "第["+curindex+"]张券";
}
Long couponChannelId = orderComposeSaveDto.getSignleOrder().getCouponChannelId();
if (couponChannelId == null) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), premsg+"couponChannelId不能为空");
}
@@ -3822,6 +3739,7 @@ public class WxOrderServiceImpl implements WxOrderService {
premsg = premsg+"【"+wxCouponChannel.getTitle()+"】";
}
couponChannelCheck(wxCouponChannel,premsg);
orderComposeSaveDto.setWxCouponChannel(wxCouponChannel);

WxCoupon coupon = wxCouponService.getById(wxCouponChannel.getCouponId(),wxCouponChannel.getTenantId());
if (null == coupon) {
@@ -3831,6 +3749,8 @@ public class WxOrderServiceImpl implements WxOrderService {
if (coupon.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode())) {
throw new MallinkException(ErrorCode.COUPON_IS_TAKE_OFF.getCode(),premsg+"已作废");
}
orderComposeSaveDto.getSignleOrder().setCouponId(coupon.getId());
orderComposeSaveDto.setWxCoupon(coupon);
//判断是否是拼团订单,如果是拼团订单,判断现在进行中的,和已完成的数量是否超出券的限制
if (coupon.getType().equals(EnumCouponType.COUPON_GROUP.getCode())) {
@@ -3840,27 +3760,6 @@ public class WxOrderServiceImpl implements WxOrderService {
}
}

WxCouponCVo wxCouponCVo = null;

String key = "cc:" + couponChannelId;
ValueOperations<String, WxCouponCVo> operations = cdRedisTemplate.opsForValue();
// 缓存
boolean hasKey = cdRedisTemplate.hasKey(key);
if (hasKey) {
// 从缓存获取用户信息
wxCouponCVo = operations.get(key);
} else {
// 游戏没有入缓存,需要从数据库中读取
wxCouponCVo = wxCouponChannelService.findDetailVo(couponChannelId,wxCouponChannel.getTenantId(),false);
if (wxCouponCVo != null) {
// 游戏优化,进缓存
cdRedisTemplate.opsForValue().set(key, wxCouponCVo, 3600, TimeUnit.SECONDS);
}
}
if (wxCouponCVo == null) {
throw new MallinkException(ErrorCode.COUPON_IS_EMPTY.getCode(),premsg+"未查询到详细信息.");
}

//如果couponChannel设置了库存锁定,则订单需要走那个库存
if (null != wxCouponChannel.getChannelStock()) {
boolean hascache = redisLock.hasCouponChannelStockCache(wxCouponChannel.getId());
@@ -3885,15 +3784,15 @@ public class WxOrderServiceImpl implements WxOrderService {
}else {
//此处判断是否存在绝对保证库存不超卖的缓存,如果没有,则把当前的库存设置为最大值。如果有,则是后台设置的时候保存的,以那个为准。
boolean hascache = redisLock.hasCouponStockCache(wxCouponCVo.getCouponId());
boolean hascache = redisLock.hasCouponStockCache(coupon.getCouponId());
if (!hascache) {
long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
String timeStr = String.valueOf(time);
boolean stocksetlock = redisLock.lock("couponLockStockSetByOrder_"+coupon.getId(), timeStr);
if (stocksetlock) {
try {
if (!redisLock.hasCouponStockCache(wxCouponCVo.getCouponId())) {
redisLock.setCouponStock(wxCouponCVo.getCouponId(), coupon.getRemainInventory());
if (!redisLock.hasCouponStockCache(coupon.getCouponId())) {
redisLock.setCouponStock(coupon.getCouponId(), coupon.getRemainInventory());
}
}catch(Exception e) {
logger.error("save order stock cache error.",e);
@@ -3905,14 +3804,8 @@ public class WxOrderServiceImpl implements WxOrderService {
}
}
}
couponUserCheck(wxCUserBasicInfo, wxCouponCVo,premsg);

Long couponId = wxCouponChannel.getCouponId();
if (couponId == null) {
logger.error("couponChannelId或者couponId不能为空");
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), premsg+"couponChannelId或者couponId不能为空");
}
couponUserCheck(wxCUserBasicInfo, coupon,premsg);
userCouponMerchantCheck(wxCUserBasicInfo, coupon,wxCouponChannel,premsg);
if (coupon.checkIsCreditCoupon()) {
@@ -3921,7 +3814,7 @@ public class WxOrderServiceImpl implements WxOrderService {
throw new MallinkException(ErrorCode.CREDIT_NOT_ENOUGH.getCode(), premsg+"积分不够扣减值");
}
}
Long orderGroupId = orderComposeSaveDto.getSignleOrder().getOrderGroupId();
if (!checkCouponIsFree(coupon,wxCouponChannel,null)) {
// 有价,拼团检查
if (isOrderGroup(orderGroupId)) {
@@ -3951,7 +3844,7 @@ public class WxOrderServiceImpl implements WxOrderService {
}
}

private void couponUserCheck(WxCUserBasicInfo user, WxCouponCVo coupon,String premsg) {
private void couponUserCheck(WxCUserBasicInfo user, WxCoupon coupon,String premsg) {
if (coupon.getConditions() == null) return ;
JSONObject jo = null;
try {


+ 30
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxPayAccountServiceImpl.java Dosyayı Görüntüle

@@ -12,10 +12,14 @@ import com.iformall.enums.EnumPayWay;
import com.iformall.mapper.WxPayAccountMapper;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxPayAccountService;
import com.iformall.utils.Constant;
import com.iformall.utils.MaUtil;
import com.iformall.utils.RedisCacheUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import com.iformall.common.IdWorker;

@@ -28,6 +32,10 @@ public class WxPayAccountServiceImpl implements WxPayAccountService {

@Autowired
WxAppinfoService wxAppinfoService;

@Autowired
@Qualifier("objectCommonRedisTemplate")
RedisTemplate<String, Object> wxPayAccountRedisTemplate;
@Autowired
MaUtil maUtil;
@@ -42,6 +50,20 @@ public class WxPayAccountServiceImpl implements WxPayAccountService {
return wxPayAccountMapper.selectById(id);
}

@Override
public WxPayAccount getByIdFromRedis(Long id) {
WxPayAccount record = null;
String key = Constant.payaccountPrev + id;
record = RedisCacheUtils.getCacheObject(wxPayAccountRedisTemplate, key, WxPayAccount.class);
if (null == record) {
record = this.getById(id);
if(record != null){
RedisCacheUtils.cache(wxPayAccountRedisTemplate, key, record, 3600*24*7);
}
}
return record;
}

@Override
public void saveOrUpdate(WxPayAccount record) {
if (record.getId() == null) {
@@ -52,11 +74,13 @@ public class WxPayAccountServiceImpl implements WxPayAccountService {
} else {
wxPayAccountMapper.updateById(record);
}
deleteRedis(record.getId());
}

@Override
public void deleteById(Long id) {
wxPayAccountMapper.deleteById(id);
deleteRedis(id);
}

@Override
@@ -70,6 +94,11 @@ public class WxPayAccountServiceImpl implements WxPayAccountService {
return null;
}

private void deleteRedis(Long id){
String key1 = Constant.payaccountPrev + id;
RedisCacheUtils.removeCache(wxPayAccountRedisTemplate, key1);
}

@Override
public WxPayService getWxPayService(String tenantId) {
TenantEntity tenantEntity = new TenantEntity();
@@ -85,4 +114,5 @@ public class WxPayAccountServiceImpl implements WxPayAccountService {
}



}

+ 1
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java Dosyayı Görüntüle

@@ -428,14 +428,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {
record.setComposeOrder(composeOrder.getComposeOrderType());
//设置子订单分账金额
Map<String,WxComposeChildOrderShare> childShares = new HashMap<String,WxComposeChildOrderShare>();
OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrder.getComposeOrderType());
List<WxOrder> orderList = orderAdapterService.getChildOrders(composeOrder, appInfo.getTenantId());
if(orderList == null || orderList.isEmpty()){
logger.error("getChildOrders null" + record.toString());
throw new MallinkException(ErrorCode.PAY_ORDER_ERROR);
}

for (WxOrder o : orderList) {
for (WxOrder o : childOrders) {
Long merchant_id = null;
String merchant_uid = "";
if(EnumPayMchType.DIRECT.equals(payMchType)){//直连模式记录收款商户


+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java Dosyayı Görüntüle

@@ -205,6 +205,7 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService {
updApp.updateTenantInfo(appinfo);
updApp.setId(appinfo.getId());
updApp.setPayId(wxPayAccount.getId());
wxAppinfoService.saveOrUpdate(updApp);
}
}



+ 1
- 4
mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java Dosyayı Görüntüle

@@ -21,10 +21,7 @@ public interface OrderAdapterService {
WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay,EnumPayVersion payVersion);
WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,EnumPayWay payWay,EnumPayVersion payVersion);
//第三方平台推送过来的订单
WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay,EnumPayVersion payVersion);

/**
* 获取支付时商品名称,供服务商API使用
* @param lastCoupon


+ 0
- 4
mallinkService/src/main/java/com/iformall/service/order/entity/WxComposeOrder.java Dosyayı Görüntüle

@@ -34,10 +34,6 @@ public class WxComposeOrder extends TenantEntity{
private WxOrder singleOrder;//单个模式时不用重复查询
private WxBatchOrder mainOrder;//真正的主订单对象,批量下单时才有
private Map<Long,WxCouponChannel> couponChannelMap;

private Map<Long,WxCoupon> couponMap;

private List<Map<String,String>> extParam;//处理其他返回参数


+ 1
- 8
mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java Dosyayı Görüntüle

@@ -50,14 +50,7 @@ public class SingleOrderAdapterService extends BaseBatchOrderAdapterService {
@Override
public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment,
EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrder(tenantEntity,user, payment,null, payWay,payVersion, EnumComposeOrder.SINGLE,null,null);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override
public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam,
List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay,payVersion, EnumComposeOrder.SINGLE);
return super.createDBMainOrder(tenantEntity,user, payment,null, payWay,payVersion, EnumComposeOrder.SINGLE);
}
@Override


+ 13
- 46
mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java Dosyayı Görüntüle

@@ -80,55 +80,28 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay,EnumPayVersion payVersion,EnumComposeOrder composeOrderType) {
int payment = 0;
Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>();
Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>();
for (OrderComposeSaveDto ocsd : orderSave) {
WxCouponChannel wxCouponChannel = wxCouponChannelService.getById(ocsd.getSignleOrder().getCouponChannelId(),tenantEntity.getTenantId());
if (null == wxCouponChannel) {
throw new MallinkException(ErrorCode.MSG_INSIDE_ERROR.getCode(),"渠道不存在:"+ocsd.getSignleOrder().getCouponChannelId());
}
WxCouponChannel wxCouponChannel = ocsd.getWxCouponChannel();
WxCoupon wxCoupon = ocsd.getWxCoupon();
boolean isPress = ocsd.getSignleOrder().isPressOrder();
WxComposeChildOrderPrice price = getChildCouponOrderPrice(ocsd,ocsd.getWxCoupon(),wxCouponChannel, isPress, ocsd.getSignleOrder().getOrderGroupId(), ocsd.getCount());
WxComposeChildOrderPrice price = getChildCouponOrderPrice(ocsd,wxCoupon,wxCouponChannel, isPress, ocsd.getSignleOrder().getOrderGroupId(), ocsd.getCount());
payment = payment+price.getRealPayMent();
couponMap.put(ocsd.getWxCoupon().getId(),ocsd.getWxCoupon());
couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel);
}
return createDBMainOrder(tenantEntity, user, payment, null,payWay,payVersion, composeOrderType,couponChannelMap,couponMap);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay,
EnumPayVersion payVersion,EnumComposeOrder composeOrderType) {
int payment = 0;
Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>();
Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>();
for (PlatPushOrderSaveDto ocsd : platPushOrderList) {
WxCouponChannel wxCouponChannel = wxCouponChannelService.getById(ocsd.getCouponChannelId(),tenantEntity.getTenantId());
if (null == wxCouponChannel) {
throw new MallinkException(ErrorCode.MSG_INSIDE_ERROR.getCode(),"渠道不存在:"+ocsd.getCouponChannelId());
}
boolean isPress = ocsd.isPress();
WxComposeChildOrderPrice price = getChildCouponOrderPrice(ocsd.getShippingType(),ocsd.getWxCoupon(),wxCouponChannel, isPress, ocsd.getOrderGroupId(), ocsd.getCount());
payment = payment+price.getRealPayMent();
couponMap.put(ocsd.getWxCoupon().getId(),ocsd.getWxCoupon());
couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel);
}
return createDBMainOrder(tenantEntity, user, payment, allExtParam,payWay,payVersion, composeOrderType,couponChannelMap,couponMap);
return createDBMainOrder(tenantEntity, user, payment, null,payWay,payVersion, composeOrderType);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,String allExtParam,EnumPayWay payWay,EnumPayVersion payVersion,
EnumComposeOrder composeOrderType,Map<Long,WxCouponChannel> couponChannelMap,Map<Long,WxCoupon> couponMap) {
EnumComposeOrder composeOrderType) {
//判断是否poi订单
Integer isTtPoiOrder = null;
try{
if(EnumPayWay.PAY_WAY_TT.equals(payWay) && isTtPoiOrder(tenantEntity,couponChannelMap)){
isTtPoiOrder = EnumYesOrNo.YES.getCode();
}
}catch(Exception e){
}
// Integer isTtPoiOrder = null;
// try{
// if(EnumPayWay.PAY_WAY_TT.equals(payWay) && isTtPoiOrder(tenantEntity,couponChannelMap)){
// isTtPoiOrder = EnumYesOrNo.YES.getCode();
// }
// }catch(Exception e){
// }

WxBatchOrder order =new WxBatchOrder();
final IdWorker idWorker = IdWorker.get();
@@ -139,19 +112,13 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic
order.setPayVendor(payWay.getCode());
order.setPayVersion(payVersion.getCode());
order.setOrderType(composeOrderType.getCode());
order.setIsTtPoiOrder(isTtPoiOrder);
// order.setIsTtPoiOrder(isTtPoiOrder);
order.setCreateDate(new Date());
order.setExtParam(allExtParam);
wxBatchOrderMapper.insert(order);
WxComposeOrder composeOrder = new WxComposeOrder(order.getId(), composeOrderType.getCode(), payment);
composeOrder.setMainOrder(order);
composeOrder.updateTenantInfo(tenantEntity);
if (null != couponChannelMap) {
composeOrder.setCouponChannelMap(couponChannelMap);
}
if (null != couponMap){
composeOrder.setCouponMap(couponMap);
}
return composeOrder;
}



+ 1
- 8
mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java Dosyayı Görüntüle

@@ -39,14 +39,7 @@ public class CouponPackageOrderAdapterService extends BaseBatchOrderAdapterServi
@Override
public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment,
EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrder(tenantEntity, user, payment,null, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON,null,null);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override
public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam,
List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON);
return super.createDBMainOrder(tenantEntity, user, payment,null, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON);
}

@Override


+ 8
- 10
mallinkService/src/main/java/com/iformall/service/order/impl/batch/MulityNumberOneOrderBatchOrderAdapterService.java Dosyayı Görüntüle

@@ -1,6 +1,7 @@
package com.iformall.service.order.impl.batch;


import java.util.ArrayList;
import java.util.List;

import com.iformall.domain.po.*;
@@ -41,21 +42,14 @@ public class MulityNumberOneOrderBatchOrderAdapterService extends BaseBatchOrder
@Override
public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment,
EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrder(tenantEntity,user, payment, null, payWay,payVersion, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH,null,null);
return super.createDBMainOrder(tenantEntity,user, payment, null, payWay,payVersion, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH);
}

@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override
public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam,
List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay,payVersion, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH);
}
@Override
public WxComposeOrder getComposeOrder(Long mainOrderId, String tenantId) {
WxComposeOrder composeOrder = super.getComposeOrder(mainOrderId, tenantId, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH);
List<WxOrder> orders = super.getChildOrders(composeOrder, tenantId, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH);
//todo 目前只有单订单
if (null != orders && orders.size() > 0 ) {
composeOrder.setSingleOrder(orders.get(0));
}
@@ -64,7 +58,11 @@ public class MulityNumberOneOrderBatchOrderAdapterService extends BaseBatchOrder

@Override
public List<WxOrder> getChildOrders(WxComposeOrder composeOrder, String tenantId) {
return super.getChildOrders(composeOrder, tenantId, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH);
//todo 目前只有单订单
List<WxOrder> childOrders = new ArrayList<WxOrder>();
childOrders.add(composeOrder.getSingleOrder());
return childOrders;
// return super.getChildOrders(composeOrder, tenantId, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH);
}

@Override


+ 1
- 8
mallinkService/src/main/java/com/iformall/service/order/impl/batch/OneNumberOneOrderBatchOrderAdapterService.java Dosyayı Görüntüle

@@ -40,14 +40,7 @@ public class OneNumberOneOrderBatchOrderAdapterService extends BaseBatchOrderAda
@Override
public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment,
EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrder(tenantEntity,user, payment, null,payWay,payVersion, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,null,null);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override
public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam,
List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) {
return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay,payVersion, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH);
return super.createDBMainOrder(tenantEntity,user, payment, null,payWay,payVersion, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH);
}

@Override


+ 1
- 0
mallinkService/src/main/java/com/iformall/utils/Constant.java Dosyayı Görüntüle

@@ -97,6 +97,7 @@ public class Constant {

//获取mall信息
public static final String appinfoPrev = "appinfo:";
public static final String payaccountPrev = "payaccount:";
public static final String mallinfoPrev = "mallinfo:";
public static final String subMallinfoPrev = "mallinfo:subMallinfo:";



+ 5
- 3
mallinkService/src/main/resources/mapper/WxOrderMapper.xml Dosyayı Görüntüle

@@ -9,10 +9,12 @@
<result column="c_user_id" jdbcType="BIGINT" property="cUserId"/>
<result column="coupon_channel_id" jdbcType="BIGINT" property="couponChannelId"/>
<result column="product_id" jdbcType="BIGINT" property="productId"/>
<result column="product_name" jdbcType="VARCHAR" property="productName"/>
<result column="type" jdbcType="TINYINT" property="type"/>
<result column="pay_vendor" jdbcType="TINYINT" property="payVendor" />
<result column="pay_version" jdbcType="INTEGER" property="payVersion" />
<result column="payment_type" jdbcType="INTEGER" property="paymentType"/>
<result column="make_merchant_id" jdbcType="BIGINT" property="makeMerchantId"/>
<result column="payment" jdbcType="INTEGER" property="payment"/>
<result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/>
<result column="freight_price" jdbcType="INTEGER" property="freightPrice"/>
@@ -38,7 +40,7 @@
</resultMap>

<sql id="allColumns">
`id`,`order_number`,`tenant_id`,`parent_tenant_id`,`c_user_id`,`coupon_channel_id`,`product_id`,`type`,`pay_vendor`,`pay_version`,`payment_type`,`payment`,`payment_time`,`freight_price`,`order_status`,`cps_status`,`create_date`,`update_date`,`detail`,`ref_detail`,
`id`,`order_number`,`tenant_id`,`parent_tenant_id`,`c_user_id`,`coupon_channel_id`,`product_id`,`product_name`,`type`,`pay_vendor`,`pay_version`,`make_merchant_id`,`payment_type`,`payment`,`payment_time`,`freight_price`,`order_status`,`cps_status`,`create_date`,`update_date`,`detail`,`ref_detail`,
`press_end_date`,`press_current_num`,`press_current_value`,`order_group_id`,`form_id`,`total_payment`,`compose_order_id`,`coupon_number`,`compose_order_type`,`shipping_type`,`shipping_address`,`parent_order_id`,`ext_param`
</sql>

@@ -333,7 +335,7 @@
<select id="findListOfCUser" parameterType="com.iformall.domain.po.WxOrder" resultMap="BaseResultMap">
select
o.id,o.order_number,o.tenant_id,o.parent_tenant_id,o.c_user_id,o.coupon_channel_id,o.product_id,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date,
o.id,o.order_number,o.tenant_id,o.parent_tenant_id,o.c_user_id,o.coupon_channel_id,o.product_id,o.product_name,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date,
o.compose_order_type,o.compose_order_id,o.`coupon_number`,o.`freight_price`,o.`shipping_type`,o.`shipping_address`,o.parent_order_id,o.ext_param
from wx_order o
@@ -370,7 +372,7 @@
<select id="selectDetailOfCUser" parameterType="com.iformall.domain.po.WxOrder" resultMap="BaseResultMap">
select
o.id,o.order_number,o.tenant_id,o.parent_tenant_id,o.c_user_id,o.coupon_channel_id,o.product_id,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date,
o.id,o.order_number,o.tenant_id,o.parent_tenant_id,o.c_user_id,o.coupon_channel_id,o.product_id,o.product_name,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date,
o.compose_order_type,o.compose_order_id,o.parent_order_id,o.`coupon_number`,o.`freight_price`,o.`shipping_type`,o.`shipping_address`,o.ext_param
FROM wx_order o where o.`tenant_id` = #{tenantId}
<if test="cUserId != null">


Yükleniyor…
İptal
Kaydet