Pārlūkot izejas kodu

修改生成码包错误

tanzhongran 3 gadi atpakaļ
vecāks
revīzija
dfb64bec1c

+ 1 - 1
abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/tablestore/TableStorePlusUtils.java

@@ -63,7 +63,7 @@ public class TableStorePlusUtils {
      */
     public <T> void putRow(List<T> entityList) {
         if (CollectionUtil.isEmpty(entityList)) {
-            throw new BusinessException(ErrorCodeEnum.ERROR_PARAM.getCode(), "入参列表为空");
+            return;
         }
         try {
             String primaryKeyName = null;

+ 16 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/mq/GenerateCodeConsumer.java

@@ -4,6 +4,7 @@ import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.file.FileWriter;
 import com.abi.base.foundation.util.RedisClient;
 import com.abi.qms.platform.dao.entity.*;
+import com.abi.qms.platform.dao.enums.CodePackageOrderTypeEnum;
 import com.abi.qms.platform.dao.enums.InvalidEnum;
 import com.abi.qms.platform.dao.enums.QrPackageGenerateStatusEnum;
 import com.abi.qms.platform.dao.enums.QrRepertoryTypeEnum;
@@ -15,6 +16,7 @@ import com.abi.qms.platform.feign.BasicServiceClient;
 import com.abi.qms.platform.infrastructure.qr.build.parent.SerialBuildCode;
 import com.abi.qms.platform.infrastructure.util.BuildCodeUtil;
 import com.abi.qms.platform.infrastructure.util.RandomCodeUtils;
+import com.abi.qms.platform.service.QrPackageBookingOrderService;
 import com.abi.qms.platform.service.QrPackageService;
 import com.abi.task.common.api.exception.BusinessException;
 import com.abi.task.common.tablestore.TableStorePlusUtils;
@@ -115,6 +117,9 @@ public class GenerateCodeConsumer {
 	@Autowired
 	private AmqpTemplate amqpTemplate;
 
+	@Autowired
+	private QrPackageBookingOrderService qrPackageBookingOrderService;
+
 	//生成码数据
 	final List<QrData> qrDataList = new LinkedList<>();
 
@@ -275,8 +280,16 @@ public class GenerateCodeConsumer {
 
 		//3-保存压缩文件并上传oss
 		//压缩后得名字  正式码_SAP订单号_物料名称_文件内码数量
-		BaseMaterial baseMaterial = baseMaterialMapper.selectById(qrPackage.getMaterialId());
-		String zipName = "正式码_"+qrPackage.getSapOrderNo()+"_"+baseMaterial.getMaterialName()+"_"+sum+".zip";
+		String materialName = null;
+		if(CodePackageOrderTypeEnum.SAP_ORDER.is(qrPackage.getOrderType())){
+			BaseMaterial baseMaterial = baseMaterialMapper.selectById(qrPackage.getMaterialId());
+			materialName = baseMaterial==null?"":baseMaterial.getMaterialName();
+		}else{
+			QrPackageBookingOrder bookingOrder = qrPackageBookingOrderService.getBookingOrder(qrPackage.getBookingOrder());
+			materialName = bookingOrder==null?"":bookingOrder.getMaterialName();
+		}
+
+		String zipName = "正式码_"+qrPackage.getSapOrderNo()+"_"+materialName+"_"+sum+".zip";
 		sum = 0L;
 		//压缩密码
 		String pas = RandomCodeUtils.getStr(6);
@@ -312,7 +325,7 @@ public class GenerateCodeConsumer {
 		BaseFactory baseFactory = baseFactoryMapper.selectOne(baseQuery);
 		//发送邮件
 		String aliPath = qrPackage.getDownloadPath().substring(qrPackage.getDownloadPath().lastIndexOf("/") + 1);
-		qrPackageService.sendEmailForQrPackageCreated(baseFactory.getEmail(),qrPackage.getSapOrderNo(),aliPath,qrPackage.getZipPassword());
+		qrPackageService.sendEmailForQrPackageCreated(baseFactory.getEmail(),qrPackage,aliPath,qrPackage.getZipPassword());
 		//邮件发送后修改状态
 		qrPackageMapper.updateById(qrPackage);
 		QrIndex index = new QrIndex();

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/mq/TableStoreBatchInsertConsumer.java

@@ -39,9 +39,9 @@ public class TableStoreBatchInsertConsumer implements ChannelAwareMessageListene
         try {
             String messageInfo = new String(message.getBody(), "utf-8");
             operateTableStore(messageInfo);
-            channel.basicAck(deliveryTag, false);
         } catch (Exception e) {
             log.error("DEMO异常:{}", e);
+        }finally {
             channel.basicAck(deliveryTag, false);
         }
     }

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/QrPackageService.java

@@ -83,7 +83,7 @@ public interface QrPackageService {
      * @param filename
      * @param password
      */
-    void sendEmailForQrPackageCreated(String targetEmail, String sapOrderNo, String filename, String password);
+    void sendEmailForQrPackageCreated(String targetEmail, QrPackage qrPackage, String filename, String password);
 
     /**
      * 校验是否存在SAP订单号和物料重复数据

+ 9 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrPackageServiceImpl.java

@@ -708,14 +708,21 @@ public class QrPackageServiceImpl implements QrPackageService {
      * @param password
      */
     @Override
-    public void sendEmailForQrPackageCreated(String targetEmail, String sapOrderNo, String filename, String password) {
+    public void sendEmailForQrPackageCreated(String targetEmail, QrPackage qrPackage, String filename, String password) {
         try {
             //拿到freemarker模板
             Template template = FreeMarkerUtils.getTemplate("factory.ftl");
 
+            String orderNoDesc = null;
+            if(CodePackageOrderTypeEnum.SAP_ORDER.is(qrPackage.getOrderType())){
+                orderNoDesc = String.format("SAP采购订单号%s",qrPackage.getSapOrderNo());
+            }else{
+                orderNoDesc = String.format("预订单号%s",qrPackage.getBookingOrder());
+            }
+
             //填充的内容
             Map paramMap = new HashMap<>();
-            paramMap.put("sapOrderNo", sapOrderNo);
+            paramMap.put("orderNoDesc", orderNoDesc);
             paramMap.put("filename", filename);
             paramMap.put("password", password);
 

+ 1 - 1
abi-cloud-qr-platform-server/src/main/resources/templates/factory.ftl

@@ -3,4 +3,4 @@
 
 您好:
     此邮件为系统邮件请勿回复.
-    您的码包 SAP采购订单号${sapOrderNo} , ${filename} 已生成,解压密码为 :  ${password} ,请妥善保管密码,若造成泄露,百威有权进行追责。
+    您的码包 ${orderNoDesc} , ${filename} 已生成,解压密码为 :  ${password} ,请妥善保管密码,若造成泄露,百威有权进行追责。