package cn.com.goldenwater.dcproj.service.impl.ducha; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.BisInspMtprgSmsDao; import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers; import cn.com.goldenwater.dcproj.model.BisInspMtprgSms; import cn.com.goldenwater.dcproj.param.BisInspMtprgSmsParam; import cn.com.goldenwater.dcproj.service.BisInspAllRlationPersService; import cn.com.goldenwater.dcproj.service.BisInspMtprgSmsService; import cn.com.goldenwater.dcproj.utils.TelUtil; import cn.com.goldenwater.dcproj.vo.BisInspMtprgSmsVo; import cn.com.goldenwater.id.util.UuidUtil; import cn.com.goldenwater.target.CheckException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; /** * @author * @date 2022-2-7 */ @Service @Transactional public class BisInspMtprgSmsServiceImpl extends AbstractCrudService implements BisInspMtprgSmsService { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private BisInspMtprgSmsDao bisInspMtprgSmsDao; @Autowired private BisInspAllRlationPersService persService; public BisInspMtprgSmsServiceImpl(BisInspMtprgSmsDao bisInspMtprgSmsDao) { super(bisInspMtprgSmsDao); this.bisInspMtprgSmsDao = bisInspMtprgSmsDao; } @Override public int insert(BisInspMtprgSms bisInspMtprgSms) { Optional.ofNullable(bisInspMtprgSms).map(BisInspMtprgSms::getUserId).orElseThrow(() -> new CheckException("userId.no")); BisInspAllRlationPers per = persService.get(bisInspMtprgSms.getUserId()); Optional.ofNullable(per).orElseThrow(() -> new CheckException("userId invalid")); bisInspMtprgSms.setUserName(per.getPersName()); bisInspMtprgSms.setPhone(per.getMobilenumb()); bisInspMtprgSms.setId(UuidUtil.uuid()); bisInspMtprgSms.setIntm(new Date()); bisInspMtprgSms.setUptm(new Date()); // 默认需要发送短信 bisInspMtprgSms.setIsRemind("1"); return this.bisInspMtprgSmsDao.insert(bisInspMtprgSms); } @Override public int update(BisInspMtprgSms bisInspMtprgSms) { bisInspMtprgSms.setUptm(new Date()); return this.bisInspMtprgSmsDao.update(bisInspMtprgSms); } @Override public int delete(String id) { return this.bisInspMtprgSmsDao.delete(id); } @Override public PageInfo listByNotMonthReport(BisInspMtprgSmsParam param) { PageHelper.startPage(param); List list = bisInspMtprgSmsDao.listByNotMonthReport(param); if (CollectionUtils.isNotEmpty(list)) { list.forEach(pers -> Optional.ofNullable(pers) .map(BisInspAllRlationPers::getMobilenumb) .ifPresent(tel -> pers.setMobilenumb(TelUtil.getTel(tel))) ); } return new PageInfo<>(list); } @Override public PageInfo listOfPage(BisInspMtprgSmsParam param) { PageHelper.startPage(param); List list = bisInspMtprgSmsDao.list(param); if (CollectionUtils.isNotEmpty(list)) { list.forEach(pers -> Optional.ofNullable(pers) .map(BisInspMtprgSmsVo::getMobilenumb) .ifPresent(tel -> pers.setMobilenumb(TelUtil.getTel(tel))) ); } return new PageInfo<>(list); } @Override public List list(BisInspMtprgSmsParam param) { return bisInspMtprgSmsDao.list(param); } @Override public int updateBatch(List list) { AtomicInteger count = new AtomicInteger(); list.forEach(l -> { count.addAndGet(this.update(l)); }); return count.get(); } @Override public int deleteBatch(List idList) { AtomicInteger count = new AtomicInteger(); idList.forEach(id -> { count.addAndGet(this.delete(id)); }); return count.get(); } }