xiaoyong931011
2021-11-02 2e08d6d4c0710d3e535b5944faa9df4af828c0f7
zq-erp/src/main/java/com/matrix/system/hive/service/TaiYanAliyunSmsService.java
New file
@@ -0,0 +1,126 @@
/**
 * projectName: zq-erp
 * fileName: TaiYanAliyunSmsService.java
 * packageName: com.matrix.system.hive.service
 * date: 2021-10-28 11:18
 * copyright(c) 2021 http://www.hydee.cn/ Inc. All rights reserved.
 */
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.common.service.BusParameterSettingService;
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;
/**
 * @version: V1.0
 * @author: JiangYouYao
 * @className: TaiYanAliyunSmsService
 * @packageName: com.matrix.system.hive.service
 * @description: 肽妍短信提醒服务
 * @data: 2021-10-28 11:18
 **/
@Service
@AllArgsConstructor
public class TaiYanAliyunSmsService {
    SysVipInfoDao vipInfoDao;
    SmsUtils smsUtils;
    SysShopInfoService shopInfoService;
    SysBeauticianStateService sysBeauticianStateService;
    BusParameterSettingService busParameterSettingService;
    /**
     * 预约成功短信提醒
     *
     * @param services
     */
    @Async
    public void sendYycgNotice(SysProjServices services) {
        //短信接口为肽妍公司定制,暂时写死
        if (chackSetting(services)) return;
        SysVipInfo sysVipInfo = vipInfoDao.selectById(services.getVipId());
        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);
        }
    }
    /**
     * 项目划扣短信提醒
     *
     * @param services
     */
    @Async
    public void sendHkNotice(SysProjServices services) {
        if (chackSetting(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);
                }
            }
        }
    }
    private boolean chackSetting(SysProjServices services) {
        //短信接口为肽妍公司定制,暂时写死
        if (services.getCompanyId() != 17L) {
            return true;
        }
        if (!busParameterSettingService.isSettingOpen(AppConstance.OPEN_SMS_NOTICE, services.getCompanyId())) {
            return true;
        }
        return false;
    }
}