Browse Source

商家端定时任务修改

liangpeile 1 year ago
parent
commit
ebcf886abb

+ 56 - 27
crmeb-admin/src/main/java/com/zbkj/admin/controller/merchant/NewMerchantApi.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.sun.org.apache.bcel.internal.generic.FMUL;
 import com.zbkj.admin.controller.newapi.request.ProductAttrValueIntegralRequest;
 import com.zbkj.admin.controller.newapi.request.UserEnterpriseSearchRequest;
 import com.zbkj.admin.service.AAAService;
@@ -37,6 +38,7 @@ import com.zbkj.common.response.MerchantOrder2PageResponse;
 import com.zbkj.common.response.ProductInfoResponse;
 import com.zbkj.common.result.CommonResult;
 import com.zbkj.common.utils.SecurityUtil;
+import com.zbkj.service.dao.MerchantSmsTimingDao;
 import com.zbkj.service.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -92,6 +94,8 @@ public class NewMerchantApi {
     @Autowired
     private MerchantSmsTimingService merchantSmsTimingService;
     @Autowired
+    private MerchantSmsTimingDao merchantSmsTimingDao;
+    @Autowired
     private MerchantSmsService merchantSmsService;
     @Autowired
     private AAAService aaaService;
@@ -385,8 +389,8 @@ public class NewMerchantApi {
         String tempId = merchantSmsTiming.getTempId();
         MerchantSms merchantSms = onePassSmsService.sendSSM(phone, Integer.valueOf(tempId));
         if (null != merchantSms) {
-            MerchantSmsTemplate merchantSmsTemplate= merchantSmsTemplateService.selectByTempId(tempId);
-            if (null!=merchantSmsTemplate){
+            MerchantSmsTemplate merchantSmsTemplate = merchantSmsTemplateService.selectByTempId(tempId);
+            if (null != merchantSmsTemplate) {
                 merchantSmsTemplate.setLastUpdateTime(new Date());
             }
 
@@ -401,11 +405,23 @@ public class NewMerchantApi {
     public CommonResult<String> sendSSMTiming(@RequestBody @Validated MerchantSmsTiming merchantSmsTiming) {
         SystemAdmin systemAdmin = SecurityUtil.getLoginUserVo().getUser();
         merchantSmsTiming.setMerId(systemAdmin.getMerId());
-        if (merchantSmsTimingService.save(merchantSmsTiming)) {
-            dynamicScheduledTask.addTask();
-            return CommonResult.success();
+        String tempId = merchantSmsTiming.getTempId();
+
+        MerchantSmsTiming merchantSmsTimings = merchantSmsTimingService.selectByTempId(tempId);
+        if (null == merchantSmsTimings) {
+            if (merchantSmsTimingService.save(merchantSmsTiming)) {
+                dynamicScheduledTask.addTask();
+                return CommonResult.success();
+            }
+        } else {
+            merchantSmsTiming.setId(merchantSmsTimings.getId());
+            if (merchantSmsTimingService.updateById(merchantSmsTiming)) {
+                dynamicScheduledTask.addTask();
+                return CommonResult.success();
+            }
         }
-        return CommonResult.failed();
+
+        return CommonResult.success();
     }
 
     @ApiOperation(value = "查询定时发送任务(id为模板id)")
@@ -461,7 +477,7 @@ public class NewMerchantApi {
                                                        @ModelAttribute PageParamRequest pageParamRequest) {
         SystemAdmin systemAdmin = SecurityUtil.getLoginUserVo().getUser();
 
-        PageInfo<User> userPageInfo = orderService.getPhoneList(systemAdmin.getMerId(), pageParamRequest,id);
+        PageInfo<User> userPageInfo = orderService.getPhoneList(systemAdmin.getMerId(), pageParamRequest, id);
 
         CommonPage<User> userCommonPage = CommonPage.restPage(userPageInfo);
         return CommonResult.success(userCommonPage);
@@ -471,40 +487,53 @@ public class NewMerchantApi {
     @RequestMapping(value = "/getPhoneNoList", method = RequestMethod.POST)
     public CommonResult<?> getPhoneNoList(@RequestParam(value = "id") String id,
                                           @Validated PageParamRequest pageParamRequest) {
-        LambdaQueryWrapper<MerchantSmsTiming> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(MerchantSmsTiming::getId, id);
-
+        MerchantSmsTemplate byId = merchantSmsTemplateService.getById(id);
+        String tempId = byId.getTempId();
+        MerchantSmsTiming merchantSmsTiming = merchantSmsTimingService.selectByTempId(tempId);
         Page<User> page = PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit());
-        MerchantSmsTiming merchantSmsTiming = merchantSmsTimingService.getOne(queryWrapper);
-        if (null!=merchantSmsTiming){
+        if (null != merchantSmsTiming) {
             String phone = merchantSmsTiming.getPhone();
             String[] split = phone.split(",");
             LambdaQueryWrapper<User> queryWrapper2 = new LambdaQueryWrapper<>();
-            queryWrapper2.in(User::getPhone,split);
+            queryWrapper2.in(User::getPhone, split);
             List<User> list = userService.list(queryWrapper2);
             return CommonResult.success(CommonPage.restPage(CommonPage.copyPageInfo(page, list)));
-        }else {
+        } else {
             ArrayList<User> users = new ArrayList<>();
-            return CommonResult.success(CommonPage.restPage(CommonPage.copyPageInfo(page, users )));
+            return CommonResult.success(CommonPage.restPage(CommonPage.copyPageInfo(page, users)));
         }
 
 
-
     }
 
     @ApiOperation(value = "发送短信手机号保存至信息模版表")
     @RequestMapping(value = "/savePhone", method = RequestMethod.POST)
-    public CommonResult<?> savePhone(@RequestParam(value = "id")String id,
-                                     @RequestParam(value = "pnone")String phone) {
-        MerchantSmsTiming merchantSmsTiming = merchantSmsTimingService.getById(id);
-        merchantSmsTiming.setPhone(phone);
-        merchantSmsTimingService.updateById(merchantSmsTiming);
-        return CommonResult.success("操作成功");
-    }
-
-
-
-
+    public CommonResult<?> savePhone(
+                                     @RequestParam(value = "tempId",required = false) String tempId,
+                                     @RequestParam(value = "saveType",required =false) String saveType,
+                                     @RequestParam(value = "pnone",required = false) String phone) {
+        MerchantSmsTiming merchantSmsTiming = merchantSmsTimingService.selectByTempId(tempId);
+        if (null!=merchantSmsTiming){
+            if ("1".equals(saveType)){
+                String BeforePhone = merchantSmsTiming.getPhone();
+                String AfterPhone=BeforePhone+","+phone;
+                merchantSmsTiming.setPhone(AfterPhone);
+                merchantSmsTimingService.updateById(merchantSmsTiming);
+            }else {
+                merchantSmsTiming.setPhone(phone);
+                merchantSmsTimingService.updateById(merchantSmsTiming);
+            }
 
 
+        }else{
+            MerchantSmsTiming merchantSmsTiming1 = new MerchantSmsTiming();
+            SystemAdmin systemAdmin = SecurityUtil.getLoginUserVo().getUser();
+            merchantSmsTiming1.setId(UUID.randomUUID().toString().replace("-",""));
+            merchantSmsTiming1.setTempId(tempId);
+            merchantSmsTiming1.setMerId(systemAdmin.getMerId());
+            merchantSmsTiming1.setPhone(phone);
+            merchantSmsTimingService.save(merchantSmsTiming1);
+        }
+        return CommonResult.success("操作成功");
+    }
 }

+ 2 - 2
crmeb-common/src/main/java/com/zbkj/common/model/merchant/MerchantSmsTiming.java

@@ -23,8 +23,8 @@ public class MerchantSmsTiming implements Serializable {
     private static final long serialVersionUID=1L;
 
     @ApiModelProperty(value = "id")
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private String id;
 
     @ApiModelProperty(value = "商户ID")
     private Integer merId;

+ 3 - 0
crmeb-service/src/main/java/com/zbkj/service/dao/MerchantSmsTimingDao.java

@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zbkj.common.model.merchant.MerchantSmsTemplate;
 import com.zbkj.common.model.merchant.MerchantSmsTiming;
 
+import java.util.List;
+
 
 public interface MerchantSmsTimingDao extends BaseMapper<MerchantSmsTiming> {
 
+    MerchantSmsTiming selectByTempId(String tempId);
 }

+ 3 - 1
crmeb-service/src/main/java/com/zbkj/service/service/MerchantSmsTimingService.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zbkj.common.model.merchant.MerchantSmsTemplate;
 import com.zbkj.common.model.merchant.MerchantSmsTiming;
 
+import java.util.List;
 
-public interface MerchantSmsTimingService extends IService<MerchantSmsTiming> {
 
+public interface MerchantSmsTimingService extends IService<MerchantSmsTiming> {
 
 
+    MerchantSmsTiming selectByTempId(String tempId);
 }

+ 9 - 0
crmeb-service/src/main/java/com/zbkj/service/service/impl/MerchantSmsTimingServiceImpl.java

@@ -7,12 +7,21 @@ import com.zbkj.service.dao.MerchantSmsTemplateDao;
 import com.zbkj.service.dao.MerchantSmsTimingDao;
 import com.zbkj.service.service.MerchantSmsTemplateService;
 import com.zbkj.service.service.MerchantSmsTimingService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 @Service
 public class MerchantSmsTimingServiceImpl extends ServiceImpl<MerchantSmsTimingDao, MerchantSmsTiming> implements MerchantSmsTimingService {
 
+    @Autowired
+    private MerchantSmsTimingDao merchantSmsTimingDao;
 
+    @Override
+    public MerchantSmsTiming selectByTempId(String tempId) {
+        return merchantSmsTimingDao.selectByTempId(tempId);
+    }
 }
 

+ 25 - 18
crmeb-service/src/main/java/com/zbkj/service/service/impl/OrderServiceImpl.java

@@ -19,6 +19,7 @@ import com.zbkj.common.exception.CrmebException;
 import com.zbkj.common.model.admin.SystemAdmin;
 import com.zbkj.common.model.express.Express;
 import com.zbkj.common.model.merchant.Merchant;
+import com.zbkj.common.model.merchant.MerchantSmsTemplate;
 import com.zbkj.common.model.merchant.MerchantSmsTiming;
 import com.zbkj.common.model.order.*;
 import com.zbkj.common.model.system.SystemNotification;
@@ -100,7 +101,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderDao, Order> implements Or
     @Autowired
     private OrderDao orderDao;
     @Autowired
-    private MerchantSmsTimingService merchantSmsTimingService ;
+    private MerchantSmsTimingService merchantSmsTimingService;
+    @Autowired
+    private MerchantSmsTemplateService merchantSmsTemplateService;
 
     /**
      * 根据订单编号获取订单
@@ -161,14 +164,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderDao, Order> implements Or
         LambdaQueryWrapper<Order> lqw = Wrappers.lambdaQuery();
         User userInfo = userService.getInfo();
 
-        if (null!=userInfo.getIsAllOrders()&&1==userInfo.getIsAllOrders()){
-            List<Integer> parents= userService.getParentId(userId);
-            if (null!=parents&&parents.size()>0){
+        if (null != userInfo.getIsAllOrders() && 1 == userInfo.getIsAllOrders()) {
+            List<Integer> parents = userService.getParentId(userId);
+            if (null != parents && parents.size() > 0) {
                 lqw.in(Order::getUid, parents);
-            }else {
+            } else {
                 lqw.eq(Order::getUid, userId);
             }
-        }else {
+        } else {
             lqw.eq(Order::getUid, userId);
         }
 
@@ -1068,7 +1071,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderDao, Order> implements Or
     }
 
     @Override
-    public PageInfo<User> getPhoneList(Integer merId, PageParamRequest pageParamRequest,String id) {
+    public PageInfo<User> getPhoneList(Integer merId, PageParamRequest pageParamRequest, String id) {
         Page<Order> orderPage = PageHelper.startPage(pageParamRequest.getPage(), pageParamRequest.getLimit());
 
         List<Integer> orderUid = orderDao.getPhoneList(merId);
@@ -1077,19 +1080,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderDao, Order> implements Or
         queryWrapper2.in(User::getId, orderUid);
 
         List<User> UserList = userService.list(queryWrapper2);
-
-        LambdaQueryWrapper<MerchantSmsTiming> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(MerchantSmsTiming::getId,id);
-        List<MerchantSmsTiming> list = merchantSmsTimingService.list(queryWrapper);
-        //如果下过订单的用户手机号存在定时任务发送手机号的列表中则不显示该条信息
-        if (null != list && list.size() > 0) {
-            for (MerchantSmsTiming taskMessage : list) {
-                for (int i = 0; i < UserList.size(); i++) {
-                    if (UserList.get(i).getPhone().equals(taskMessage.getPhone())) {
-                        UserList.remove(i);
-                        continue;
+        MerchantSmsTemplate merchantSmsTemplate = merchantSmsTemplateService.getById(id);
+        String tempId = merchantSmsTemplate.getTempId();
+        MerchantSmsTiming merchantSmsTiming = merchantSmsTimingService.selectByTempId(tempId);
+        if(null!=merchantSmsTiming){
+            String phone = merchantSmsTiming.getPhone();
+            String[] list = phone.split(",");
+            //如果下过订单的用户手机号存在定时任务发送手机号的列表中则不显示该条信息
+            if (null != list && list.length > 0) {
+                for (int j = 0; j < list.length; j++) {
+                    for (int i = 0; i < UserList.size(); i++) {
+                        if (UserList.get(i).getPhone().equals(list[j])) {
+                            UserList.remove(i);
+                            continue;
+                        }
                     }
                 }
+
             }
         }
         PageInfo<User> userPageInfo = CommonPage.copyPageInfo(orderPage, UserList);

+ 3 - 0
crmeb-service/src/main/resources/mapper/merchant/MerchantSmsTimingMapper.xml

@@ -2,4 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zbkj.service.dao.MerchantSmsTimingDao">
 
+<select id="selectByTempId" parameterType="java.lang.String" resultType="com.zbkj.common.model.merchant.MerchantSmsTiming">
+        select * from eb_merchant_sms_timing where temp_id=#{tempId}
+    </select>
 </mapper>