Ver Fonte

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu há 4 meses atrás
pai
commit
2a97cd68b4

+ 3 - 3
mall-server-api/src/main/java/com/gree/mall/manager/controller/policy/MailboxController.java

@@ -136,9 +136,9 @@ public class MailboxController {
     @ApiOperation(value = "发送邮件")
     @PostMapping("test")
     public ResponseHelper send(){
-        agreementLogic.sendEmailScheTask2();
-        agreementLogic.sendEmailScheEMTask2();
-        agreementLogic.sendEmailScheINTask2();
+        agreementLogic.sendEmailSche();
+        agreementLogic.sendEmailScheEM();
+        agreementLogic.sendEmailScheIN();
         return ResponseHelper.success();
     }
 

+ 8 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/AgreementLogic.java

@@ -597,7 +597,8 @@ public class AgreementLogic {
             return;
         }
 
-        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(date)).count() > 0) {
+        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(date))
+                .eq(MailboxSendRecord::getPolicyType,PolicyTypeEnum.AC.getKey()).count() > 0) {
             return;
         }
 
@@ -1132,7 +1133,9 @@ public class AgreementLogic {
             return;
         }
 
-        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(date)).count() > 0) {
+        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(date))
+                .eq(MailboxSendRecord::getPolicyType,PolicyTypeEnum.EM.getKey())
+                .count() > 0) {
             return;
         }
 
@@ -1323,7 +1326,9 @@ public class AgreementLogic {
             return;
         }
 
-        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(date)).count() > 0) {
+        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(date))
+                .eq(MailboxSendRecord::getPolicyType,PolicyTypeEnum.IN.getKey())
+                .count() > 0) {
             return;
         }
 

+ 1 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/PolicyLogic.java

