Bläddra i källkod

feat: 新增码包时返回id

Marko552 3 år sedan
förälder
incheckning
42ea0ffb56

+ 37 - 4
abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/tablestore/TableStoreUtils.java

@@ -7,9 +7,7 @@ import com.abi.task.common.api.exception.ErrorCodeEnum;
 import com.abi.task.common.tablestore.common.TableStoreReq;
 import com.alicloud.openservices.tablestore.SyncClient;
 import com.alicloud.openservices.tablestore.model.*;
-import com.alicloud.openservices.tablestore.model.search.SearchQuery;
-import com.alicloud.openservices.tablestore.model.search.SearchRequest;
-import com.alicloud.openservices.tablestore.model.search.SearchResponse;
+import com.alicloud.openservices.tablestore.model.search.*;
 import com.alicloud.openservices.tablestore.model.search.query.RangeQuery;
 import com.alicloud.openservices.tablestore.model.search.query.TermsQuery;
 import com.alicloud.openservices.tablestore.model.search.sort.FieldSort;
@@ -338,7 +336,6 @@ public class TableStoreUtils {
         searchRequest.setColumnsToGet(columnsToGet);
         //table store的出参
         SearchResponse resp = client.search(searchRequest);
-
         return resp;
     }
 
@@ -441,4 +438,40 @@ public class TableStoreUtils {
         }
         return Maps.newHashMap();
     }
+
+
+    private  void createSearchIndexWithIndexSort(String tableName,String indexName,List<FieldSchema> fieldSchemas,Sort sort) {
+        CreateSearchIndexRequest request = new CreateSearchIndexRequest();
+        request.setTableName(tableName);
+        request.setIndexName(indexName);
+        IndexSchema indexSchema = new IndexSchema();
+        /**
+         * demo:
+         * Arrays.asList(
+         *  new FieldSchema("Col_Keyword", FieldType.KEYWORD).setIndex(true).setEnableSortAndAgg(true),
+         *  new FieldSchema("Col_Long", FieldType.LONG).setIndex(true).setEnableSortAndAgg(true),
+         *  new FieldSchema("Col_Text", FieldType.TEXT).setIndex(true),
+         *  new FieldSchema("Timestamp", FieldType.LONG).setIndex(true).setEnableSortAndAgg(true))
+         */
+        indexSchema.setFieldSchemas(fieldSchemas);
+        //设置按照Timestamp列进行预排序,Timestamp列必须建立索引且开启enableSortAndAgg。
+        // demo : new Sort( Arrays.<Sort.Sorter>asList(new FieldSort("Timestamp", SortOrder.ASC)))
+        indexSchema.setIndexSort(sort);
+        request.setIndexSchema(indexSchema);
+        client.createSearchIndex(request);
+    }
+
+
+    private  void createSearchIndex(String tableName,String indexName,List<FieldSchema> fieldSchemas) {
+        CreateSearchIndexRequest request = new CreateSearchIndexRequest();
+        //设置数据表名称。
+        request.setTableName(tableName);
+        //设置多元索引名称。
+        request.setIndexName(indexName);
+        IndexSchema indexSchema = new IndexSchema();
+        indexSchema.setFieldSchemas(fieldSchemas);
+        request.setIndexSchema(indexSchema);
+        //调用client创建多元索引。
+        client.createSearchIndex(request);
+    }
 }

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

