Просмотр исходного кода

Merge branch 'test' into dev

# Conflicts:
#	src/main/resources/bootstrap.yml
Ritchie 2 лет назад
Родитель
Сommit
b67dcf81fb

+ 1 - 1
src/main/java/com/szwl/constant/HuifuConstant.java

@@ -70,7 +70,7 @@ public class HuifuConstant {
      * 跳转链接
      */
     public final static String JUMP_URL = "http://szwlh.sunzee.com.cn/shenze";
-//    public final static String JUMP_URL = ""http://szwltest.sunzee.com.cn/shenze";
+//    public final static String JUMP_URL = "http://szwltest.sunzee.com.cn/shenze";
 
 
     /**

+ 1 - 1
src/main/java/com/szwl/model/utils/JoinpayConstant.java

@@ -1,4 +1,4 @@
-package com.szwl.model.utils;
+package com.szwl.constant;
 
 import java.util.HashMap;
 import java.util.Map;

+ 24 - 2
src/main/java/com/szwl/controller/AirwallexPayController.java

@@ -9,13 +9,17 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.szwl.common.AccessTokenCommon;
 import com.szwl.constant.AirwallexConstant;
+import com.szwl.feign.bean.SzwlFeign;
 import com.szwl.model.bean.PaymentIntentRequestBody;
 import com.szwl.model.bean.RefundRequestBody;
+import com.szwl.model.bo.JsonMessage;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.dto.*;
+import com.szwl.model.entity.TAdmin;
 import com.szwl.model.entity.TAirwallexPayment;
 import com.szwl.model.entity.TCoinOrder;
+import com.szwl.model.entity.TEquipment;
 import com.szwl.model.utils.AccessTokenThreadUtil;
 import com.szwl.service.*;
 import io.swagger.annotations.Api;
@@ -48,11 +52,14 @@ public class AirwallexPayController {
 
     TAirwallexPaymentService tAirwallexPaymentService;
 
-    public AirwallexPayController(TAdminService tAdminService, AirwallexService airwallexService, TCoinOrderService tCoinOrderService, TAirwallexPaymentService tAirwallexPaymentService) {
+    SzwlFeign szwlFeign;
+
+    public AirwallexPayController(TAdminService tAdminService, AirwallexService airwallexService, TCoinOrderService tCoinOrderService, TAirwallexPaymentService tAirwallexPaymentService, SzwlFeign szwlFeign) {
         this.tAdminService = tAdminService;
         this.airwallexService = airwallexService;
         this.tCoinOrderService = tCoinOrderService;
         this.tAirwallexPaymentService = tAirwallexPaymentService;
+        this.szwlFeign = szwlFeign;
     }
 
     @ApiOperation(value = "创建收款人")
@@ -107,6 +114,7 @@ public class AirwallexPayController {
 
     /**
      * 创建付款意向 - 消费者发起
+     *
      * @param paymentIntentRequestBody
      * @return
      */
@@ -136,6 +144,19 @@ public class AirwallexPayController {
         String productName = paymentIntentRequestBody.getProductName();
         String clientId = paymentIntentRequestBody.getClientId();
         Long equipmentId = paymentIntentRequestBody.getEquipmentId();
+
+        // 七云还是申泽
+        TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(clientId));
+//        System.out.println("设备信息:>>> " + equipment);
+        String machineType = equipment.getMachineType(); // 设备类型
+        Long adminId = equipment.getAdminId();
+        if (adminId == null) {
+            return R.fail("找不到设备商家");
+        }
+        TAdmin byId = tAdminService.getById(adminId);
+        String companyType = byId.getCompanyType(); // 公司类型
+
+
         // 创建订单
         TCoinOrder tCoinOrder = new TCoinOrder();
         tCoinOrder.setAmount(amount);
@@ -149,6 +170,8 @@ public class AirwallexPayController {
         // 设置订单支付状态,0未支付,1已支付,3已退款。
         tCoinOrder.setStatus("0");
         tCoinOrder.setIsAir("1");
+        tCoinOrder.setMachineType(machineType);
+        tCoinOrder.setCompanyType(companyType);
 
         // 返回payment intent id和client secret
         Map<String, Object> responseMap = airwallexService.caPaymentIntent(amount, currency, requestId, merchantOrderId);
@@ -415,7 +438,6 @@ public class AirwallexPayController {
 //        }
 
 
-
         // 返回 payment_id
         return R.ok(paymentId);
     }

+ 4 - 3
src/main/java/com/szwl/controller/TCoinOrderController.java

@@ -1,9 +1,9 @@
 package com.szwl.controller;
 
 
-import org.springframework.web.bind.annotation.*;
-
+import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
@@ -11,10 +11,11 @@ import org.springframework.web.bind.annotation.*;
  * </p>
  *
  * @author wuhs
- * @since 2023-08-10
+ * @since 2023-08-28
  */
 @RestController
 @RequestMapping("/tCoinOrder")
 public class TCoinOrderController {
+
 }
 

+ 109 - 21
src/main/java/com/szwl/controller/TOrderController.java

@@ -15,6 +15,7 @@ import com.google.zxing.client.j2se.MatrixToImageWriter;
 import com.google.zxing.common.BitMatrix;
 import com.google.zxing.qrcode.QRCodeWriter;
 import com.szwl.constant.HuifuConstant;
+import com.szwl.constant.JoinpayConstant;
 import com.szwl.constant.ResponseCodesEnum;
 import com.szwl.exception.BizException;
 import com.szwl.feign.bean.OrderFeign;
@@ -80,7 +81,7 @@ public class TOrderController {
     TShandeMchService shandeMchService;
 
     @Autowired
-    private THuifuMchService huifuMchService;
+    THuifuMchService huifuMchService;
 
     @Autowired
     TEquipmentService equipmentService;
@@ -277,6 +278,7 @@ public class TOrderController {
         order.setType(admin.getType());
         order.setProductNumber(productNumber);
         order.setCompanyType(admin.getCompanyType());
+        order.setMachineType(equipment.getMachineType());
         if(admin.getType()==0){
             order.setAdminProportion(proportion.getAdminProportion());
             order.setAgencyProportion(proportion.getAgencyProportion());
@@ -314,9 +316,10 @@ public class TOrderController {
         orderDetails.setAmount(price);
         orderDetails.setRefundStatus("0");
         orderDetails.setCompanyType(admin.getCompanyType());
+        orderDetails.setMachineType(equipment.getMachineType());
 
-//        String client6 = clientId.substring(clientId.length() - 6, clientId.length());
-//        productName = productName + "-" + equipment.getName() + "-" + client6;
+        String client6 = clientId.substring(clientId.length() - 6);
+        String productName1 = productName + "-" + equipment.getName() + "-" + client6;
         String result = null;
         if(StringUtils.isNotEmpty(payPlatform)&&payPlatform.equals("1")){
             // 汇付分账参数
@@ -340,7 +343,7 @@ public class TOrderController {
             // 汇付支付
             try {
                 result = huifuMchService.uniPay(
-                        orderNo, amount, productName, productDesc,
+                        orderNo, amount, productName1, productDesc,
                         notifyUrl, frpCode, openId, appid, acctSplitBunch
                 );
             } catch (Exception e) {
@@ -360,7 +363,7 @@ public class TOrderController {
         }else{
             try {
                 result = joinpayMchService.uniPay(
-                        orderNo, amount, productName, productDesc,
+                        orderNo, amount, productName1, productDesc,
                         commonParameter, returnUrl, notifyUrl, frpCode,
                         isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo,
                         buyerId, isAlt, altType, altInfo, altUrl, marketingAmount
@@ -536,6 +539,7 @@ public class TOrderController {
         order.setType(admin.getType());
         order.setProductNumber(productNumber);
         order.setCompanyType(admin.getCompanyType());
+        order.setMachineType(equipment.getMachineType());
         if(admin.getType()==0){
             order.setAdminProportion(proportion.getAdminProportion());
             order.setAgencyProportion(proportion.getAgencyProportion());
@@ -576,15 +580,16 @@ public class TOrderController {
         orderDetails.setAmount(price);
         orderDetails.setRefundStatus("0");
         orderDetails.setCompanyType(admin.getCompanyType());
+        orderDetails.setMachineType(equipment.getMachineType());
 
-//        String client6 = clientId.substring(clientId.length() - 6, clientId.length());
-//        productName = productName + "-" + equipment.getName() + "-" + client6;
+        String client6 = clientId.substring(clientId.length() - 6);
+        String productName1 = productName + "-" + equipment.getName() + "-" + client6;
         String result = null;
         if(StringUtils.isNotEmpty(payPlatform)&&payPlatform.equals("1")){
             order.setAcctSplitBunch(acctSplitBunch.toString());
             try {
                 result = huifuMchService.cardPay(
-                        orderNo, amount, productName, notifyUrl, authCode,  acctSplitBunch
+                        orderNo, amount, productName1, notifyUrl, authCode,  acctSplitBunch
                 );
             } catch (Exception e) {
                 e.printStackTrace();
@@ -602,7 +607,7 @@ public class TOrderController {
         }else{
             try {
                 result = joinpayMchService.uniPay(
-                        orderNo, amount, productName, productDesc,
+                        orderNo, amount, productName1, productDesc,
                         commonParameter, returnUrl, notifyUrl, frpCode,
                         isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo,
                         buyerId, isAlt, altType, altInfo, altUrl, marketingAmount
@@ -612,7 +617,8 @@ public class TOrderController {
                 return JsonMessage.error("申请支付失败");
             }
             JSONObject resultJson = JSONObject.parseObject(result);
-            if(resultJson.getString("ra_Code").equals("100")){
+            String raCode = resultJson.getString("ra_Code");
+            if(raCode.equals("100") || raCode.equals("102")){
                 orderService.save(order);
                 orderDetailsService.save(orderDetails);
                 JSONObject kindData = new JSONObject();
@@ -771,6 +777,7 @@ public class TOrderController {
         order.setStatus(0);
         order.setType(admin.getType());
         order.setCompanyType(admin.getCompanyType());
+        order.setMachineType(equipment.getMachineType());
         if(admin.getType()==0){
             order.setAdminProportion(proportion.getAdminProportion());
             order.setAgencyProportion(proportion.getAgencyProportion());
@@ -813,6 +820,7 @@ public class TOrderController {
         order2.setStatus(0);
         order2.setPayPlatform(payPlatform);
         order2.setCompanyType(admin.getCompanyType());
+        order2.setMachineType(equipment.getMachineType());
         if(StringUtils.isNotEmpty(payPlatform)&&payPlatform.equals("1")){
             order2.setIsSettlement("0");
         }
@@ -828,9 +836,10 @@ public class TOrderController {
         orderDetails.setAmount(price);
         orderDetails.setCompanyType(admin.getCompanyType());
         orderDetails.setRefundStatus("0");
+        orderDetails.setMachineType(equipment.getMachineType());
 
-//        String client6 = clientId.substring(clientId.length() - 6, clientId.length());
-//        productName = productName + "-" + equipment.getName() + "-" + client6;
+        String client6 = clientId.substring(clientId.length() - 6);
+        String productName1 = productName + "-" + equipment.getName() + "-" + client6;
         String result = null;
         if(StringUtils.isNotEmpty(payPlatform)&&payPlatform.equals("1")){
             // 汇付分账参数
@@ -847,7 +856,7 @@ public class TOrderController {
             // 支付宝
             try {
                 result = huifuMchService.uniPay(
-                        sn2, amount, productName, productDesc,
+                        sn2, amount, productName1, productDesc,
                         notifyUrl, frpCode2, openId, appid, acctSplitBunch
                 );
             } catch (Exception e) {
@@ -871,7 +880,7 @@ public class TOrderController {
         }else{
             try {
                 result = joinpayMchService.uniPay(
-                        orderNo1, amount, productName, productDesc,
+                        orderNo1, amount, productName1, productDesc,
                         commonParameter, returnUrl, notifyUrl, frpCode1,
                         isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo,
                         buyerId, isAlt, altType, altInfo, altUrl, marketingAmount
@@ -885,7 +894,7 @@ public class TOrderController {
             String result1 = null;
             try {
                 result1 = joinpayMchService.uniPay(
-                        orderNo2, amount, productName, productDesc,
+                        orderNo2, amount, productName1, productDesc,
                         commonParameter, returnUrl, notifyUrl, frpCode2,
                         isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo,
                         buyerId, isAlt, altType, altInfo, altUrl, marketingAmount
@@ -915,6 +924,7 @@ public class TOrderController {
         }
 
     }
+
     @ApiOperation(value = "购物车 请求在线支付 二码合一")
     @PostMapping("/carsPay")
     public Object carsPay(String clientId, @RequestBody Map<String,String> productNameMap) {
@@ -1161,6 +1171,7 @@ public class TOrderController {
         order.setStatus(0);
         order.setType(admin.getType());
         order.setCompanyType(admin.getCompanyType());
+        order.setMachineType(equipment.getMachineType());
         if(admin.getType()==0){
             order.setAdminProportion(proportion.getAdminProportion());
             order.setAgencyProportion(proportion.getAgencyProportion());
@@ -1203,6 +1214,7 @@ public class TOrderController {
         order2.setProductNumber(productNumber);
         order.setType(admin.getType());
         order.setCompanyType(admin.getCompanyType());
+        order2.setMachineType(equipment.getMachineType());
         if(admin.getType()==0){
             order.setAdminProportion(proportion.getAdminProportion());
             order.setAgencyProportion(proportion.getAgencyProportion());
@@ -1236,7 +1248,19 @@ public class TOrderController {
         orderDetails.setCreateDate(new Date());
         orderDetails.setCompanyType(admin.getCompanyType());
         orderDetails.setRefundStatus("0");
+        orderDetails.setMachineType(equipment.getMachineType());
 
+        String client6 = clientId.substring(clientId.length() - 6);
+        String productName1 = "";
+        if(productNumber > 1) {
+            if(equipment.getMachineType() == null || equipment.getMachineType().equals("0")) {
+                productName1 = "棉花糖-" + equipment.getName() + "-" + client6;
+            } else {
+                productName1 = "爆米花-" + equipment.getName() + "-" + client6;
+            }
+        } else {
+            productName1 = productName + "-" + equipment.getName() + "-" + client6;
+        }
         String result = null;
         if(StringUtils.isNotEmpty(payPlatform)&&payPlatform.equals("1")){
             // 汇付分账参数
@@ -1253,7 +1277,7 @@ public class TOrderController {
             // 支付宝
             try {
                 result = huifuMchService.uniPay(
-                        sn2, amount, productName.toString(), productDesc,
+                        sn2, amount, productName1, productDesc,
                         notifyUrl, frpCode2, openId, appid, acctSplitBunch
                 );
             } catch (Exception e) {
@@ -1286,7 +1310,7 @@ public class TOrderController {
         }else{
             try {
                 result = joinpayMchService.uniPay(
-                        orderNo1, amount, productName.toString(), productDesc,
+                        orderNo1, amount, productName1, productDesc,
                         commonParameter, returnUrl, notifyUrl, frpCode1,
                         isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo,
                         buyerId, isAlt, altType, altInfo, altUrl, marketingAmount
@@ -1300,7 +1324,7 @@ public class TOrderController {
             String result1 = null;
             try {
                 result1 = joinpayMchService.uniPay(
-                        orderNo2, amount, productName.toString(), productDesc,
+                        orderNo2, amount, productName1, productDesc,
                         commonParameter, returnUrl, notifyUrl, frpCode2,
                         isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo,
                         buyerId, isAlt, altType, altInfo, altUrl, marketingAmount
@@ -1341,6 +1365,7 @@ public class TOrderController {
         }
 
     }
+
     @ApiOperation(value = "购物车 微信小程序支付")
     @PostMapping("/carsPayXCX")
     public Object carsPayXCX(String clientId,String id,String coupons, @RequestBody Map<String,String> productNameMap) {
@@ -1649,6 +1674,7 @@ public class TOrderController {
         order.setMarketingAmount(marketingAmount);
         order.setProductNumber(productNumber);
         order.setCompanyType(admin.getCompanyType());
+        order.setMachineType(equipment.getMachineType());
         if(couponList.size()>0){
             order.setCoupons(couponList.toString());
         }
@@ -1702,13 +1728,25 @@ public class TOrderController {
         orderDetails.setCreateDate(new Date());
         orderDetails.setCompanyType(admin.getCompanyType());
         orderDetails.setRefundStatus("0");
+        orderDetails.setMachineType(equipment.getMachineType());
 
+        String client6 = clientId.substring(clientId.length() - 6);
+        String productName1 = "";
+        if(productNumber > 1) {
+            if(equipment.getMachineType() == null || equipment.getMachineType().equals("0")) {
+                productName1 = "棉花糖-" + equipment.getName() + "-" + client6;
+            } else {
+                productName1 = "爆米花-" + equipment.getName() + "-" + client6;
+            }
+        } else {
+            productName1 = productName + "-" + equipment.getName() + "-" + client6;
+        }
         String result = null;
         if(StringUtils.isNotEmpty(payPlatform)&&payPlatform.equals("1")){
             order.setAcctSplitBunch(acctSplitBunch.toString());
             try {
                 result = huifuMchService.uniPay(
-                        orderNo1, amount, productName.toString(), productDesc,
+                        orderNo1, amount, productName1, productDesc,
                         notifyUrl, frpCode1, openId, appid, acctSplitBunch
                 );
             } catch (Exception e) {
@@ -1739,7 +1777,7 @@ public class TOrderController {
         }else{
             try {
                 result = joinpayMchService.uniPay(
-                        orderNo1, amount, productName.toString(), productDesc,
+                        orderNo1, amount, productName1, productDesc,
                         commonParameter, returnUrl, notifyUrl, frpCode1,
                         isShowPic, openId, authCode, appid, transactionModel, tradeMerchantNo,
                         buyerId, isAlt, altType, altInfo, altUrl, marketingAmount
@@ -1873,7 +1911,47 @@ public class TOrderController {
             kindData.put("productName", order.getProductName());
 
             TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(order.getClientId()));
-            equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("pay_success", kindData.toString()).toString());
+            if(order.getFrpCode().equals("WEIXIN_XCX")){
+                JSONObject kindData1 = new JSONObject();
+                kindData1.put("sn", order.getSn());
+                kindData1.put("productDesc", order.getProductDesc());
+                String s = order.getId().toString();
+                if(s.length()>6){
+                    s = s.substring(s.length()-6,s.length());
+                }
+                kindData1.put("mealCode", s);
+                order.setOrderStatus("-1");
+                equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("cardPayXCX", kindData1.toString()).toString());
+                if(StringUtils.isNotEmpty(equipment.getApkVersion())){
+                    //发送两次mq
+                    if(equipment.getApkVersion().equals("1.0.131-jz11")||equipment.getApkVersion().equals("1.0.131-jz12")||equipment.getApkVersion().equals("1.0.131-jz13")||equipment.getApkVersion().equals("1.0.131-jz14")||equipment.getApkVersion().equals("1.0.131-jz15")){
+                        sendMqTwo(equipment.getClientId(),kindData1.toString());
+                    }
+                }
+                TSzsmWx szsmWx = szsmWxService.getById(order.getWxId());
+                BigDecimal integral = szsmWx.getIntegral();
+                if(integral!=null){
+                    integral = order.getPrice().add(integral);
+                }else {
+                    integral = order.getPrice();
+                }
+                szsmWx.setIntegral(integral);
+                szsmWxService.updateById(szsmWx);
+                if(StringUtils.isNotEmpty(order.getCoupons())){
+                    String coupons = order.getCoupons();
+                    coupons= coupons.substring(1,coupons.length()-1);
+                    List<String> list1 = Arrays.asList(coupons);
+                    if(list1.size()>0){
+                        for(String code:list1){
+                            szwlFeign.useYHJ(code, String.valueOf(order.getAdminId()),order.getClientId());
+                        }
+                    }
+                }
+            }else {
+                equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("pay_success", kindData.toString()).toString());
+            }
+            orderService.updateById(order);
+//            equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("pay_success", kindData.toString()).toString());
             try {
                 if(order.getProductNumber()==null||order.getProductNumber()==0){
                     order.setProductNumber(1);
@@ -1882,6 +1960,16 @@ public class TOrderController {
             }catch (Exception e) {
                 e.printStackTrace();
             }
+            try {
+                TOrderTask orderTask = new TOrderTask();
+                BeanUtils.copyPropertiesIgnoreNull(order, orderTask, true);
+                orderTask.setAgencyId(order.getId());
+                orderTaskService.save(orderTask);
+            }catch (Exception e) {
+                e.printStackTrace();
+            }
+            //传送数据
+            sentJingZhun(order);
             return R.ok("支付成功");
         } else {
             TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(order.getClientId()));

+ 1 - 3
src/main/java/com/szwl/controller/TWeixinPayController.java

@@ -12,12 +12,11 @@ import com.szwl.model.bo.JsonMessage;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.entity.*;
-import com.szwl.model.utils.JoinpayConstant;
+import com.szwl.constant.JoinpayConstant;
 import com.szwl.model.utils.PushUtils;
 import com.szwl.service.TEquipmentService;
 import com.szwl.service.TOrderService;
 import com.szwl.service.TWeixinPayConfigService;
-import com.szwl.weixin.http.*;
 import com.szwl.weixin.refund.model.CreateRequest;
 import com.szwl.weixin.util.HttpUtils;
 import com.wechat.pay.java.service.refund.model.AmountReq;
@@ -37,7 +36,6 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
-import static com.wechat.pay.java.core.util.GsonUtil.toJson;
 import static com.wechat.pay.java.service.refund.model.Status.PROCESSING;
 
 /**

+ 1 - 1
src/main/java/com/szwl/mapper/TCoinOrderMapper.java

@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * </p>
  *
  * @author wuhs
- * @since 2023-08-10
+ * @since 2023-08-28
  */
 public interface TCoinOrderMapper extends BaseMapper<TCoinOrder> {
 

Разница между файлами не показана из-за своего большого размера
+ 2 - 11
src/main/java/com/szwl/mapper/xml/TCoinOrderMapper.xml


+ 3 - 2
src/main/java/com/szwl/mapper/xml/THuifuTempOrderMapper.xml

@@ -29,13 +29,14 @@
         <result column="note" property="note" />
         <result column="pay_platform" property="payPlatform" />
         <result column="proportion_desc" property="proportionDesc" />
-        <result column="order_status" property="orderStatus" />
         <result column="company_type" property="companyType" />
+        <result column="order_status" property="orderStatus" />
+        <result column="machine_type" property="machineType" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        sn, id, create_date, price, acct_split_bunch, product_name, product_no, product_number, admin_id, admin_proportion, agency_id, agency_proportion, alt_info, client_id, equipment_id, frp_code, merchant_id, merchant_proportion, personage_id, personage_proportion, status, type, note, pay_platform, proportion_desc, order_status, company_type
+        sn, id, create_date, price, acct_split_bunch, product_name, product_no, product_number, admin_id, admin_proportion, agency_id, agency_proportion, alt_info, client_id, equipment_id, frp_code, merchant_id, merchant_proportion, personage_id, personage_proportion, status, type, note, pay_platform, proportion_desc, company_type, order_status, machine_type
     </sql>
 
 </mapper>

+ 2 - 1
src/main/java/com/szwl/mapper/xml/TOrderDetailsMapper.xml

@@ -18,11 +18,12 @@
         <result column="refund_amout" property="refundAmout" />
         <result column="refund_status" property="refundStatus" />
         <result column="company_type" property="companyType" />
+        <result column="machine_type" property="machineType" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, admin_id, equipment_id, create_date, order_sn, product_no, product_name, product_number, price, amount, refund_quantity, refund_amout, refund_status, company_type
+        id, admin_id, equipment_id, create_date, order_sn, product_no, product_name, product_number, price, amount, refund_quantity, refund_amout, refund_status, company_type, machine_type
     </sql>
 
 </mapper>

Разница между файлами не показана из-за своего большого размера
+ 3 - 8
src/main/java/com/szwl/mapper/xml/TOrderMapper.xml


+ 4 - 1
src/main/java/com/szwl/model/entity/TCoinOrder.java

@@ -16,7 +16,7 @@ import lombok.EqualsAndHashCode;
  * </p>
  *
  * @author wuhs
- * @since 2023-08-10
+ * @since 2023-08-28
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -160,5 +160,8 @@ public class TCoinOrder implements Serializable {
     @ApiModelProperty(value = "airwallex订单金额,币种为美元")
     private BigDecimal amount;
 
+    @ApiModelProperty(value = "设备类型,0:棉花糖,1,爆米花")
+    private String machineType;
+
 
 }

+ 5 - 2
src/main/java/com/szwl/model/entity/THuifuTempOrder.java

@@ -101,11 +101,14 @@ public class THuifuTempOrder implements Serializable {
     @ApiModelProperty(value = "分账详情,当分账超过4方时,这个字段才启用")
     private String proportionDesc;
 
+    @ApiModelProperty(value = "公司平台,0或空为申泽,1为七云")
+    private String companyType;
+
     @ApiModelProperty(value = "订单状态;0:排队中,1:正在制作,2:已制作")
     private String orderStatus;
 
-    @ApiModelProperty(value = "公司平台,0或空为申泽,1为七云")
-    private String companyType;
+    @ApiModelProperty(value = "设备类型,0:棉花糖,1,爆米花")
+    private String machineType;
 
 
 }

+ 37 - 0
src/main/java/com/szwl/model/entity/TOrder.java

@@ -25,64 +25,95 @@ public class TOrder implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "订单唯一ID")
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
+    @ApiModelProperty(value = "创建时间")
     private Date createDate;
 
+    @ApiModelProperty(value = "修改时间")
     private Date modifyDate;
 
+    @ApiModelProperty(value = "用户ID")
     private Long adminId;
 
+    @ApiModelProperty(value = "平台分账")
     private BigDecimal adminProportion;
 
+    @ApiModelProperty(value = "一级分销商户ID")
     private Long agencyId;
 
+    @ApiModelProperty(value = "一级分账比例")
     private BigDecimal agencyProportion;
 
+    @ApiModelProperty(value = "分销逻辑")
     private String altInfo;
 
+    @ApiModelProperty(value = "设备编号")
     private String clientId;
 
+    @ApiModelProperty(value = "设备ID")
     private Long equipmentId;
 
+    @ApiModelProperty(value = "支付方式")
     private String frpCode;
 
+    @ApiModelProperty(value = "二级分销商户ID")
     private Long merchantId;
 
+    @ApiModelProperty(value = "二级分账比例")
     private BigDecimal merchantProportion;
 
+    @ApiModelProperty(value = "支付时间")
     private Date payDate;
 
+    @ApiModelProperty(value = "三级分销商户ID")
     private Long personageId;
 
+    @ApiModelProperty(value = "三级分账比例")
     private BigDecimal personageProportion;
 
+    @ApiModelProperty(value = "订单金额")
     private BigDecimal price;
 
+    @ApiModelProperty(value = "商品ID")
     private Long productId;
 
+    @ApiModelProperty(value = "商品名称")
     private String productDesc;
 
+    @ApiModelProperty(value = "商品名称")
     private String productName;
 
+    @ApiModelProperty(value = "商品编号")
     private String productNo;
 
+    @ApiModelProperty(value = "退款时间")
     private Date refundDate;
 
+    @ApiModelProperty(value = "订单编号")
     private String sn;
 
+    @ApiModelProperty(value = "支付状态")
     private Integer status;
 
+    @ApiModelProperty(value = "0:分账方2个,1:分账方3个,3:分账方4个,3:分账方超4个")
     private Integer type;
 
+    @ApiModelProperty(value = "支付流水号")
     private String trxNo;
 
+    @ApiModelProperty(value = "退款流水号")
     private String refundTrxNo;
 
+    @ApiModelProperty(value = "是否发送到es")
     private String es;
 
+    @ApiModelProperty(value = "退款金额")
     private BigDecimal refundAmount;
 
+    @ApiModelProperty(value = "标记")
     private String note;
 
     @ApiModelProperty(value = "支付平台  0或null为汇聚,1为杉德支付")
@@ -91,8 +122,10 @@ public class TOrder implements Serializable {
     @ApiModelProperty(value = "是否结算 0或null为未结算,1已结算。仅杉德支付有这个")
     private String isSettlement;
 
+    @ApiModelProperty(value = "支付流水号")
     private Long wxId;
 
+    @ApiModelProperty(value = "分账详情,当分账超过4方时,这个字段才启用")
     private String proportionDesc;
 
     private BigDecimal marketingAmount;
@@ -120,4 +153,8 @@ public class TOrder implements Serializable {
     @ApiModelProperty(value = "退款数量")
     private Integer refundQuantity;
 
+    @ApiModelProperty(value = "设备类型,0:棉花糖,1,爆米花")
+    private String machineType;
+
+
 }

+ 3 - 0
src/main/java/com/szwl/model/entity/TOrderDetails.java

@@ -68,5 +68,8 @@ public class TOrderDetails implements Serializable {
     @ApiModelProperty(value = "公司平台,0或空为申泽,1为七云")
     private String companyType;
 
+    @ApiModelProperty(value = "设备类型,0:棉花糖,1,爆米花")
+    private String machineType;
+
 
 }

+ 1 - 2
src/main/java/com/szwl/service/TCoinOrderService.java

@@ -3,14 +3,13 @@ package com.szwl.service;
 import com.szwl.model.entity.TCoinOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 
-
 /**
  * <p>
  *  服务类
  * </p>
  *
  * @author wuhs
- * @since 2023-08-10
+ * @since 2023-08-28
  */
 public interface TCoinOrderService extends IService<TCoinOrder> {
 

+ 1 - 2
src/main/java/com/szwl/service/impl/TCoinOrderServiceImpl.java

@@ -6,14 +6,13 @@ import com.szwl.service.TCoinOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
-
 /**
  * <p>
  *  服务实现类
  * </p>
  *
  * @author wuhs
- * @since 2023-08-10
+ * @since 2023-08-28
  */
 @Service
 public class TCoinOrderServiceImpl extends ServiceImpl<TCoinOrderMapper, TCoinOrder> implements TCoinOrderService {

+ 21 - 4
src/main/java/com/szwl/service/impl/THuifuMchServiceImpl.java

@@ -70,7 +70,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         if(frpCode.equals("WEIXIN_XCX")) {
             request.put("trade_type", "T_MINIAPP");
             JSONObject wxData = new JSONObject();
-            wxData.put("sub_appid",HuifuConstant.WX_SUB_APP_ID);
+            wxData.put("sub_appid",appid);
             wxData.put("open_id",openId);
             request.put("wx_data", wxData);
         }
@@ -115,7 +115,22 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         request.put("huifu_id", HuifuConstant.DIV_HUIFU_ID);
         request.put("trade_type", "T_JSAPI");
         request.put("trans_amt", huifuTempOrder.getPrice());
-        request.put("goods_desc", huifuTempOrder.getProductName());
+        String clientId = huifuTempOrder.getClientId();
+        String productName = huifuTempOrder.getProductName();
+        TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(clientId));
+        String client6 = clientId.substring(clientId.length() - 6);
+        String productName1 = "";
+        if(huifuTempOrder.getProductNumber() > 1) {
+            if(equipment.getMachineType() == null || equipment.getMachineType().equals("0")) {
+                productName1 = "棉花糖-" + equipment.getName() + "-" + client6;
+            } else {
+                productName1 = "爆米花-" + equipment.getName() + "-" + client6;
+            }
+        } else {
+            productName1 = productName + "-" + equipment.getName() + "-" + client6;
+        }
+        request.put("goods_desc", productName1);
+//        request.put("goods_desc", huifuTempOrder.getProductName());
         request.put("notify_url", HuifuConstant.Notify_Url);
         request.put("remark", huifuTempOrder.getId());
         // 分账明细
@@ -174,6 +189,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         orderDetails.setCompanyType(huifuTempOrder.getCompanyType());
         orderDetails.setRefundStatus("0");
         orderDetails.setEquipmentId(huifuTempOrder.getEquipmentId());
+        orderDetails.setMachineType(huifuTempOrder.getMachineType());
         if(huifuTempOrder.getProductNumber() != null && huifuTempOrder.getProductNumber() > 1) {
             Map<String, String> map = new HashMap<>();
 
@@ -220,8 +236,8 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         String url = "https://api.huifu.com/v2/trade/payment/micropay";
         HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
         JSONObject request = new JSONObject();
-        String sn = HuifuUtils.initReqSeqId();
-        request.put("req_seq_id", sn);
+//        String sn = HuifuUtils.initReqSeqId();
+        request.put("req_seq_id", orderNo);
         request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
         request.put("huifu_id", HuifuConstant.DIV_HUIFU_ID);
         request.put("auth_code", authCode);
@@ -245,6 +261,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         requestData.put("sign", sign);
         requestData.put("data", request);
         System.out.println("请求体:"+ requestData);
+        log.info("请求体:{}",requestData);
         String success = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
         JSONObject result = JSONObject.parseObject(success);
         JSONObject data = result.getJSONObject("data");

+ 5 - 3
src/main/java/com/szwl/service/impl/TJoinpayMchServiceImpl.java

@@ -8,9 +8,10 @@ import com.szwl.model.entity.TJoinpayMch;
 import com.szwl.model.utils.AESUtil;
 import com.szwl.model.utils.Constant;
 import com.szwl.model.utils.HttpClientUtils;
-import com.szwl.model.utils.JoinpayConstant;
+import com.szwl.constant.JoinpayConstant;
 import com.szwl.model.utils.RSAUtil;
 import com.szwl.service.TJoinpayMchService;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.message.BasicNameValuePair;
@@ -32,6 +33,7 @@ import java.util.*;
  * @author wuhs
  * @since 2022-04-29
  */
+@Slf4j
 @Service
 public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoinpayMch> implements TJoinpayMchService {
 
@@ -429,10 +431,10 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
         }
         String hmac = createHmacSign(data, JoinpayConstant.key);
         data.add(new BasicNameValuePair("hmac", hmac));
-//        logger.info("请求参数:" + data);
+        log.info("请求参数:" + data);
 
         String result = HttpClientUtils.postKeyValue(url, data);
-//        logger.info("响应参数:" + result);
+        log.info("响应参数:" + result);
 
 
         return result;

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -56,7 +56,7 @@ eureka:
     serviceUrl:
       defaultZone: http://120.25.151.99:49001/eureka/
     register-with-eureka: true
-  #    register-with-eureka: false
+#    register-with-eureka: false
   instance:
     prefer-ip-address: true
     ip-address: 120.25.151.99