package cn.com.goldenwater.dcproj.service.impl.tac; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.TacEvalationInformDao; import cn.com.goldenwater.dcproj.dao.TacInspYearBatchGroupPersDao; import cn.com.goldenwater.dcproj.dto.TacEvalationInformDto; import cn.com.goldenwater.dcproj.dto.TacEvalationInformMessageDto; import cn.com.goldenwater.dcproj.model.TacEvalationInform; import cn.com.goldenwater.dcproj.model.TacInspYearBatchGroupPers; import cn.com.goldenwater.dcproj.param.TacEvalationInformParam; import cn.com.goldenwater.dcproj.param.TacInspYearBatchGroupPersParam; import cn.com.goldenwater.dcproj.service.TacEvalationInformService; import cn.com.goldenwater.dcproj.utils.HttpClientUtils; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author lune * @date 2019-11-12 */ @Service @Transactional public class TacEvalationInformServiceImpl extends AbstractCrudService implements TacEvalationInformService { @Autowired private TacEvalationInformDao tacEvalationInformDao; @Autowired private TacInspYearBatchGroupPersDao tacInspYearBatchGroupPersDao; private static String apiKey = "1036432406699048960"; private static String apiSecrect = "bbSsX1wvmaKdca5x2+yBDgeFtl9hj4zJmnegunWuLuHLwLo+QjxOr3//P4BJNrVADa7tN4w0DX1KS/VSec5G0x+ucDeAcSt9tWgFGyoBVtblybh+vzLbwH4sJa92hQfu\n"; public TacEvalationInformServiceImpl(TacEvalationInformDao tacEvalationInformDao) { super(tacEvalationInformDao); this.tacEvalationInformDao = tacEvalationInformDao; } @Override public List getInformList(TacEvalationInformParam tacEvalationInformParam) { if ("1".equals(tacEvalationInformParam.getType())) { tacEvalationInformParam.setNotRoleType("'11','12','13','14','15','16'"); } else if ("2".equals(tacEvalationInformParam.getType())) { tacEvalationInformParam.setNotRoleType("'19'"); } List list = tacEvalationInformDao.getInformList(tacEvalationInformParam); return list; } @Override public int sendMessage(TacEvalationInformMessageDto dto) { if (dto.getDtoList() == null) { return 0; } String apiUrl = "http://10.1.198.101/gateway/api/sms/send"; Map params = new HashMap(); params.put("apiKey", apiKey); params.put("apiSecrect", apiSecrect); params.put("signName", "金水云平台"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dto.getDtoList().forEach(informDto -> { params.put("mobile", informDto.getMobilenumb()); if ("1".equals(dto.getType())) { params.put("templeteCode", "SMS_177536270"); params.put("templateParam", "{\"name\":\"" + informDto.getName() + "\",\"number\":\""+ informDto.getBatches() + "\",\"date\":\"" + dateFormat.format(dto.getCutTime()) +"\"}"); } else if ("2".equals(dto.getType())) { params.put("templeteCode", "SMS_177541310"); params.put("templateParam", "{\"name\":\"" + informDto.getName() + "\",\"date\":\"" + dateFormat.format(dto.getCutTime()) +"\"}"); } try { HttpClientUtils.simplePostInvoke(apiUrl+"/gateway/api/sms/send", params); } catch (Exception e) { } if (informDto.getCount() != null && informDto.getCount() != 0) { TacEvalationInformParam tacEvalationInformParam = new TacEvalationInformParam(); tacEvalationInformParam.setYear(dto.getYear()); tacEvalationInformParam.setType(dto.getType()); tacEvalationInformParam.setPersId(informDto.getId()); TacEvalationInform inform = tacEvalationInformDao.getBy(tacEvalationInformParam); inform.setInformNum(inform.getInformNum() + 1); inform.setCutTm(dto.getCutTime()); inform.setUpTm(new Date()); tacEvalationInformDao.update(inform); } else { TacEvalationInform inform = new TacEvalationInform(); inform.setId(UuidUtil.uuid()); inform.setType(dto.getType()); inform.setYear(dto.getYear()); inform.setBatch(dto.getBatch()); inform.setCutTm(dto.getCutTime()); inform.setZolPersId(informDto.getId()); inform.setInformNum(new Long(1)); inform.setInTm(new Date()); inform.setUpTm(new Date()); inform.setPersId(dto.getPersId()); tacEvalationInformDao.insert(inform); } }); return 0; } @Override public PageInfo getInformPage(TacEvalationInformParam tacEvalationInformParam) { PageHelper.startPage(tacEvalationInformParam); if ("1".equals(tacEvalationInformParam.getType())) { tacEvalationInformParam.setNotRoleType("'11','12','13','14','15','16'"); } else if ("2".equals(tacEvalationInformParam.getType())) { tacEvalationInformParam.setNotRoleType("'19'"); } List list = tacEvalationInformDao.getInformList(tacEvalationInformParam); if (list.size() > 0) { list.forEach(dto -> { TacInspYearBatchGroupPersParam persParam = new TacInspYearBatchGroupPersParam(); persParam.setYear(tacEvalationInformParam.getYear()); persParam.setPersId(dto.getId()); List groupPersList = tacInspYearBatchGroupPersDao.findList(persParam); if (groupPersList.size() > 0) { dto.setBatches(getBatches(groupPersList)); } }); } PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } private String getBatches(List groupPersList) { StringBuffer sb = new StringBuffer(""); groupPersList.forEach(tacInspYearBatchGroupPers -> { sb.append(tacInspYearBatchGroupPers.getBatch()).append(","); }); if (sb.length() > 0) { return sb.substring(0, sb.length() - 1); } return ""; } }