feature:邮件补发

zkh
路明慧 12 months ago
parent 1611c61507
commit 9a6b00c67d
  1. 4
      order-management-invoice/src/main/java/com/dxhy/order/invoice/module/invoice/service/impl/OrderInvoiceInfoServiceImpl.java
  2. 26
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/controller/OrderHandleController.java
  3. 3
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/model/req/ReqParam.java
  4. 7
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/OrderHandleService.java
  5. 43
      order-management-order/src/main/java/com/dxhy/order/consumer/modules/bespoke/service/impl/OrderHandleServiceImpl.java

@ -1729,8 +1729,6 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService {
OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByDdqqlsh(fpqqlsh, shList);
if (StringUtils.isNotBlank(orderInfo.getGhfEmail())) {
//发票邮箱交付请求数据组装
FpYxTsMqData fpYxTsMqData = new FpYxTsMqData();
fpYxTsMqData.setShList(shList);
@ -1740,7 +1738,7 @@ public class OrderInvoiceInfoServiceImpl implements OrderInvoiceInfoService {
log.info("电票开票完成后,发票版式文件邮箱推送,放入队列的参数:{}", JsonUtils.getInstance().toJsonString(fpYxTsMqData));
rabbitMqSendMessageService.autoSendRabbitMqMessageForBusiness(NsrQueueEnum.YXTS_MESSAGE.getValue(), JsonUtils.getInstance().toJsonString(fpYxTsMqData));
}
}
} catch (Exception e) {

@ -233,4 +233,30 @@ public class OrderHandleController {
}
@PostMapping("/emailSend")
@ApiOperation(value = "发票复制生成订单", notes = "订单发票管理-发票复制生成订单")
@SysLog(operation = "发票复制生成订单", operationDesc = "发票复制生成订单", key = "发票复制生成订单")
public R emailSend(@RequestBody ReqParam reqParam) {
try {
log.debug("邮件补发:{}", JsonUtils.getInstance().toJsonString(reqParam));
if (StringUtils.isBlank(reqParam.getNsrsbh())) {
log.error("请求税号为空!");
return R.error(OrderValidateEnum.TAXCODE_ISNULL.getKey(), OrderValidateEnum.TAXCODE_ISNULL.getMessage());
}
if (CollectionUtils.isEmpty(reqParam.getFpqqlshList())) {
return R.error("发票请求流水号不能为空");
}
int count = orderHandleService.emailSend(reqParam);
return R.ok().put(ConfigureConstant.MSG, "邮箱补发成功"+count+"条");
} catch (Exception e) {
log.error("发票复制订单异常", e);
return R.error();
}
}
}

@ -67,4 +67,7 @@ public class ReqParam {
//订单号集合
public List<String> ids;
//订单号集合
public List<String> fpqqlshList;
}

@ -48,4 +48,11 @@ public interface OrderHandleService {
String saveInvoiceFile(OrderInvoiceInfo orderInvoiceInfo);
/**
* 发送邮件
* @param reqParam
* @return
*/
int emailSend(ReqParam reqParam);
}

@ -11,12 +11,16 @@ import com.dxhy.base.common.model.OrderProcessInfo;
import com.dxhy.base.common.model.R;
import com.dxhy.base.common.model.qd.OrderInfoQd;
import com.dxhy.base.common.utils.DistributedKeyMaker;
import com.dxhy.base.common.utils.JsonUtils;
import com.dxhy.base.common.utils.NsrsbhUtils;
import com.dxhy.base.service.module.thirdservice.simsback.model.TaxEquipmentInfo;
import com.dxhy.base.service.module.thirdservice.simsback.service.SimsBackService;
import com.dxhy.base.thirdservice.module.base.service.BaseService;
import com.dxhy.order.baseservice.constant.NsrQueueEnum;
import com.dxhy.order.baseservice.exception.OrderReceiveException;
import com.dxhy.order.baseservice.model.OrderInvoiceInfo;
import com.dxhy.order.baseservice.model.OrderOriginExtendInfo;
import com.dxhy.order.baseservice.model.queue.FpYxTsMqData;
import com.dxhy.order.consumer.dao.OrderOriginExtendInfoMapper;
import com.dxhy.order.consumer.dao.OrderProcessInfoMapper;
import com.dxhy.order.consumer.modules.bespoke.config.FtpConfig;
@ -32,11 +36,13 @@ import com.dxhy.order.invoice.module.invoice.dao.OrderInvoiceInfoMapper;
import com.dxhy.order.invoice.module.invoice.dao.OrderItemInfoMapper;
import com.dxhy.order.invoice.module.invoice.model.FileDownLoad;
import com.dxhy.order.invoice.module.invoice.service.OrderInvoiceInfoService;
import com.dxhy.order.invoice.module.rabbitmq.service.RabbitMqSendMessageService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -72,6 +78,7 @@ public class OrderHandleServiceImpl implements OrderHandleService {
@Resource
private BaseService baseService;
@Lazy
@Resource
private OrderInvoiceInfoService orderInvoiceInfoService;
@ -283,4 +290,40 @@ public class OrderHandleServiceImpl implements OrderHandleService {
}
return "";
}
@Override
public int emailSend(ReqParam reqParam) {
List<String> shList = NsrsbhUtils.transShListByXhfNsrsbh(reqParam.getNsrsbh());
int count = ConfigureConstant.INT_0;
for (String fpqqlsh : reqParam.getFpqqlshList()) {
try {
OrderInvoiceInfo updateInfo = new OrderInvoiceInfo();
updateInfo.setFpqqlsh(fpqqlsh);
updateInfo.setEmailPushStatus(OrderInfoEnum.EMAIL_PUSH_STATUS_1.getKey());
int i = orderInvoiceInfoMapper.updateOrderInvoiceInfoByFpqqlsh(updateInfo, shList);
OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByDdqqlsh(fpqqlsh, shList);
//发票邮箱交付请求数据组装
FpYxTsMqData fpYxTsMqData = new FpYxTsMqData();
fpYxTsMqData.setShList(shList);
fpYxTsMqData.setFpqqlsh(fpqqlsh);
fpYxTsMqData.setPushType(OrderInfoEnum.EMAIL_PUSH_TYPE_0.getKey());
fpYxTsMqData.setEmailAddress(orderInfo.getGhfEmail());
log.info("补发邮箱推送的参数:{}", JsonUtils.getInstance().toJsonString(fpYxTsMqData));
R r = orderInvoiceInfoService.pushWithEmail(JsonUtils.getInstance().toJsonString(fpYxTsMqData));
if (r.get(ConfigureConstant.CODE).equals(ConfigureConstant.STRING_0000)){
count++;
}
}catch (Exception e){
log.error("发送邮件失败", e);
}
}
return count;
}
}

Loading…
Cancel
Save