Procházet zdrojové kódy

营销抽奖活动-签到、报价、出单、承保

lixiaolong před 5 měsíci
rodič
revize
c1eccdc3be

+ 10 - 4
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -283,7 +283,7 @@ public class UnifyOrderManager {
             //匹配规则 每报价()次,可得()次抽奖机会,每日最多()次抽奖
             HttpResult<List<LotteryActivityVO>> result = localLivingClient.queryActivityRules(lotteryScene);
             if (result == null || result.getCode() != 200 || result.getData() == null) {
-                log.error("活动列表异常");
+                log.error("统一报价,查询本地生活的活动列表异常");
             } else {
                 for (LotteryActivityVO activity : result.getData()) {
                     // 检查活动是否有效
@@ -323,7 +323,7 @@ public class UnifyOrderManager {
                             // 业务员报价次数是否大于等于本活动规定时间范围内的报价次数
                             // 统计业务员的报价次数
                             int count = insOrdersService.countQuoteNum(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), activity.getActivityStartTime(), activity.getActivityEndTime());
-                            if (count >= Integer.parseInt(table.getQutNum())) {
+                            if (count >= Integer.parseInt(table.getQutNum()) && count <= Integer.parseInt(table.getQutLotteryMax())) {
                                 // 存本地记录 等绑定后更新本地记录的同步状态字段即可
                                 completeRule(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), null, activity.getId(),
                                         table.getId(), table.getQutNum() ,table.getQutLotteryNum() ,table.getQutLotteryMax() ,YesNoEnum.NO.getCode(), 6);
@@ -376,9 +376,15 @@ public class UnifyOrderManager {
      */
     private void completeRule(String tenantId, String userId, String userPhone, String activityId,
                                   String tableId, String qutNum, String qutLotteryNum, String qutLotteryMax,Integer status, Integer activityType) {
+        SysUserActivityCompleteInRule exist = null;
         // 先查询是否已存在记录(防重入)
-        SysUserActivityCompleteInRule exist = insOrdersService.selectByRule(
-                tenantId, userId, activityId, qutNum, activityType);
+        if (9 != activityType) {
+            exist = insOrdersService.selectByRule(
+                    tenantId, userId, activityId, qutNum, activityType);
+        } else {
+            exist = insOrdersService.selectByRuleAndUserPhone(
+                    activityId, userPhone, qutNum, activityType);
+        }
 
         if (exist != null) {
             return;

+ 1 - 1
tenant/organization/src/main/resources/mapper/SysUserActivityCompleteInRuleMapper.xml

@@ -18,7 +18,7 @@
           AND user_id = #{userId}
           AND activity_id = #{activityId}
           AND activity_type = #{activityType}
-          AND rule_sign_num = #{ruleSignNum}
+          AND rule_complete_num = #{ruleSignNum}
           AND is_delete = 0
         LIMIT 1
     </select>