|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SmsEmailMapper smsEmailMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SystemUserMapper systemUserMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private MemberMapper memberMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SystemDictDataBiz systemDictDataBiz; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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("手机号为空,取消任务发送!"); | 
|---|
|  |  |  | 
|---|
|  |  |  | }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{ | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 访客申请业务短信通知 | 
|---|
|  |  |  | * @param systemDictDataBiz | 
|---|
|  |  |  | 
|---|
|  |  |  | * @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); | 
|---|
|  |  |  | //您有一条【隐患随手拍-消防隐患】需要处理,详细信息请前往微信公众号查看 | 
|---|
|  |  |  | //您提交的【隐患随手拍-消防隐患】已经处理完毕,详细信息请前往微信公众号查看。 | 
|---|