@@ -41,8 +41,7 @@ public class QrPackageController {
     @ApiOperation("码包新增修改")
     @PostMapping("/saveQrPackage")
     public BaseResponse saveQrPackage(@Validated @RequestBody SaveQrPackageReq saveQrPackageReq) {
-        qrPackageService.saveQrPackage(saveQrPackageReq);
-        return BaseResponse.create();
+        return BaseResponse.create(qrPackageService.saveQrPackage(saveQrPackageReq));
     }
 
     @ApiOperation("码包查询分页")

+ 3 - 6
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/GetPackageCodeRes.java

@@ -1,15 +1,12 @@
 package com.abi.qms.platform.dto.res;
 
-import io.swagger.annotations.ApiModelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import javax.validation.constraints.NotNull;
-
 /**
-  * 码类型查询出参
-  * @author Liguosong
-  * @date: 20210602
+ * 码类型查询出参
+ * @author Liguosong
+ * @date: 20210602
  */
 @Data
 @Schema

+ 28 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/SaveQrPackageRes.java

@@ -0,0 +1,28 @@
+package com.abi.qms.platform.dto.res;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @className: com.abi.qms.platform.dto.res-> SaveQrPackageRes
+ * @description:
+ * @author: Marko.W
+ * @createDate: 2021-06-25 14:30
+ * @version: 1.0
+ * @todo:
+ */
+@ApiModel("保存码包返回信息")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SaveQrPackageRes implements Serializable {
+
+    @ApiModelProperty(name = "码包id")
+    public Long id;
+
+}

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

@@ -19,13 +19,7 @@ import com.abi.qms.platform.dto.req.SaveQrPackageReq;
 import com.abi.qms.platform.dto.req.SendMobileMsgReq;
 import com.abi.qms.platform.dto.req.ValidSAPOrderNoAndMaterialReq;
 import com.abi.qms.platform.dto.req.WxQrPackageDetailReq;
-import com.abi.qms.platform.dto.res.GetPackageCodeRes;
-import com.abi.qms.platform.dto.res.GetQrPackageDetailRes;
-import com.abi.qms.platform.dto.res.GetQrSingleCheckDetailRes;
-import com.abi.qms.platform.dto.res.ListQrPackageRes;
-import com.abi.qms.platform.dto.res.ListQrPackageWxRes;
-import com.abi.qms.platform.dto.res.ValidSAPOrderNoAndMaterialRes;
-import com.abi.qms.platform.dto.res.WxQrPackageDetailRes;
+import com.abi.qms.platform.dto.res.*;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -40,7 +34,7 @@ public interface QrPackageService {
     /**
      * 保存码包
      */
-    void saveQrPackage(SaveQrPackageReq saveQrPackageReq);
+    SaveQrPackageRes saveQrPackage(SaveQrPackageReq saveQrPackageReq);
 
     /**
      * 码包分页查询

+ 14 - 15
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/GenerateCodeServiceImpl.java

@@ -183,15 +183,13 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
                 List<QrData> codeList = doLoopGenerateCode(qrRepertoryColumnList, qrRepertoryId, urlMap, qrRepertorySerialNumberMap, qrNumber, batchNumber, repeatTimes,qrBoxCodeFormat,splitCache);
                 log.info("5 loopGenerateCode get codeList -->"+System.currentTimeMillis());
                 // 更新码库流水号
-                if (!qrRepertorySerialNumberMap.isEmpty()) {
-                    for (Map.Entry<String, QrRepertorySerialNumber> entry : qrRepertorySerialNumberMap.entrySet()) {
-                        QrRepertorySerialNumber qrRepertorySerialNumber = entry.getValue();
-                        QrRepertorySerialNumber updateSerialNumber = new QrRepertorySerialNumber()
-                                .setId(qrRepertorySerialNumber.getId())
-                                .setSerialNumber(qrRepertorySerialNumber.getSerialNumber());
-                        qrRepertorySerialNumberMapper.updateById(updateSerialNumber);
-                    }
-                }
+                qrRepertorySerialNumberMap.entrySet().stream().forEach(o->{
+                    QrRepertorySerialNumber updateSerialNumber = new QrRepertorySerialNumber()
+                            .setId(o.getValue().getId())
+                            .setSerialNumber(o.getValue().getSerialNumber());
+                    qrRepertorySerialNumberMapper.updateById(updateSerialNumber);
+
+                });
                 //转化为tablestore的对象列表
                 List<QrCode> qrCodes = convertToTableStoreEntity(codeList, qrPackageBatch);
                 log.info("6 loopGenerateCode transform tableStoreEntityList -->"+System.currentTimeMillis());
@@ -207,8 +205,8 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
                 fileVerifyMd5List.add(md5);
                 log.info("8 loopGenerateCode create file -->"+System.currentTimeMillis());
             }catch(Exception e){
-                log.info("单个批次生成码异常",e);
-                log.info("qrPackageBatch: "+JsonUtils.toJson(qrPackageBatch));
+                log.warn("单个批次生成码异常",e);
+                log.warn("qrPackageBatch: "+JsonUtils.toJson(qrPackageBatch));
                 throw e;
             }
 
@@ -246,10 +244,12 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
             //放入oss地址和密码
             qrPackage.setZipPassword(pas);
             fileList.clear();
-            //删除生成文件
-            FileUtil.del(file);
         }catch (Exception e){
+            log.warn("上传oss失败:",e);
             throw new BusinessException("上传OSS失败");
+        }finally {
+            //删除生成文件
+            FileUtil.del(file);
         }
         log.info("11 loopGenerateCode upload oss -->"+System.currentTimeMillis());
 
@@ -395,7 +395,6 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
         final List<QrData> qrDataList = new LinkedList<>();
         Long qrIndex = getQrIndex();
 
-        LocalDateTime localDateTime = LocalDateTime.now();
         // 计算还需生成的数量
         long needGenerateNumber = qrNumber;
 
@@ -411,7 +410,7 @@ public class GenerateCodeServiceImpl implements GenerateCodeService {
                     .setQrRepertoryId(qrRepertoryId)
                     .setBatchNumber(batchNumber)
                     .setQrRepertoryType(QrRepertoryTypeEnum.SYSTEM_GENERATE.getCode())
-                    .setCreateTime(localDateTime);
+                    .setCreateTime(LocalDateTime.now());
 
             List<QrInnerData> qrInnerDataList = new LinkedList<>();
             //箱子码幅面

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

@@ -52,13 +52,7 @@ import com.abi.qms.platform.dto.req.SaveQrPackageReq;
 import com.abi.qms.platform.dto.req.SendMobileMsgReq;
 import com.abi.qms.platform.dto.req.ValidSAPOrderNoAndMaterialReq;
 import com.abi.qms.platform.dto.req.WxQrPackageDetailReq;
-import com.abi.qms.platform.dto.res.GetPackageCodeRes;
-import com.abi.qms.platform.dto.res.GetQrPackageDetailRes;
-import com.abi.qms.platform.dto.res.GetQrSingleCheckDetailRes;
-import com.abi.qms.platform.dto.res.ListQrPackageRes;
-import com.abi.qms.platform.dto.res.ListQrPackageWxRes;
-import com.abi.qms.platform.dto.res.ValidSAPOrderNoAndMaterialRes;
-import com.abi.qms.platform.dto.res.WxQrPackageDetailRes;
+import com.abi.qms.platform.dto.res.*;
 import com.abi.qms.platform.infrastructure.constant.RedisKey;
 import com.abi.qms.platform.infrastructure.event.CodePackageCreateEvent;
 import com.abi.qms.platform.infrastructure.util.*;
@@ -181,7 +175,7 @@ public class QrPackageServiceImpl implements QrPackageService {
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void saveQrPackage(SaveQrPackageReq req) {
+    public SaveQrPackageRes saveQrPackage(SaveQrPackageReq req) {
         boolean isAdd = (req.getId() == null);
 
         //0-校验入参
@@ -205,6 +199,7 @@ public class QrPackageServiceImpl implements QrPackageService {
 
         //5-如果是sap单号,且额外申请原因为空,则自动通过(因为原因为空的肯定是不超过的)
         autoPass(qrPackage);
+        return new SaveQrPackageRes(qrPackage.getId());
     }
 
     /**

+ 4 - 4
deployment-dev.yaml

@@ -28,12 +28,12 @@ spec:
           #image: ${image_tag}
           imagePullPolicy: Always
           resources:
-            limits:
+#            limits:
+#              cpu: 2048m
+#              memory: 4096Mi
+            requests:
               cpu: 2048m
               memory: 4096Mi
-            requests:
-              cpu: 512m
-              memory: 1048Mi
           env:
             - name: SPRING_PROFILES_ACTIVE
               valueFrom:

+ 6 - 6
deployment.yaml

@@ -18,7 +18,7 @@ spec:
     metadata:
       annotations:
         armsPilotAutoEnable: "on"
-        armsPilotCreateAppName: abi-cloud-qr-platform
+        armsPilotCreateAppName: abi-cloud-qr-platform-#env#
       labels:
         app: abi-cloud-qr-platform-service
     spec:
@@ -28,12 +28,12 @@ spec:
           #image: ${image_tag}
           imagePullPolicy: Always
           resources:
-            limits:
-              cpu: 1024m
-              memory: 2048Mi
+#            limits:
+#              cpu: 1024m
+#              memory: 2048Mi
             requests:
-              cpu: 256m
-              memory: 512Mi
+              cpu: 2048m
+              memory: 4096Mi
           env:
             - name: SPRING_PROFILES_ACTIVE
               valueFrom:

+ 1 - 1
version.txt

@@ -1 +1 @@
-feature1.0.02106161942
+feature1.0.02106180956