@@ -89,7 +89,7 @@ public class PolicyLogic {
         policyDetail.setCompanyWechatId(adminUser.getCompanyWechatId());
         policyDetail.setCompanyWechatName(adminUser.getCompanyName());
         policyDetail.setEndTime(DateUtil.offsetMillisecond(DateUtil.endOfDay(policyDetail.getEndTime()),-999));
-        policyDetail.setStartTime(DateUtil.beginOfDay(policyDetail.getEndTime()));
+        policyDetail.setStartTime(DateUtil.beginOfDay(policyDetail.getStartTime()));
 
         policyDetail.insert();
 

+ 2 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/WorkerManagerLogic.java

@@ -137,7 +137,8 @@ public class WorkerManagerLogic {
 
 
         if (pgOrderBaseService.lambdaQuery()
-                .and(item -> item.eq(PgOrderBase::getWorkerNumber,websitUserBean.getWorkerNumber()).or().like(PgOrderBase::getWorkerIdList,websitUserBean.getUserId()))
+                .and(item -> item.eq(!StringUtil.isEmpty(websitUserBean.getWorkerNumber()),PgOrderBase::getWorkerNumber,websitUserBean.getWorkerNumber())
+                        .or(!StringUtil.isEmpty(websitUserBean.getWorkerNumber())).like(PgOrderBase::getWorkerIdList,websitUserBean.getUserId()))
                 .eq(PgOrderBase::getWebsitId,websitUserBean.getWebsitId())
                 .notIn(PgOrderBase::getOrderStatus, OrderBaseStatusEnum.YQX.getKey(),OrderBaseStatusEnum.YJS.getKey(),
                         OrderBaseStatusEnum.YWG.getKey(),OrderBaseStatusEnum.FWQX.getKey(),OrderBaseStatusEnum.YWGO.getKey(),

+ 0 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseEsLogic.java

@@ -334,9 +334,6 @@ public class OrderBaseEsLogic {
         List<Map<String, Object>> maps = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
             List<QueryBuilder> should = queryBuilder.should();
-            if (adminUser.getType().equals(1)) {
-                should.add(QueryBuilders.termsQuery("company_wechat_id", adminUser.getCompanyWechatId()));
-            }
             should.add(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()));
             should.add(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()));
         }

+ 0 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java

@@ -266,9 +266,6 @@ public class OrderBaseLogic {
 
         if (CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
             List<QueryBuilder> should = queryBuilder.should();
-            if (adminUser.getType().equals(1)) {
-                should.add(QueryBuilders.termsQuery("company_wechat_id", adminUser.getCompanyWechatId()));
-            }
             should.add(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()));
             should.add(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()));
         }

+ 15 - 1
mall-server-api/src/main/java/com/gree/mall/manager/schedule/InsureEmailSchedule.java

@@ -2,7 +2,9 @@ package com.gree.mall.manager.schedule;
 
 
 
+import cn.hutool.core.date.DateUtil;
 import com.gree.mall.manager.logic.policy.AgreementLogic;
+import org.apache.http.client.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -10,6 +12,7 @@ import org.springframework.stereotype.Component;
 
 import javax.mail.MessagingException;
 import java.io.IOException;
+import java.util.Date;
 
 /**
  * 定时购买保险
@@ -25,8 +28,19 @@ public class InsureEmailSchedule {
 
 
     //每小时执行1次
-    @Scheduled(cron = "0 0/5 8,20 * * ?")
+    @Scheduled(fixedDelay = 600* 1000)
     public void task() throws IOException {
+
+        Date date = new Date();
+
+        Date startTime = DateUtil.parseDateTime(DateUtils.formatDate(date,"yyyy-MM-dd") +" "+"08:00:00");
+        Date endTime = DateUtil.parseDateTime(DateUtils.formatDate(date,"yyyy-MM-dd") +" "+"20:00:00");
+
+        if (date.before(startTime))
+            return;
+        if (date.after(endTime))
+            return;
+
         agreementLogic.sendEmailSche();
         agreementLogic.sendEmailScheEM();
         agreementLogic.sendEmailScheIN();

+ 128 - 8
mall-server-api/src/main/resources/mapper/workorder/OrderBaseCMapper.xml

@@ -9,7 +9,22 @@
           order_status_text 'orderStatusText'
         from pg_order_base a
           where 1=1
-          <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}
         </if>
@@ -29,7 +44,22 @@
             '异常待处理' as 'orderStatusText'
         from pg_order_base a
         where is_exception=1 and a.order_status NOT IN ('YWG','YWGO','YJS')
-        <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}
         </if>
@@ -46,7 +76,22 @@
         '待接单' as 'orderStatusText'
         from pg_order_base a
         where (is_meet=0 or a.order_status  IN ('DJD')) and a.order_status not in ('YQX','FWQX','FL','FWZT','YCGB')
-        <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}
         </if>
@@ -65,7 +110,22 @@
         where appointment_time is null and a.order_status not in ('YWG','GCSZX','WDWG','YWGO','YQX','FWZT','YCGB',
         'FWQX','FL','YJS','LRCD','DSHPG','CJ','YPD','DXSPD','DZBPG','DWDSPGP','DXSSPGP','DTJXSSPGP','DZBSPGP'
         )
-        <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}
         </if>
@@ -82,7 +142,22 @@
         '配件申请中' AS 'orderStatusText'
         from pg_order_base a  join websit_parts_apply b on a.id = b.order_base_id
         where b.status = 'ING'
-        <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}
         </if>
@@ -99,7 +174,22 @@
         '配件已到货' as 'orderStatusText'
         from pg_order_base a join websit_parts_apply b on a.id = b.order_base_id
         where b.status = 'END'
-        <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}
         </if>
@@ -116,7 +206,22 @@
         '配件已取消' as 'orderStatusText'
         from pg_order_base a join websit_parts_apply b on a.id = b.order_base_id
         where b.status = 'CANCEL'
-        <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}
         </if>
@@ -141,7 +246,22 @@
             count(if(appraise_status in ('C'),1,null)) as 'cp'
         from pg_order_base a
         where 1=1
-        <include refid="orderBaseSqlWhere"></include>
+        <if test="companyWechatId != null and companyWechatId !=''">
+            and a.company_wechat_id = #{companyWechatId}
+        </if>
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
+            AND (
+            a.websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            or
+            a.create_websit_id IN
+            <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            )
+        </if>
     </select>
 
     <sql id="orderBaseSqlWhere">

+ 1 - 1
mall-server-sync-api/src/main/resources/mapper/workorder/OrderBaseCMapper.xml

@@ -148,7 +148,7 @@
         <if test="companyWechatId != null and companyWechatId !=''">
             and a.company_wechat_id = #{companyWechatId}
         </if>
-        <if test="adminWebsitIds != null and adminWebsitIds.size > 0 and adminUserType != null and adminUserType == 0">
+        <if test="adminWebsitIds != null and adminWebsitIds.size > 0">
             AND (
             a.websit_id IN
             <foreach item="item" index="index" collection="adminWebsitIds" open="(" separator="," close=")">