浏览代码

add 分销

he2802 2 年之前
父节点
当前提交
64bbaff1af

+ 26 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.controller.common;
 
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zhongzheng.common.config.RuoYiConfig;
 import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.domain.AjaxResult;
@@ -22,11 +23,15 @@ import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.vo.ClassPeriodStudentExportAllVo;
 import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
 import com.zhongzheng.modules.order.bo.OrderAddBo;
+import com.zhongzheng.modules.order.domain.Order;
+import com.zhongzheng.modules.order.domain.OrderGoods;
+import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.service.impl.OrderServiceImpl;
 import com.zhongzheng.modules.system.service.ISysUserService;
 import com.zhongzheng.modules.user.vo.UserExportVo;
 import com.zhongzheng.modules.wx.bo.WxShareGoodsBo;
+import com.zhongzheng.modules.wx.service.IWxPayService;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -41,7 +46,9 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 通用请求处理
@@ -66,6 +73,12 @@ public class CommonController
     @Autowired
     private WxLoginService wxLoginService;
 
+    @Autowired
+    private IOrderGoodsService iOrderGoodsService;
+
+    @Autowired
+    private IWxPayService iWxPayService;
+
     /**
      * 通用下载请求
      *
@@ -208,4 +221,17 @@ public class CommonController
         String token = wxLoginService.shareGoodsCode(bo);
         return AjaxResult.success(token);
     }
+
+    @ApiOperation("推送分销商品")
+    @PostMapping("/toshareGoods")
+    public AjaxResult toshareGoods(@RequestBody WxShareGoodsBo bo)
+    {
+        String out_trade_no = "22110210122554298238";
+        Map<String, Object> map = new HashMap<>();
+        map.put("order_sn", out_trade_no);
+        List<OrderGoods> goodsList = iOrderGoodsService.listByMap(map);
+        Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, out_trade_no));
+        iWxPayService.shareToOldSys(order,goodsList);
+        return AjaxResult.success();
+    }
 }

+ 1 - 0
zhongzheng-admin/src/main/resources/application-dev.yml

@@ -134,6 +134,7 @@ enCodeVersion: release
 
 oldStudySys:
     syncPath: http://gdxypx.xy.com/System/BussinessApi/PostUserStudyRecords
+    sharePath: http://192.168.1.210:8086/witsystem/dataapi/SaleOrder
 
 officialPush:
     infoPath: http://jypt-dev.gdcic.net/organjxjy/ShangBaoMingdan

+ 1 - 0
zhongzheng-admin/src/main/resources/application-pre.yml

@@ -134,6 +134,7 @@ enCodeVersion: trial
 
 oldStudySys:
     syncPath: http://test.jqbao.net/System/BussinessApi/PostUserStudyRecords
+    sharePath: http://test.jqbao.net/witsystem/dataapi/SaleOrder
 
 officialPush:
     infoPath: http://jypt-dev.gdcic.net/organjxjy/ShangBaoMingdan

+ 1 - 0
zhongzheng-admin/src/main/resources/application-prod.yml

@@ -134,6 +134,7 @@ enCodeVersion: release
 
 oldStudySys:
     syncPath: https://www.xyyxt.net/System/BussinessApi/PostUserStudyRecords
+    sharePath: https://www.xyyxt.net/witsystem/dataapi/SaleOrder
 
 officialPush:
     infoPath: http://jypt.gdcic.net/organjxjy/ShangBaoMingdan

+ 26 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderShareGoodsVo.java

@@ -0,0 +1,26 @@
+package com.zhongzheng.modules.order.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderShareGoodsVo {
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty("业务层次ID")
+    private Long businessId;
+
+    @ApiModelProperty("项目ID")
+    private Long projectId;
+
+    @ApiModelProperty("教育ID")
+    private Long educationId;
+
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
+
+
+}

+ 28 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderShareToOldVo.java

@@ -0,0 +1,28 @@
+package com.zhongzheng.modules.order.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class OrderShareToOldVo {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("订单ID")
+    private Long orderId;
+
+    @ApiModelProperty("订单ID")
+    private String sharecode;
+
+    @ApiModelProperty("订单商品列表")
+    private List<OrderShareGoodsVo> goodsList;
+
+
+    @ApiModelProperty("订单价格")
+    private BigDecimal orderprice;
+
+    @ApiModelProperty("订单编号")
+    private String orderno;
+}

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserVo.java

@@ -278,7 +278,7 @@ public class UserVo {
 	/** 分销邀请码 */
 	@Excel(name = "分销邀请码")
 	@ApiModelProperty("分销邀请码")
