yangdamao преди 2 години
родител
ревизия
27bd2501a8
променени са 18 файла, в които са добавени 95 реда и са изтрити 21 реда
  1. 1 0
      zhongzheng-admin-saas/src/main/resources/application-dev.yml
  2. 1 0
      zhongzheng-admin-saas/src/main/resources/application-pre.yml
  3. 1 0
      zhongzheng-admin-saas/src/main/resources/application-prod.yml
  4. 1 0
      zhongzheng-admin/src/main/resources/application-dev.yml
  5. 1 0
      zhongzheng-admin/src/main/resources/application-pre.yml
  6. 1 0
      zhongzheng-admin/src/main/resources/application-prod.yml
  7. 1 1
      zhongzheng-api/src/main/resources/application-dev.yml
  8. 1 0
      zhongzheng-api/src/main/resources/application-pre.yml
  9. 1 0
      zhongzheng-api/src/main/resources/application-prod.yml
  10. 1 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  11. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  12. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java
  13. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderGoods.java
  14. 4 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  15. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysTenant.java
  16. 19 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/AddExamApplyNumBo.java
  17. 51 17
      zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java
  18. 2 2
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

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

@@ -182,3 +182,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

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

@@ -182,3 +182,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

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

@@ -182,3 +182,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

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

@@ -183,3 +183,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

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

@@ -182,4 +182,5 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num
 

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

@@ -182,3 +182,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

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

@@ -185,4 +185,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
-
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

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

@@ -182,3 +182,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

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

@@ -194,3 +194,4 @@ exam:
     subscribeSave: http://192.168.1.7:9099/cd/subscribe/save
     subscribeSaveExam: http://192.168.1.7:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://192.168.1.7:9099/cd/subscribe/update/exam
+    subscribeAddExamNum: http://192.168.1.7:9099/cd/subscribe/add/num

+ 1 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java

@@ -96,6 +96,7 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
         lqw.ne(SysTenant::getStatus, -1);
         lqw.like(StrUtil.isNotBlank(bo.getTenantName()), SysTenant::getTenantName, bo.getTenantName());
         lqw.eq(ObjectUtils.isNotNull(bo.getTenantid()),SysTenant::getTenantId, bo.getTenantid());
+        lqw.orderByDesc(SysTenant::getSort);
         return entity2Vo(this.list(lqw));
     }
 

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java

@@ -168,4 +168,6 @@ private static final long serialVersionUID=1L;
     private String examLimitClient;
     /** 七大员继教可选年份 */
     private String sevenYear;
+    /** 补考商品统一标识 */
+    private Integer unifySign;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java

@@ -374,4 +374,6 @@ public class GoodsVo {
 	private String sevenYear;
 	@ApiModelProperty("是否是继教施工员")
 	private Boolean jjShiGongYuan;
+	@ApiModelProperty("补考商品统一标识:1统一")
+	private Integer unifySign;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderGoods.java

@@ -105,5 +105,8 @@ private static final long serialVersionUID=1L;
 
     private Long tenantId;
 
+    @TableField(exist = false)
+    private Long subOrderGoodsId;
+
 
 }

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -686,7 +686,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             orderGoods.setCreateTime(DateUtils.getNowTime());
             orderGoods.setUpdateTime(DateUtils.getNowTime());
             orderGoods.setGoodsReceived(g.getGoodsReceived());
-
+            if (ObjectUtils.isNotNull(bo.getSubOrderGoodsId())){
+                //补充考试次数订单商品ID
+                orderGoods.setSubOrderGoodsId(bo.getSubOrderGoodsId());
+            }
             //订单标准价格不计算优惠
             totalPrice = totalPrice.add(goods.getStandPrice());
             //实际应收价格

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysTenant.java

@@ -107,5 +107,7 @@ private static final long serialVersionUID=1L;
     private String postAccount;
     /** 邮箱密码 */
     private String postPassword;
