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

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

lixiaolong 5 месяцев назад
Родитель
Сommit
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);
             HttpResult<List<LotteryActivityVO>> result = localLivingClient.queryActivityRules(lotteryScene);
             if (result == null || result.getCode() != 200 || result.getData() == null) {
             if (result == null || result.getCode() != 200 || result.getData() == null) {
-                log.error("活动列表异常");
+                log.error("统一报价,查询本地生活的活动列表异常");
             } else {
             } else {
                 for (LotteryActivityVO activity : result.getData()) {
                 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());
                             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(),
                                 completeRule(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), null, activity.getId(),
                                         table.getId(), table.getQutNum() ,table.getQutLotteryNum() ,table.getQutLotteryMax() ,YesNoEnum.NO.getCode(), 6);
                                         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,
     private void completeRule(String tenantId, String userId, String userPhone, String activityId,
                                   String tableId, String qutNum, String qutLotteryNum, String qutLotteryMax,Integer status, Integer activityType) {
                                   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) {
         if (exist != null) {
             return;
             return;

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

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