-	private String inviteCode;
+	private String shareCode;
 
 	public void setNull(){
 		this.setOpenId(null);

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/IWxPayService.java

@@ -45,4 +45,6 @@ public interface IWxPayService {
 
 	boolean closeWxPcOrder(String out_trade_no);
 
+	boolean shareToOldSys(Order order,List<OrderGoods> goodsList);
+
 }

+ 46 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -21,10 +21,7 @@ import com.google.zxing.qrcode.QRCodeWriter;
 import com.zhongzheng.common.config.WxSmallConfig;
 import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.exception.CustomException;
-import com.zhongzheng.common.utils.AES;
-import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.common.utils.ServletUtils;
-import com.zhongzheng.common.utils.SnowflakeIdUtils;
+import com.zhongzheng.common.utils.*;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.common.utils.ip.IpUtils;
 import com.zhongzheng.common.utils.polyv.PolyvUtils;
@@ -51,6 +48,8 @@ import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderPayService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
+import com.zhongzheng.modules.order.vo.OrderShareGoodsVo;
+import com.zhongzheng.modules.order.vo.OrderShareToOldVo;
 import com.zhongzheng.modules.polyv.bo.PolyvVideoAddBo;
 import com.zhongzheng.modules.polyv.bo.PolyvVideoEditBo;
 import com.zhongzheng.modules.polyv.bo.PolyvVideoQueryBo;
@@ -69,6 +68,7 @@ import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
 import com.zhongzheng.modules.user.service.*;
 import com.zhongzheng.modules.user.vo.UserExamGoodsVo;
+import com.zhongzheng.modules.user.vo.UserVo;
 import com.zhongzheng.modules.wx.service.IWxPayService;
 import com.zhongzheng.modules.wx.vo.WxPayVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -116,6 +116,9 @@ public class WxPayServiceImpl implements IWxPayService {
     @Value("${wx.wepay.notifyUrl}")
     private String notifyUrl;
 
+    @Value("${oldStudySys.sharePath}")
+    private String SHARE_PATH;
+
     @Autowired
     private RedisCache redisCache;
 
@@ -406,6 +409,7 @@ public class WxPayServiceImpl implements IWxPayService {
                     //商品是否绑定活动模考
 //                    iUserMockSubscribeService.addActivityMock(g.getGoodsId(),order.getUserId());
                 }
+                shareToOldSys(order,goodsList);
             }
 
         }
@@ -460,6 +464,44 @@ public class WxPayServiceImpl implements IWxPayService {
         return true;
     }
 
+    @Override
+    public boolean shareToOldSys(Order order,List<OrderGoods> goodsList) {
+        if (Validator.isNotEmpty(order)) {
+            UserVo user = iUserService.queryById(order.getUserId());
+            if(Validator.isNotEmpty(user.getShareCode())){
+                OrderShareToOldVo vo  = new OrderShareToOldVo();
+                vo.setOrderId(order.getOrderId());
+                vo.setSharecode(user.getShareCode());
+                vo.setOrderprice(order.getPayPrice());
+                vo.setOrderno(order.getOrderSn());
+                List<OrderShareGoodsVo> shareGoodsVoList = new ArrayList<>();
+                for(OrderGoods goods : goodsList){
+                    GoodsVo goodsVo = iGoodsService.queryById(goods.getGoodsId());
+                    OrderShareGoodsVo shareGoodsVo = BeanUtil.toBean(goodsVo, OrderShareGoodsVo.class);
+                    shareGoodsVo.setEducationId(goodsVo.getEducationTypeId());
+                    shareGoodsVoList.add(shareGoodsVo);
+                }
+                vo.setGoodsList(shareGoodsVoList);
+                //分销下单
+                Map<String, String> params = new HashMap<>();
+                Long nowTime = DateUtils.getNowTime();
+                String sign = ToolsUtils.EncoderByMd5(nowTime.toString()+"pubilc2022");
+                params.put("stamp", nowTime.toString());
+                params.put("sign", sign);
+                params.put("jsonstr", JSONObject.toJSONString(vo));
+                String respone = "";
+                try {
+                    respone = HttpUtils.postFormBody(SHARE_PATH, params);
+                } catch (IOException e) {
+                    throw new CustomException("同步请求错误"+e.getMessage());
+                }
+                return true;
+            }
+
+        }
+        return false;
+    }
+
     @Override
     public void updateUserExamGoods(OrderGoods g, Order order) {
         GoodsVo goodsVo = iGoodsService.queryById(g.getGoodsId());