浏览代码

fix: 修复码包生成

Marko552 3 年之前
父节点
当前提交
a25952d72b

+ 1 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/QrPackageController.java

@@ -61,6 +61,7 @@ public class QrPackageController {
 
     @ApiOperation("审核通过码包")
     @PostMapping("/passQrPackage")
+    @PassToken
     public BaseResponse passQrPackage(@Validated @RequestBody PassQrPackageReq passQrPackageReq) {
         qrPackageService.passQrPackage(passQrPackageReq);
         return BaseResponse.create();

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

@@ -87,9 +87,6 @@ public class GenerateCodeConsumer {
 	@Autowired
 	private RedissonClient redissonClient;
 
-	@Autowired
-	private TableStorePlusUtils tableStorePlusUtils;
-
 	@Autowired
     private QrPackageBatchMapper qrPackageBatchMapper;
 
@@ -99,9 +96,6 @@ public class GenerateCodeConsumer {
 	@Autowired
 	private BaseFactoryMapper baseFactoryMapper;
 
-	@Autowired
-	private QrBoxCodeFormatMapper boxCodeFormatMapper;
-
 	@Autowired
 	private QrBoxCodeFormatSplitMapper qrBoxCodeFormatSplitMapper;
 
@@ -144,12 +138,8 @@ public class GenerateCodeConsumer {
 
 	@SneakyThrows
 	@RabbitHandler
-	@RabbitListener(queues = GenerateCodeConsumer.GENERATE_CODE_BY_REPERTORY_QUEUE)
-	public void onMessage(String id, Message message, Channel channel) {
-		// 手工ack
-		Long deliveryTag = (Long)message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
-		channel.basicAck(deliveryTag, false);
-
+	@RabbitListener(queues = GenerateCodeConsumer.GENERATE_CODE_BY_REPERTORY_QUEUE,ackMode = "AUTO")
+	public void onMessage(String id) {
 		//判断rabbit消息是否为空
 		if(StringUtils.isEmpty(id)){
 			throw new BusinessException("队列监听数据为空!");
@@ -177,10 +167,6 @@ public class GenerateCodeConsumer {
 			qrPackage.setId(Long.parseLong(id));
 			qrPackage.setGenerateStatus(QrPackageGenerateStatusEnum.GENERATE_FAIL.getCode());
 			qrPackageService.failedRollback(qrPackage);
-		} finally {
-			// 手工ack
-//			Long deliveryTag = (Long)message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
-//			channel.basicAck(deliveryTag, false);
 		}
 	}
 
@@ -695,11 +681,8 @@ public class GenerateCodeConsumer {
 		if (groupSum < 0 || str.length() < groupSum){
 			result.add(str.toCharArray());
 		}else {
-
 			int group = str.length() / groupSum ;
-
 			int count = 0;
-
 			while (true){
 				if (result.size() + 1 == groupSum){
 					result.add(str.substring(count * group).toCharArray());
@@ -708,9 +691,7 @@ public class GenerateCodeConsumer {
 				result.add(str.substring(count * group ,count * group + group ).toCharArray());
 				count ++ ;
 			}
-
 		}
-
 		return result;
 	}
 }

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

@@ -6,7 +6,9 @@ import com.abi.task.common.tablestore.TableStorePlusUtils;
 import com.rabbitmq.client.Channel;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.AcknowledgeMode;
 import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.RabbitHandler;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.amqp.rabbit.listener.api.ChannelAwareMessageListener;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,17 +26,17 @@ import java.util.List;
  */
 @Slf4j
 @Component
-public class TableStoreBatchInsertConsumer implements ChannelAwareMessageListener {
+public class TableStoreBatchInsertConsumer{
 
     public static final String TABLE_STORE_BATCH_INSERT_QUEUE = "qms_table_store_queue";
 
     @Autowired
     private TableStorePlusUtils tableStorePlusUtils;
 
-    @Override
+    @RabbitHandler
     @SneakyThrows
-    @RabbitListener(queues = TABLE_STORE_BATCH_INSERT_QUEUE)
-    public void onMessage(Message message, Channel channel){
+    @RabbitListener(queues = TABLE_STORE_BATCH_INSERT_QUEUE,ackMode = "AUTO")
+    public void onMessage(Message message){
         try {
             String messageInfo = new String(message.getBody(), "utf-8");
             operateTableStore(messageInfo);