diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index e1ab1bf6d..26d5173b8 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -98,6 +98,8 @@ public enum ErrorCodeEnum { CREATE_APPOINTMENT_TIME_ERROR(10211161, "当前时间不可预约面试,请选择其他时间", null), USER_CHANNEL_NOT_EXISTS(10211162, "当前用户渠道不存在", null), + LINE_ALREADY_EXISTS(10211163, "该线索已存在,跟进人为{0}", null), + LINE_EXISTS_IN_PUBLIC_SEA(10211164, "该线索已存在,请前往公海认领", null), CONTENT_DUPLICATED(10211200, "动态标题重复!", null), SIGN_FAIL(600000, "验签失败", null), GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java index 33b80f18f..83d9f5284 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/SMSMsgEnum.java @@ -16,7 +16,7 @@ public enum SMSMsgEnum { INTERVIEW_BEGIN_IN_MINUTES("面试开始前30分钟", "【沪上阿姨】您预约的沪上阿姨加盟资格面试将在30分钟后开始。面试预计持续40分钟,请务必提前安排好您的时间。点击跳转沪上阿姨小程序,快速进入面试房间:{$var}"), - SMS_INVATE("短信邀约", "【沪上阿姨】感谢您对沪上阿姨品牌的关注与支持,您可通过链接{$var}登记加盟申请信息,我们的客户经理将在第一时间与您联系。"), + SMS_INVATE("短信邀约", "【沪上阿姨】感谢您对沪上阿姨品牌的关注与支持,您可通过链接登记加盟申请信息,我们的客户经理将在第一时间与您联系。{$var}"), ; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SmsServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SmsServiceImpl.java index b511ee728..9e92ef10e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SmsServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SmsServiceImpl.java @@ -3,22 +3,34 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSON; import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; +import com.cool.store.dao.EnterpriseUserDAO; +import com.cool.store.dao.HyPartnerLineInfoDAO; +import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dto.sms.SendInvateMsgDTO; import com.cool.store.dto.wx.MiniAppUrlLinkReqDTO; +import com.cool.store.entity.EnterpriseUserDO; +import com.cool.store.entity.HyPartnerLineInfoDO; +import com.cool.store.entity.HyPartnerUserInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.LineStatusEnum; import com.cool.store.enums.SMSMsgEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.mq.util.HttpRestTemplateService; import com.cool.store.request.SmsSendRequest; import com.cool.store.response.SmsSendResponse; import com.cool.store.service.SmsService; import com.cool.store.service.WechatMiniAppService; +import com.cool.store.utils.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import java.io.IOException; import java.text.MessageFormat; +import java.util.Objects; /** * @Author: young.yu @@ -59,6 +71,14 @@ public class SmsServiceImpl implements SmsService { @Value("${sms.invate.channel.id:null}") private String smsInvateChannelId; + @Autowired + private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; + + @Autowired + private HyPartnerLineInfoDAO hyPartnerLineInfoDAO; + + @Autowired + private EnterpriseUserDAO enterpriseUserDAO; /** * 发送普通短信 * @param phone 手机号码 @@ -106,6 +126,24 @@ public class SmsServiceImpl implements SmsService { @Override public void sendInvateMsg(SendInvateMsgDTO sendInvateMsgDTO) { + String mobile = sendInvateMsgDTO.getMobile(); + //查询用户基本信息 + HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(mobile); + if(!Objects.isNull(hyPartnerUserInfoDO)){ + HyPartnerLineInfoDO partnerLine = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); + if(!Objects.isNull(partnerLine)){ + if(LineStatusEnum.PUBLIC_SEAS.getCode().intValue()==partnerLine.getLineStatus().intValue()){ + //在公海,提示去分配招商经理 + throw new ServiceException(ErrorCodeEnum.LINE_EXISTS_IN_PUBLIC_SEA); + }else if(LineStatusEnum.PRIVATE_SEAS.getCode().intValue()==partnerLine.getLineStatus().intValue()){ + EnterpriseUserDO enterpriseUser = enterpriseUserDAO.getUserInfoById(partnerLine.getInvestmentManager()); + //在私海,提示已存在 + String msg = enterpriseUser.getName()+","+enterpriseUser.getMobile(); + throw new ServiceException(ErrorCodeEnum.LINE_ALREADY_EXISTS,msg); + } + } + + } LoginUserInfo operator = CurrentUserHolder.getUser(); StringBuffer stringBuffer = new StringBuffer(); MiniAppUrlLinkReqDTO miniAppUrlLinkReqDTO = new MiniAppUrlLinkReqDTO(); @@ -114,6 +152,6 @@ public class SmsServiceImpl implements SmsService { .append("&inviter=").append(operator.getUserId()); miniAppUrlLinkReqDTO.setQuery(stringBuffer.toString()); - sendSmsVariable(sendInvateMsgDTO.getMobile(), SMSMsgEnum.SMS_INVATE,wechatMiniAppService.getMiniAppUrlLink(miniAppUrlLinkReqDTO)); + sendSmsVariable(mobile, SMSMsgEnum.SMS_INVATE,wechatMiniAppService.getMiniAppUrlLink(miniAppUrlLinkReqDTO)); } }