hecheng 3 роки тому
батько
коміт
7048de8b2c

+ 4 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/RfidTag.java

@@ -25,6 +25,10 @@ import org.hibernate.validator.constraints.Length;
 @EqualsAndHashCode(callSuper = true)
 public class RfidTag extends BaseBean {
 
+    @Excel(name = "授权码")
+    @ApiModelProperty("授权码")
+    private String authCode;
+
     @Excel(name = "标签内码")
     @Length(message = "标签内码长度不能超过50")
     @ApiModelProperty("标签内码")

+ 3 - 8
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/controller/RfidTagController.java

@@ -4,24 +4,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.zd.bottle.domain.RfidTag;
 import com.zd.bottle.service.RfidTagService;
-import com.zd.common.core.domain.per.PerFun;
-import com.zd.common.core.domain.per.PerPrefix;
-import com.zd.common.core.utils.SpringUtils;
 import com.zd.common.core.utils.poi.ExcelUtil;
+import com.zd.common.core.web.controller.BaseController;
 import com.zd.common.core.web.page.TableDataInfo;
 import com.zd.common.log.annotation.Log;
 import com.zd.common.log.enums.BusinessType;
 import com.zd.common.response.ResultData;
-import com.zd.common.security.annotation.PreAuthorize;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
-import com.zd.common.core.web.controller.BaseController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.sql.Wrapper;
 import java.util.Arrays;
 import java.util.List;
 
@@ -96,7 +91,7 @@ public class RfidTagController extends BaseController<RfidTag> {
 //    @PreAuthorize(hasPermi = PerPrefix.BOTTLE_TAG+ PerFun.ADD)
     @Log(title = "RFID标签管理", businessType = BusinessType.INSERT)
     @PostMapping
-    public ResultData<Boolean> add(@RequestBody RfidTag rfidTag) {
+    public ResultData<RfidTag> add(@RequestBody RfidTag rfidTag) {
         String tagCode = rfidTag.getTagCode();
         LambdaQueryWrapper<RfidTag> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(RfidTag::getTagCode,tagCode);
@@ -104,7 +99,7 @@ public class RfidTagController extends BaseController<RfidTag> {
         if (!tags.isEmpty()){
             return ResultData.fail("该标签已经存在,请勿重复录入,如需补打二维码请点击下方按钮。");
         }
-        return ResultData.result(service.add(rfidTag));
+        return ResultData.success(service.add(rfidTag));
     }
 
     /**

+ 1 - 1
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/RfidTagService.java

@@ -18,5 +18,5 @@ public interface RfidTagService extends IService<RfidTag> {
      * @param rfidTag 实体
      * @return boolean
      */
-    boolean add(RfidTag rfidTag);
+    RfidTag add(RfidTag rfidTag);
 }

+ 1 - 1
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/AlarmRecordServiceImpl.java

@@ -113,7 +113,7 @@ public class AlarmRecordServiceImpl extends ServiceImpl<AlarmRecordMapper, Alarm
         String electronicTag = tag.getEpc();
         RemoteLabHardware hardware = tag.getRemoteLabHardware();
         LambdaQueryWrapper<RfidTag> queryWrapper = Wrappers.lambdaQuery(RfidTag.class);
-        queryWrapper.eq(RfidTag::getTagCode,electronicTag);
+        queryWrapper.eq(RfidTag::getAuthCode,electronicTag);
         RfidTag rfidTag = tagService.getOne(queryWrapper);
         if (rfidTag==null){
             log.info(MSG_MATCH,electronicTag,"标签未录入");

+ 31 - 5
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/RfidTagServiceImpl.java

@@ -1,11 +1,11 @@
 package com.zd.bottle.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.bottle.domain.RfidTag;
 import com.zd.bottle.mapper.RfidTagMapper;
 import com.zd.bottle.service.RfidTagService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zd.common.core.utils.SecurityUtils;
-import com.zd.common.core.utils.SpringUtils;
+import com.zd.common.core.exception.ServiceException;
+import com.zd.common.core.utils.IdGen;
 import com.zd.common.security.service.TokenService;
 import com.zd.system.api.model.LoginUser;
 import org.springframework.stereotype.Service;
@@ -25,14 +25,40 @@ public class RfidTagServiceImpl extends ServiceImpl<RfidTagMapper, RfidTag> impl
 
     @Resource
     private TokenService tokenService;
+    private static final Integer DATA_LENGTH=8;
+
+    protected static final String[] CHARS = new String[] { "a", "b", "c", "d", "e", "f",
+            "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
+            "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
+            "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
+            "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
+            "W", "X", "Y", "Z" };
+
+
+    public static String generateShortUuid() {
+        StringBuilder shortBuffer = new StringBuilder();
+        String uuid = IdGen.uuid();
+        for (int i = 0; i < DATA_LENGTH; i++) {
+            String str = uuid.substring(i * 4, i * 4 + 4);
+            int x = Integer.parseInt(str, 16);
+            shortBuffer.append(CHARS[x % 0x3E]);
+        }
+        return shortBuffer.toString();
+
+    }
     @Override
-    public boolean add(RfidTag rfidTag) {
+    public RfidTag add(RfidTag rfidTag) {
         String username=null;
         LoginUser loginUser = tokenService.getLoginUser();
         if (loginUser!=null){
             username=loginUser.getUsername();
         }
+        rfidTag.setAuthCode(generateShortUuid());
         rfidTag.setCommonValue(username);
-        return save(rfidTag);
+        boolean save = save(rfidTag);
+        if (save){
+            return rfidTag;
+        }
+        throw new ServiceException("存储失败");
     }
 }

+ 2 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/RfidTagMapper.xml

@@ -6,6 +6,7 @@
     <resultMap id="BaseResultMap" type="com.zd.bottle.domain.RfidTag">
         <result column="id" property="id" />
         <result column="create_time" property="createTime" />
+        <result column="auth_code" property="authCode" />
         <result column="tag_code" property="tagCode" />
         <result column="is_bind" property="isBind" />
     </resultMap>
@@ -14,6 +15,7 @@
     <sql id="Base_Column_List">
         id,
         create_time,
+        auth_code,
         tag_code, is_bind
     </sql>