package com.ydtech.modules.fnc.utils; import com.alibaba.fastjson.JSON; import com.ydtech.modules.order.entity.vo.FeeOrderNewVo; import com.ydtech.modules.order.entity.vo.OrderVo; import com.ydtech.modules.order.entity.vo.sendProject.SendProjectInfo; import com.ydtech.modules.order.service.InsOrdersService; import com.ydtech.modules.sendProject.dao.SendProjectMapper; import com.ydtech.modules.sendProject.entity.SendProjectEntity; import com.ydtech.utils.sendProjectUtils.SendProjrctUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.UUID; @Slf4j @Service public class SendProjectUtils { @Autowired private InsOrdersService insOrdersService; @Autowired private SendProjectMapper sendProjectMapper; @Autowired private SendProjrctUtils sendProjrctUtils; private static final String STRING_0 = "0"; private static final String STRING_1 = "1"; private static final String STRING_2 = "2"; private static final Integer INTEGER_0 = 0; @Async public void sendProject(String orderNo) { SendProjectInfo sendProjectInfo = new SendProjectInfo(); OrderVo data = insOrdersService.getByCompanyId(orderNo, "accountingUser").getData(); List exportFee = data.getFeeOrderNewVo().getExportFee(); for (FeeOrderNewVo.ExportFee fee : exportFee) { if ("合计".equals(fee.getInsuranceType())) { sendProjectInfo.setGiveBudget(fee.getTotalAmount()); } } StringBuffer uuid = new StringBuffer(); uuid.append(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())) .append(UUID.randomUUID()); sendProjectInfo.setReferrerNo(data.getReferrerNo()); sendProjectInfo.setUserId(data.getUserid()); sendProjectInfo.setUserPhone(data.getApplyinfo().getString("mobile")); sendProjectInfo.setUserCarNum(data.getLicenseno()); sendProjectInfo.setUserName(data.getInsuredname()); sendProjectInfo.setUuid(uuid.toString()); SendProjectEntity addSendProject = new SendProjectEntity(); addSendProject.setTotalAmount(sendProjectInfo.getGiveBudget()); addSendProject.setUserName(sendProjectInfo.getUserName()); addSendProject.setUserCarNum(sendProjectInfo.getUserCarNum()); addSendProject.setUserPhone(sendProjectInfo.getUserPhone()); addSendProject.setSendState(STRING_2); addSendProject.setSendUuid(sendProjectInfo.getUuid()); addSendProject.setUserId(sendProjectInfo.getUserId()); addSendProject.setReferrerNo(sendProjectInfo.getReferrerNo()); addSendProject.setFailNum(INTEGER_0); addSendProject.setState(STRING_1); addSendProject.setIsDelete(STRING_0); Date date = new Date(); addSendProject.setCreateTime(date); addSendProject.setUpdateTime(date); try { log.info("新增推送服务数据库入参:{}", JSON.toJSON(addSendProject)); sendProjectMapper.addSendProjectInfo(addSendProject); } catch (Exception e) { e.printStackTrace(); log.error("新增推送服务数据库报错:{}", e.getMessage()); } sendProjrctUtils.firstSendProject(sendProjectInfo); } }