doum
3 天以前 bc09bc87234065abe7130b84c92f81f143f5f3e7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -8,20 +8,24 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.*;
import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.MemberMapper;
import com.doumee.dao.business.dao.SmsConfigMapper;
import com.doumee.dao.business.dao.SmsEmailMapper;
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.vo.ValidPhoneCodeVO;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.SmsEmailService;
import com.doumee.service.business.third.EmayService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -42,6 +46,10 @@
    @Autowired
    private SmsEmailMapper smsEmailMapper;
    @Autowired
    private SystemUserMapper systemUserMapper;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
@@ -84,6 +92,45 @@
    public     void validPhoneCaptcha(ValidPhoneCodeVO param){
       isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode());
    }
    @Override
    public   SystemUser validDriverPhone(ValidPhoneCodeVO param){
          isCaptcheValide(smsEmailMapper,param.getPhone(),param.getCode());
        SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                .eq(SystemUser::getDeleted,Constants.ZERO)
                .and(i->i.eq(SystemUser::getMobile,param.getPhone()).or().eq(SystemUser::getUsername,param.getPhone()))
                .last("limit 1"));
       if(systemUser !=null){
           return  systemUser;
       }
        String salt = RandomStringUtils.randomAlphabetic(6);
        Member member = new Member();
        member.setCreateDate(new Date());
        member.setIsdeleted(Constants.ZERO);
        member.setType(Constants.memberType.driver);
        member.setPhone(param.getPhone());
        member.setStatus(Constants.ZERO);
        member.setOpenid(param.getOpenId());
        member.setPassward(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt));
        memberMapper.insert(member);
        systemUser = new SystemUser();
        systemUser.setCreateTime(new Date());
        systemUser.setDeleted(Boolean.FALSE);
        systemUser.setUsername(param.getPhone());
        systemUser.setRealname(null);
        systemUser.setMemberId(member.getId());
        systemUser.setMobile(param.getPhone());
        systemUser.setSalt(salt);
        systemUser.setPassword(member.getPassward());
        systemUser.setStatus(Constants.ZERO);
        systemUser.setType(Constants.memberType.driver);
        systemUser.setSource(Constants.TWO);
        systemUser.setOpenid(param.getOpenId());
        systemUserMapper.insert(systemUser);
        return systemUser;
    }
    @Override
    public Integer create(SmsEmail smsEmail) {
        smsEmailMapper.insert(smsEmail);
@@ -228,7 +275,10 @@
            queryWrapper.lambda().eq(SmsEmail::getContent, pageWrap.getModel().getContent());
        }
        if (pageWrap.getModel().getPhone() != null) {
            queryWrapper.lambda().eq(SmsEmail::getPhone, pageWrap.getModel().getPhone());
            queryWrapper.lambda().and(wr ->{
                wr.like(SmsEmail::getPhone, pageWrap.getModel().getPhone())
                        .or().like(SmsEmail::getEmail, pageWrap.getModel().getPhone());
            });
        }
        if (pageWrap.getModel().getEmail() != null) {
            queryWrapper.lambda().eq(SmsEmail::getEmail, pageWrap.getModel().getEmail());
@@ -245,13 +295,11 @@
        if (pageWrap.getModel().getObjType() != null) {
            queryWrapper.lambda().eq(SmsEmail::getObjType, pageWrap.getModel().getObjType());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        queryWrapper.lambda().ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
                SmsEmail::getCreateDate, pageWrap.getModel().getStartTime())
                .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
                        SmsEmail::getCreateDate, pageWrap.getModel().getEndTime())
                .orderByDesc(SmsEmail::getCreateDate);
        return PageData.from(smsEmailMapper.selectPage(page, queryWrapper));
    }
@@ -268,7 +316,7 @@
        List<SmsEmail> smsEmails = smsEmailMapper.selectList(wrapper);
        if(smsEmails!=null && smsEmails.size()>0){
            for(SmsEmail model : smsEmails){
                if(Constants.equalsInteger(model.getType(),Constants.ONE)){
                if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
                    if(model.getPhone() == null){
                        model.setStatus(Constants.THREE);//发送失败
                        model.setRemark("手机号为空,取消任务发送!");
@@ -285,7 +333,7 @@
                }else if(Constants.equalsInteger(model.getType(),Constants.TWO)){
                    if(DateUtil.fromStringToDate("yyyy-MM-dd HH:mm:ss",model.getInfo()).getTime() < System.currentTimeMillis()){
                        WxPlatNotice wxPlatNotice = new WxPlatNotice();
                        wxPlatNotice.sendMeetTemplateNotice(systemDictDataBiz,model,systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode());
                        wxPlatNotice.sendMeetTemplateNotice(systemDictDataBiz,model);
                        model.setStatus(Constants.ONE);//发送成功
                        model.setRemark("微信通知发送成功");
                    }else{
@@ -300,7 +348,6 @@
            }
        }
    }
    /**
     * 访客申请业务短信通知
     * @param systemDictDataBiz
@@ -482,13 +529,13 @@
     * @param auditUser
     */
    public static void sendHiddenDangerSms(SystemDictDataBiz systemDictDataBiz, EmayService emayService , com.doumee.dao.business.dao.SmsEmailMapper smsEmailMapper , SmsConfigMapper smsConfigMapper,
                                           HiddenDangerMapper hiddenDangerMapper, Integer objId, String objCode, List<String> auditUser){
                                           HiddenDangerMapper hiddenDangerMapper, Integer objId, String objCode, List<String> auditUser,String hiddenParam){
        try{
            SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getCode,
                    objCode).last(" limit 1 "));
            //开启短信通知
            if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
                String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent();
                String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent().replace("{隐患类型}",hiddenParam);
                HiddenDanger hiddenDanger = hiddenDangerMapper.selectById(objId);
                //您有一条【隐患随手拍-消防隐患】需要处理,详细信息请前往微信公众号查看
                //您提交的【隐患随手拍-消防隐患】已经处理完毕,详细信息请前往微信公众号查看。