From f379de6364a7f3b4ddc397d4bf6f70ab13bf6618 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Thu, 28 Oct 2021 14:03:54 +0800
Subject: [PATCH] 实现简单短信提醒

---
 zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java |  111 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 86 insertions(+), 25 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
index 828f1ad..382487a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
@@ -8,20 +8,24 @@
 package com.matrix.system.hive.service;
 
 import com.google.common.collect.Maps;
+import com.matrix.core.tools.DateUtil;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.SmsUtils;
 import com.matrix.core.tools.StringUtils;
+import com.matrix.system.common.bean.BusParameterSettings;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.hive.bean.SysBeauticianState;
 import com.matrix.system.hive.bean.SysProjServices;
+import com.matrix.system.hive.bean.SysShopInfo;
 import com.matrix.system.hive.bean.SysVipInfo;
 import com.matrix.system.hive.dao.SysVipInfoDao;
 import lombok.AllArgsConstructor;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @version: V1.0
@@ -39,40 +43,97 @@
 
     SmsUtils smsUtils;
 
+    SysShopInfoService shopInfoService;
+
     SysBeauticianStateService sysBeauticianStateService;
+
+    BusParameterSettingsDao busParameterSettingsDao;
 
     /**
      * 预约成功短信提醒
+     *
      * @param services
      */
-    @Async
+//    @Async
     public void sendYycgNotice(SysProjServices services) {
-
         //短信接口为肽妍公司定制,暂时写死
-        if(services.getCompanyId()!=17L){
+        if (services.getCompanyId() != 17L) {
             return;
         }
-
+        if (isCloseSmsNotice(services)){
+            return;
+        }
         SysVipInfo sysVipInfo = vipInfoDao.selectById(services.getVipId());
-
-        HashMap<String, String> param = Maps.newHashMap();
-
-        List<SysBeauticianState> sysBeauticianStates = sysBeauticianStateService.findBySerId(services.getId());
-
-        String projNames = sysBeauticianStates.stream().map(item -> {
-            if(item.getProjInfo()!=null){
-                return item.getProjInfo().getName();
-            }else{
-                return "";
-            }
-        } ).collect(Collectors.joining(","));
-
-        LogUtil.debug("发送阿里云短信手机号{},项目{}",sysVipInfo.getPhone(), projNames);
-        if(StringUtils.isNotBlank(projNames)
-                && StringUtils.isNotBlank(sysVipInfo.getPhone())){
-            param.put("projName",projNames);
-            smsUtils.sendSms(sysVipInfo.getPhone(),"SMS_227005614",param);
+        SysShopInfo shopInfo = shopInfoService.findById(services.getShopId());
+        String date = DateUtil.dateFormatStr(new Date(), "yyyy年MM月dd日");
+        LogUtil.debug("发送阿里云预约成功短信,手机号={}", sysVipInfo.getPhone());
+        if (StringUtils.isNotBlank(sysVipInfo.getPhone())) {
+            HashMap<String, String> param = Maps.newHashMap();
+            param.put("date", date);
+            param.put("tel", shopInfo.getShopTel());
+            param.put("shopName", shopInfo.getShopName());
+            smsUtils.sendSms(sysVipInfo.getPhone(), "SMS_226995798", param);
         }
 
+
     }
-}
\ No newline at end of file
+
+
+    /**
+     * 判断是否开启了短信提醒
+     * @param services
+     * @return
+     */
+    private boolean isCloseSmsNotice(SysProjServices services) {
+        BusParameterSettings openSmsNoticeSetting = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.OPEN_SMS_NOTICE, services.getCompanyId());
+        if (StringUtils.isBlank(openSmsNoticeSetting.getParamValue())
+                || AppConstance.IS_N.equals(openSmsNoticeSetting.getParamValue())) {
+            LogUtil.debug("未开启短信提醒");
+            return true;
+        }
+        return false;
+    }
+
+
+    /**
+     * 项目划扣短信提醒
+     *
+     * @param services
+     */
+//    @Async
+    public void sendHkNotice(SysProjServices services) {
+        //短信接口为肽妍公司定制,暂时写死
+       if (services.getCompanyId() != 17L) {
+            return;
+        }
+        if (isCloseSmsNotice(services)){
+            return;
+        }
+        SysVipInfo sysVipInfo = vipInfoDao.selectById(services.getVipId());
+        SysShopInfo shopInfo = shopInfoService.findById(services.getShopId());
+        String date = DateUtil.dateFormatStr(new Date(), "yyyy年MM月dd日");
+
+        List<SysBeauticianState> items = sysBeauticianStateService.findBySerId(services.getId());
+        for (SysBeauticianState item : items) {
+            if (item.getProjInfo() != null) {
+                String projName = item.getProjInfo().getName();
+                LogUtil.debug("发送阿里云项目划扣短信,手机号={}", sysVipInfo.getPhone());
+                if (StringUtils.isNotBlank(sysVipInfo.getPhone())) {
+                    HashMap<String, String> param = Maps.newHashMap();
+                    param.put("date", date);
+                    param.put("projName", projName);
+                    param.put("count", item.getCount() + "");
+                    param.put("balanceCount", item.getProjUse().getSurplusCount() + "");
+                    param.put("tel", shopInfo.getShopTel());
+                    param.put("shopName", shopInfo.getShopName());
+                    smsUtils.sendSms(sysVipInfo.getPhone(), "SMS_226995796", param);
+                }
+
+            }
+        }
+
+
+    }
+
+
+}

--
Gitblit v1.9.1