+    /** 排序字段 */
+    private Integer sort;
 
 }

+ 19 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/AddExamApplyNumBo.java

@@ -0,0 +1,19 @@
+package com.zhongzheng.modules.user.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年09月19日 14:05
+ */
+@Data
+public class AddExamApplyNumBo implements Serializable {
+
+    private Long userId;
+
+    private Long orderGoodsId;
+
+    private Integer num;
+}

+ 51 - 17
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -67,6 +67,8 @@ import com.zhongzheng.modules.top.goods.domain.*;
 import com.zhongzheng.modules.top.goods.service.*;
 import com.zhongzheng.modules.top.settle.domian.TopInstSettle;
 import com.zhongzheng.modules.top.settle.service.ITopInstSettleService;
+import com.zhongzheng.modules.user.bo.AddExamApplyNumBo;
+import com.zhongzheng.modules.user.bo.CdExamSubscribeBo;
 import com.zhongzheng.modules.user.bo.UserExamGoodsQueryBo;
 import com.zhongzheng.modules.user.bo.UserExamGoodsSupplementAddBo;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
@@ -242,6 +244,8 @@ public class WxPayServiceImpl implements IWxPayService {
     private String gzh_tokenUrl = "https://api.weixin.qq.com/cgi-bin/token";
 
     private String gzh_tokenParam = "grant_type=client_credential&appid=%s&secret=%s";
+    @Value("${exam.subscribeAddExamNum}")
+    private String EXAM_SUBSCRIBE_ADD_EXAM_NUM;
 
 
     public void initData(){
@@ -1077,23 +1081,53 @@ public class WxPayServiceImpl implements IWxPayService {
         }
         //增加考试次数
         if (goodsVo.getGoodsType().equals(3)) {
-            UserExamGoodsQueryBo userExamGoodsQueryBo = new UserExamGoodsQueryBo();
-            userExamGoodsQueryBo.setUserId(order.getUserId());
-            userExamGoodsQueryBo.setGoodsId(goodsVo.getMakeGoodsId());
-            List<UserExamGoodsVo> userExamGoodsVos = userExamGoodsService.queryList(userExamGoodsQueryBo);
-            if (!CollectionUtils.isEmpty(userExamGoodsVos)) {
-                UserExamGoodsVo userExamGoodsVo = userExamGoodsVos.get(0);//取最后即最新一条
-                UserExamGoodsSupplementAddBo userExamGoodsSupplementAddBo = new UserExamGoodsSupplementAddBo();
-                userExamGoodsSupplementAddBo.setGoodsId(goodsVo.getGoodsId());
-                userExamGoodsSupplementAddBo.setUserExamGoodsId(userExamGoodsVo.getUserExamGoodsId());
-                userExamGoodsSupplementAddBo.setExamNumber(goodsVo.getStudyCount());
-                userExamGoodsSupplementAddBo.setStatus(1);
-                userExamGoodsSupplementAddBo.setOrderGoodsId(g.getOrderGoodsId());
-                userExamGoodsSupplementService.insertByAddBo(userExamGoodsSupplementAddBo);
-                UserExamGoods userExamGoods = new UserExamGoods();
-                userExamGoods.setUserExamGoodsId(userExamGoodsVo.getUserExamGoodsId());
-                userExamGoods.setExamNumber(userExamGoodsVo.getExamNumber() + goodsVo.getStudyCount());
-                userExamGoodsService.updateById(userExamGoods);
+            if (ObjectUtils.isNotNull(goodsVo.getUnifySign()) && goodsVo.getUnifySign() == 1 && ObjectUtils.isNotNull(g.getSubOrderGoodsId())){
+                //统一补考商品标识 补充考试次数
+                UserExamGoods examGoods = userExamGoodsService
+                        .getOne(new LambdaQueryWrapper<UserExamGoods>()
+                        .eq(UserExamGoods::getOrderGoodsId, g.getSubOrderGoodsId())
+                        .last("limit 1"));
+                if (ObjectUtils.isNotNull(examGoods)){
+                    //补充一次机会
+                    examGoods.setExamNumber(examGoods.getExamNumber() + 1);
+                    //添加记录
+                    OrderGoods orderGoods = iOrderGoodsService.getById(g.getSubOrderGoodsId());
+                    UserExamGoodsSupplementAddBo userExamGoodsSupplementAddBo = new UserExamGoodsSupplementAddBo();
+                    userExamGoodsSupplementAddBo.setGoodsId(goodsVo.getGoodsId());
+                    userExamGoodsSupplementAddBo.setUserExamGoodsId(orderGoods.getGoodsId());
+                    userExamGoodsSupplementAddBo.setExamNumber(1L);
+                    userExamGoodsSupplementAddBo.setStatus(1);
+                    userExamGoodsSupplementAddBo.setOrderGoodsId(g.getOrderGoodsId());
+                    userExamGoodsSupplementService.insertByAddBo(userExamGoodsSupplementAddBo);
+                    userExamGoodsService.updateById(examGoods);
+                    //新B端同步考试次数
+                    AddExamApplyNumBo addExamApplyNum = new AddExamApplyNumBo();
+                    addExamApplyNum.setUserId(order.getUserId());
+                    addExamApplyNum.setOrderGoodsId(orderGoods.getOrderGoodsId());
+                    addExamApplyNum.setNum(1);
+                    String param = JSONObject.toJSONString(addExamApplyNum);
+                    Map<String, String> headersMap = new HashMap<>();
+                    HttpUtils.sendPostJsonHeaderAsync(EXAM_SUBSCRIBE_ADD_EXAM_NUM, param, headersMap);
+                }
+            }else {
+                UserExamGoodsQueryBo userExamGoodsQueryBo = new UserExamGoodsQueryBo();
+                userExamGoodsQueryBo.setUserId(order.getUserId());
+                userExamGoodsQueryBo.setGoodsId(goodsVo.getMakeGoodsId());
+                List<UserExamGoodsVo> userExamGoodsVos = userExamGoodsService.queryList(userExamGoodsQueryBo);
+                if (!CollectionUtils.isEmpty(userExamGoodsVos)) {
+                    UserExamGoodsVo userExamGoodsVo = userExamGoodsVos.get(0);//取最后即最新一条
+                    UserExamGoodsSupplementAddBo userExamGoodsSupplementAddBo = new UserExamGoodsSupplementAddBo();
+                    userExamGoodsSupplementAddBo.setGoodsId(goodsVo.getGoodsId());
+                    userExamGoodsSupplementAddBo.setUserExamGoodsId(userExamGoodsVo.getUserExamGoodsId());
+                    userExamGoodsSupplementAddBo.setExamNumber(goodsVo.getStudyCount());
+                    userExamGoodsSupplementAddBo.setStatus(1);
+                    userExamGoodsSupplementAddBo.setOrderGoodsId(g.getOrderGoodsId());
+                    userExamGoodsSupplementService.insertByAddBo(userExamGoodsSupplementAddBo);
+                    UserExamGoods userExamGoods = new UserExamGoods();
+                    userExamGoods.setUserExamGoodsId(userExamGoodsVo.getUserExamGoodsId());
+                    userExamGoods.setExamNumber(userExamGoodsVo.getExamNumber() + goodsVo.getStudyCount());
+                    userExamGoodsService.updateById(userExamGoods);
+                }
             }
         }
     }

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -842,8 +842,8 @@
         WHERE
             og.order_sn = #{orderSn}
           AND og.`status` = 1
-          AND og.refund_status != 2
-          AND og.pay_status IN ( 2, 3, 4 )
+--           AND og.refund_status != 2
+--           AND og.pay_status IN ( 2, 3, 4 )
         <if test="userCard != null and userCard != ''">
             AND u.id_card = #{userCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
         </if>