Ver código fonte

码库增删改查,未掺杂业务逻辑

bess-WeiganCai 4 anos atrás
pai
commit
5e33ef8512
25 arquivos alterados com 908 adições e 10 exclusões
  1. 71 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/QrRepertoryController.java
  2. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/QrFormat.java
  3. 66 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/QrRepertory.java
  4. 51 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/QrRepertoryStatusEnum.java
  5. 49 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/QrRepertoryTypeEnum.java
  6. 21 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrRepertoryMapper.java
  7. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QrFormatVO.java
  8. 58 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QrRepertoryVO.java
  9. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/DeleteQrFormatReq.java
  10. 24 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/DeleteQrRepertoryReq.java
  11. 25 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/DisableQrRepertoryReq.java
  12. 25 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/EnableQrRepertoryReq.java
  13. 23 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/GetQrRepertoryDetailReq.java
  14. 2 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrFormatReq.java
  15. 41 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrRepertoryReq.java
  16. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/SaveQrFormatReq.java
  17. 45 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/SaveQrRepertoryReq.java
  18. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/GetQrFormatDetailRes.java
  19. 59 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/GetQrRepertoryDetailRes.java
  20. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListQrFormatRes.java
  21. 81 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListQrRepertoryRes.java
  22. 44 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/QrRepertoryService.java
  23. 2 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrFormatServiceImpl.java
  24. 156 0
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrRepertoryServiceImpl.java
  25. 59 0
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrRepertoryMapper.xml

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

@@ -0,0 +1,71 @@
+package com.abi.qms.platform.controller.console;
+
+import com.abi.qms.platform.dto.req.*;
+import com.abi.qms.platform.dto.res.GetQrRepertoryDetailRes;
+import com.abi.qms.platform.dto.res.ListQrRepertoryRes;
+import com.abi.qms.platform.service.QrRepertoryService;
+import com.abi.task.common.api.base.BaseResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 码库 Controller
+ *
+ * @author WeiganCai
+ * @date 2021-04-19
+ */
+@Slf4j
+@RestController
+@Api(tags = "码库管理")
+@RequestMapping("/qrRepertory")
+public class QrRepertoryController {
+    @Autowired
+    private QrRepertoryService qrRepertoryService;
+
+    @ApiOperation("码库新增修改")
+    @PostMapping("/saveQrRepertory")
+    public BaseResponse saveQrRepertory(@Validated @RequestBody SaveQrRepertoryReq saveQrRepertoryReq) {
+        qrRepertoryService.saveQrRepertory(saveQrRepertoryReq);
+        return BaseResponse.create();
+    }
+
+    @ApiOperation("码库查询分页")
+    @GetMapping("/listQrRepertory")
+    public BaseResponse<ListQrRepertoryRes> listQrRepertory(@Validated ListQrRepertoryReq listQrRepertoryReq) {
+        ListQrRepertoryRes result = qrRepertoryService.listQrRepertory(listQrRepertoryReq);
+        return BaseResponse.create(result);
+    }
+
+    @ApiOperation("码库查询详情")
+    @GetMapping("/getQrRepertoryDetail")
+    public BaseResponse<GetQrRepertoryDetailRes> getQrRepertoryDetail(@Validated GetQrRepertoryDetailReq getQrRepertoryDetailReq) {
+        GetQrRepertoryDetailRes result = qrRepertoryService.getQrRepertoryDetail(getQrRepertoryDetailReq);
+        return BaseResponse.create(result);
+    }
+
+    @ApiOperation("码库启用")
+    @PostMapping("/enableQrRepertory")
+    public BaseResponse enableQrRepertory(@Validated @RequestBody EnableQrRepertoryReq enableQrRepertoryReq) {
+        qrRepertoryService.enableQrRepertory(enableQrRepertoryReq);
+        return BaseResponse.create();
+    }
+
+    @ApiOperation("码库禁用")
+    @PostMapping("/disableQrRepertory")
+    public BaseResponse disableQrRepertory(@Validated @RequestBody DisableQrRepertoryReq disableQrRepertoryReq) {
+        qrRepertoryService.disableFormat(disableQrRepertoryReq);
+        return BaseResponse.create();
+    }
+
+    @ApiOperation("删除码库")
+    @PostMapping("/deleteQrRepertory")
+    public BaseResponse deleteQrRepertory(@Validated @RequestBody DeleteQrRepertoryReq deleteQrRepertoryReq) {
+        qrRepertoryService.deleteQrRepertory(deleteQrRepertoryReq);
+        return BaseResponse.create();
+    }
+
+}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/QrFormat.java

@@ -29,7 +29,7 @@ public class QrFormat {
     @ApiModelProperty("部门id")
     private Long deptId;
 
-    @ApiModelProperty("名称")
+    @ApiModelProperty("码格式名称")
     private String name;
 
     @ApiModelProperty("数据类型")

+ 66 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/entity/QrRepertory.java

@@ -0,0 +1,66 @@
+package com.abi.qms.platform.dao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+
+/**
+ * 码库 对象 qr_repertory
+ *
+ * @author WeiganCai
+ * @date 2021-04-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="码库对象", description="码库信息")
+public class QrRepertory {
+
+	@ApiModelProperty("码库id")
+	@TableId(value = "id", type = IdType.AUTO)
+	private Long id;
+
+	@ApiModelProperty("部门id")
+	private Long deptId;
+
+	@ApiModelProperty("码库名称")
+	private String name;
+
+	@ApiModelProperty("码库类型 0-系统生成 1-文本导入 2-FTP接入")
+	private Integer type;
+
+	@ApiModelProperty("自带流水号 0-不带 1-带")
+	private Integer haveSerial;
+
+	@ApiModelProperty("码库状态 10-待生成 11-自动生成 20-待导入 21-已导入 40-停用")
+	private Integer status;
+
+	@ApiModelProperty("码数据组成")
+	private String dataComposition;
+
+	@ApiModelProperty("克隆规则")
+	private String cloneRule;
+
+	@ApiModelProperty(value = "创建时间")
+	private LocalDateTime createTime;
+
+	@ApiModelProperty(value = "创建人id")
+	private Long createBy;
+
+	@ApiModelProperty(value = "修改时间")
+	private LocalDateTime updateTime;
+
+	@ApiModelProperty(value = "修改人id")
+	private Long updateBy;
+
+	@ApiModelProperty("是否删除")
+	private Integer isDelete;
+
+}

+ 51 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/QrRepertoryStatusEnum.java

@@ -0,0 +1,51 @@
+package com.abi.qms.platform.dao.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.EnumSet;
+import java.util.Set;
+
+/**
+ * 码库状态
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Getter
+@AllArgsConstructor
+@JsonFormat(shape = JsonFormat.Shape.OBJECT)
+public enum QrRepertoryStatusEnum {
+
+	WAIT_GENERATE(10,"待生成"),
+	GENERATING(11,"自动生成"),
+	WAIT_IMPORT(20,"待导入"),
+	IMPORTED(21,"已导入"),
+	DISABLE(40,"停用");
+
+	@EnumValue
+	private Integer code;
+	private String name;
+
+	private static final Set<QrRepertoryStatusEnum> ALL = EnumSet.allOf(QrRepertoryStatusEnum.class);
+
+	public static String getName(Integer code) {
+		return ALL.stream()
+				.filter(o -> o.code.equals(code))
+				.map(o -> o.getName())
+				.findAny().orElse(null);
+	}
+
+	public static Integer getCode(String name) {
+		return ALL.stream()
+				.filter(o -> o.name.equals(name))
+				.map(o -> o.getCode())
+				.findAny().orElse(null);
+	}
+
+	public boolean is(Integer code){
+		return getCode().equals(code);
+	}
+}

+ 49 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/QrRepertoryTypeEnum.java

@@ -0,0 +1,49 @@
+package com.abi.qms.platform.dao.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.EnumSet;
+import java.util.Set;
+
+/**
+ * 码库类型
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Getter
+@AllArgsConstructor
+@JsonFormat(shape = JsonFormat.Shape.OBJECT)
+public enum QrRepertoryTypeEnum {
+
+	SYSTEM_GENERATE(1,"系统生成"),
+	FILE_IMPORT(2,"文本导入"),
+	FTP_ACCESS(3,"FTP接入");
+
+	@EnumValue
+	private Integer code;
+	private String name;
+
+	private static final Set<QrRepertoryTypeEnum> ALL = EnumSet.allOf(QrRepertoryTypeEnum.class);
+
+	public static String getName(Integer code) {
+		return ALL.stream()
+				.filter(o -> o.code.equals(code))
+				.map(o -> o.getName())
+				.findAny().orElse(null);
+	}
+
+	public static Integer getCode(String name) {
+		return ALL.stream()
+				.filter(o -> o.name.equals(name))
+				.map(o -> o.getCode())
+				.findAny().orElse(null);
+	}
+
+	public boolean is(Integer code){
+		return getCode().equals(code);
+	}
+}

+ 21 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/mapper/QrRepertoryMapper.java

@@ -0,0 +1,21 @@
+package com.abi.qms.platform.dao.mapper;
+
+import com.abi.qms.platform.dao.entity.QrRepertory;
+import com.abi.qms.platform.dao.vo.result.QrRepertoryVO;
+import com.abi.qms.platform.dto.req.ListQrRepertoryReq;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 码库 Mapper接口
+ *
+ * @author WeiganCai
+ * @date 2021-04-25
+ */
+public interface QrRepertoryMapper extends BaseMapper<QrRepertory> {
+
+	/**
+	 * 分页查询码库信息
+	 */
+	IPage<QrRepertoryVO> listQrRepertory(IPage page, ListQrRepertoryReq param);
+}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QrFormatVO.java

@@ -22,7 +22,7 @@ public class QrFormatVO {
     @ApiModelProperty("部门名称")
     private String deptName;
 
-    @ApiModelProperty("名称")
+    @ApiModelProperty("码格式名称")
     private String name;
 
     @ApiModelProperty("数据类型")

+ 58 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/vo/result/QrRepertoryVO.java

@@ -0,0 +1,58 @@
+package com.abi.qms.platform.dao.vo.result;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 码库 对象 qr_repertory
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class QrRepertoryVO {
+
+	@ApiModelProperty("码库id")
+	private Long id;
+
+	@ApiModelProperty("部门名称")
+	private String deptName;
+
+	@ApiModelProperty("码库名称")
+	private String name;
+
+	@ApiModelProperty("码库类型 0-系统生成 1-文本导入 2-FTP接入")
+	private Integer type;
+
+	@ApiModelProperty("自带流水号 0-不带 1-带")
+	private Integer haveSerial;
+
+	@ApiModelProperty("码库状态 10-待生成 11-自动生成 20-待导入 21-已导入 40-停用")
+	private Integer status;
+
+	@ApiModelProperty("码数据组成")
+	private String dataComposition;
+
+	@ApiModelProperty("克隆规则")
+	private String cloneRule;
+
+	@ApiModelProperty(value = "创建时间")
+	private LocalDateTime createTime;
+
+	@ApiModelProperty(value = "创建人id")
+	private Long createBy;
+
+	@ApiModelProperty(value = "修改时间")
+	private LocalDateTime updateTime;
+
+	@ApiModelProperty(value = "修改人id")
+	private Long updateBy;
+
+	@ApiModelProperty(value = "修改人名称")
+	private String updateByName;
+
+}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/DeleteQrFormatReq.java

@@ -18,6 +18,6 @@ import java.io.Serializable;
 public class DeleteQrFormatReq implements Serializable {
 
 	@NotNull(message = "id为空")
-	@ApiModelProperty(value = "ids")
+	@ApiModelProperty(value = "id")
 	private Long id;
 }

+ 24 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/DeleteQrRepertoryReq.java

@@ -0,0 +1,24 @@
+package com.abi.qms.platform.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * 删除码库入参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class DeleteQrRepertoryReq implements Serializable {
+
+	@NotNull(message = "id为空")
+	@ApiModelProperty(value = "id")
+	private Long id;
+
+}

+ 25 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/DisableQrRepertoryReq.java

@@ -0,0 +1,25 @@
+package com.abi.qms.platform.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 码库禁用入参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class DisableQrRepertoryReq implements Serializable {
+
+	@NotNull(message = "id为空")
+	@ApiModelProperty(value = "ids")
+	private List<Long> ids;
+
+}

+ 25 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/EnableQrRepertoryReq.java

@@ -0,0 +1,25 @@
+package com.abi.qms.platform.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 码库启用入参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class EnableQrRepertoryReq implements Serializable {
+
+	@NotNull(message = "id为空")
+	@ApiModelProperty(value = "ids")
+	private List<Long> ids;
+
+}

+ 23 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/GetQrRepertoryDetailReq.java

@@ -0,0 +1,23 @@
+package com.abi.qms.platform.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * 码库查询详情入参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class GetQrRepertoryDetailReq implements Serializable {
+
+	@NotNull(message = "id为空")
+	@ApiModelProperty(value = "id")
+	private Long id;
+}

+ 2 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrFormatReq.java

@@ -16,6 +16,7 @@ import java.io.Serializable;
 @Data
 @ApiModel
 public class ListQrFormatReq extends PageReq implements Serializable {
+
 	@ApiModelProperty("部门id")
 	private Long deptId;
 
@@ -25,7 +26,7 @@ public class ListQrFormatReq extends PageReq implements Serializable {
 	@ApiModelProperty("重复率状态 0-未验证 1-验证中  2-验证不通过  3-验证通过")
 	private Integer uniqueStatus;
 
-	@ApiModelProperty("使用状态")
+	@ApiModelProperty("使用状态 0-未使用 1-使用中  2-停用")
 	private Integer useStatus;
 
 }

+ 41 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListQrRepertoryReq.java

@@ -0,0 +1,41 @@
+package com.abi.qms.platform.dto.req;
+
+import com.abi.task.common.api.base.PageReq;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 码库查询分页入参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class ListQrRepertoryReq extends PageReq implements Serializable {
+
+	@ApiModelProperty("部门名称")
+	private String deptName;
+
+	@ApiModelProperty("码库名称")
+	private String name;
+
+	@ApiModelProperty("码库类型 0-系统生成 1-文本导入 2-FTP接入")
+	private Integer type;
+
+	@ApiModelProperty("码库状态 10-待生成 11-自动生成 20-待导入 21-已导入 40-停用")
+	private Integer status;
+
+	@ApiModelProperty("修改人名称")
+	private String updateByName;
+
+	@ApiModelProperty(value = "修改时间-开始时间")
+	private String beginUpdateTime;
+
+	@ApiModelProperty(value = "修改时间-结束时间")
+	private String endUpdateTime;
+
+}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/SaveQrFormatReq.java

@@ -27,7 +27,7 @@ public class SaveQrFormatReq implements Serializable {
 
 	@NotNull(message = "码格式名称为空")
 	@Pattern(regexp = "^[a-zA-Z-z0-9\\u4e00-\\u9fa5]{1,20}$", message = "码格式名称限制20字内的汉字or字母or数字")
-	@ApiModelProperty("名称")
+	@ApiModelProperty("码格式名称")
 	private String name;
 
 	@NotNull(message = "数据类型为空")

+ 45 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/SaveQrRepertoryReq.java

@@ -0,0 +1,45 @@
+package com.abi.qms.platform.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import java.io.Serializable;
+
+/**
+ * 码库新增修改入参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class SaveQrRepertoryReq implements Serializable {
+
+	@ApiModelProperty("码库id")
+	private Long id;
+
+	@NotNull(message = "部门为空")
+	@ApiModelProperty("部门id")
+	private Long deptId;
+
+	@NotNull(message = "码库名称为空")
+	@Pattern(regexp = "^[a-zA-Z-z0-9\\u4e00-\\u9fa5]{1,20}$", message = "码库名称限制20字内的汉字or字母or数字")
+	@ApiModelProperty("码库名称")
+	private String name;
+
+	@NotNull(message = "码库类型为空")
+	@ApiModelProperty("码库类型 0-系统生成 1-文本导入 2-FTP接入")
+	private Integer type;
+
+	@ApiModelProperty("自带流水号 0-不带 1-带")
+	private Integer haveSerial;
+
+	@ApiModelProperty("码数据组成")
+	private String dataComposition;
+
+	@ApiModelProperty("克隆规则")
+	private String cloneRule;
+}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/GetQrFormatDetailRes.java

@@ -24,7 +24,7 @@ public class GetQrFormatDetailRes implements Serializable {
 	@ApiModelProperty("部门id")
 	private Long deptId;
 
-	@ApiModelProperty("名称")
+	@ApiModelProperty("码格式名称")
 	private String name;
 
 	@ApiModelProperty("数据类型")

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

@@ -0,0 +1,59 @@
+package com.abi.qms.platform.dto.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 码库查询详情出参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class GetQrRepertoryDetailRes implements Serializable {
+
+	@ApiModelProperty("码库id")
+	private Long id;
+
+	@ApiModelProperty("部门id")
+	private Long deptId;
+
+	@ApiModelProperty("码库名称")
+	private String name;
+
+	@ApiModelProperty("码库类型 0-系统生成 1-文本导入 2-FTP接入")
+	private Integer type;
+
+	@ApiModelProperty("自带流水号 0-不带 1-带")
+	private Integer haveSerial;
+
+	@ApiModelProperty("码库状态 10-待生成 11-自动生成 20-待导入 21-已导入 40-停用")
+	private Integer status;
+
+	@ApiModelProperty("码数据组成")
+	private String dataComposition;
+
+	@ApiModelProperty("克隆规则")
+	private String cloneRule;
+
+	@ApiModelProperty(value = "创建时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime createTime;
+
+	@ApiModelProperty(value = "创建人id")
+	private Long createBy;
+
+	@ApiModelProperty(value = "修改时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime updateTime;
+
+	@ApiModelProperty(value = "修改人id")
+	private Long updateBy;
+
+}

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListQrFormatRes.java

@@ -40,7 +40,7 @@ public class ListQrFormatRes extends PageResp implements Serializable {
 		@ApiModelProperty("部门名称")
 		private String deptName;
 
-		@ApiModelProperty("名称")
+		@ApiModelProperty("码格式名称")
 		private String name;
 
 		@ApiModelProperty("数据类型")

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

@@ -0,0 +1,81 @@
+package com.abi.qms.platform.dto.res;
+
+import com.abi.task.common.api.base.PageResp;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 码库查询分页出参
+ *
+ * @author WeiganCai
+ * @date: 2021-04-25
+ */
+@Data
+@ApiModel
+public class ListQrRepertoryRes extends PageResp implements Serializable {
+
+	@ApiModelProperty("码库列表")
+	private List<QrRepertoryBean> qrRepertoryBeanList;
+
+	/**
+	 * 码库Bean
+	 */
+	@Data
+	@NoArgsConstructor
+	@AllArgsConstructor
+	@ToString
+	@ApiModel(value = "ListQrRepertoryRes_QrRepertoryBean")
+	public static class QrRepertoryBean {
+
+		@ApiModelProperty("码库id")
+		private Long id;
+
+		@ApiModelProperty("部门名称")
+		private String deptName;
+
+		@ApiModelProperty("码库名称")
+		private String name;
+
+		@ApiModelProperty("码库类型 0-系统生成 1-文本导入 2-FTP接入")
+		private Integer type;
+
+		@ApiModelProperty("自带流水号 0-不带 1-带")
+		private Integer haveSerial;
+
+		@ApiModelProperty("码库状态 10-待生成 11-自动生成 20-待导入 21-已导入 40-停用")
+		private Integer status;
+
+		@ApiModelProperty("码数据组成")
+		private String dataComposition;
+
+		@ApiModelProperty("克隆规则")
+		private String cloneRule;
+
+		@ApiModelProperty(value = "创建时间")
+		@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+		private LocalDateTime createTime;
+
+		@ApiModelProperty(value = "创建人id")
+		private Long createBy;
+
+		@ApiModelProperty(value = "修改时间")
+		@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+		private LocalDateTime updateTime;
+
+		@ApiModelProperty(value = "修改人id")
+		private Long updateBy;
+
+		@ApiModelProperty(value = "修改人名称")
+		private String updateByName;
+
+	}
+}

+ 44 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/QrRepertoryService.java

@@ -0,0 +1,44 @@
+package com.abi.qms.platform.service;
+
+import com.abi.qms.platform.dto.req.*;
+import com.abi.qms.platform.dto.res.GetQrRepertoryDetailRes;
+import com.abi.qms.platform.dto.res.ListQrRepertoryRes;
+
+/**
+ * 码库 Service接口
+ *
+ * @author WeiganCai
+ * @date 2021-04-25
+ */
+public interface QrRepertoryService {
+
+	/**
+	 * 保存码库
+	 */
+	void saveQrRepertory(SaveQrRepertoryReq saveQrRepertoryReq);
+
+	/**
+	 * 码库查询分页
+	 */
+	ListQrRepertoryRes listQrRepertory(ListQrRepertoryReq listQrRepertoryReq);
+
+	/**
+	 * 码库查询详情
+	 */
+	GetQrRepertoryDetailRes getQrRepertoryDetail(GetQrRepertoryDetailReq getQrRepertoryDetailReq);
+
+	/**
+	 * 码库启用
+	 */
+	void enableQrRepertory(EnableQrRepertoryReq enableQrRepertoryReq);
+
+	/**
+	 * 码库禁用
+	 */
+	void disableFormat(DisableQrRepertoryReq disableQrRepertoryReq);
+
+	/**
+	 * 删除码库
+	 */
+	void deleteQrRepertory(DeleteQrRepertoryReq deleteQrRepertoryReq);
+}

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

@@ -51,7 +51,7 @@ public class QrFormatServiceImpl implements QrFormatService {
 			qrFormat = qrFormatMapper.selectById(req.getId());
 			AssertUtil.isNull(qrFormat, "码格式不存在");
 			// 只有未使用状态下才可编辑
-			if (QrFormatUseStatusEnum.UN_USE.is(qrFormat.getUseStatus())) {
+			if (!QrFormatUseStatusEnum.UN_USE.is(qrFormat.getUseStatus())) {
 				throw new BusinessException("码格式不可编辑");
 			}
 		}
@@ -93,7 +93,6 @@ public class QrFormatServiceImpl implements QrFormatService {
 	 */
 	@Override
 	public ListQrFormatRes listQrFormat(ListQrFormatReq req) {
-
 		// 分页查询
 		IPage<QrFormatVO> iPage  = qrFormatMapper.listQrFormat(PageUtil.createPage(req), req);
 		List<QrFormatVO> qrFormatList = iPage.getRecords();
@@ -166,7 +165,7 @@ public class QrFormatServiceImpl implements QrFormatService {
 		QrFormat qrFormat = qrFormatMapper.selectById(req.getId());
 		AssertUtil.isNull(qrFormat, "码格式不存在");
 		// 只有未使用状态下才可删除
-		if (QrFormatUseStatusEnum.UN_USE.is(qrFormat.getUseStatus())) {
+		if (!QrFormatUseStatusEnum.UN_USE.is(qrFormat.getUseStatus())) {
 			throw new BusinessException("码格式不可删除");
 		}
 

+ 156 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrRepertoryServiceImpl.java

@@ -0,0 +1,156 @@
+package com.abi.qms.platform.service.impl;
+
+import com.abi.qms.platform.dao.entity.QrRepertory;
+import com.abi.qms.platform.dao.enums.QrRepertoryStatusEnum;
+import com.abi.qms.platform.dao.enums.QrRepertoryTypeEnum;
+import com.abi.qms.platform.dao.mapper.QrRepertoryMapper;
+import com.abi.qms.platform.dao.vo.result.QrRepertoryVO;
+import com.abi.qms.platform.dto.req.*;
+import com.abi.qms.platform.dto.res.GetQrRepertoryDetailRes;
+import com.abi.qms.platform.dto.res.ListQrRepertoryRes;
+import com.abi.qms.platform.infrastructure.util.AssertUtil;
+import com.abi.qms.platform.infrastructure.util.PageUtil;
+import com.abi.qms.platform.infrastructure.util.UserUtil;
+import com.abi.qms.platform.service.QrRepertoryService;
+import com.abi.task.common.api.exception.BusinessException;
+import com.abi.task.common.utils.PojoConverterUtils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 码库 Service业务层处理
+ *
+ * @author WeiganCai
+ * @date 2021-04-25
+ */
+@Service
+public class QrRepertoryServiceImpl  implements QrRepertoryService {
+
+	@Autowired
+	private QrRepertoryMapper qrRepertoryMapper;
+
+	/**
+	 * 保存码库
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void saveQrRepertory(SaveQrRepertoryReq req) {
+		// 同部门下码库名称不可重复
+		QueryWrapper<QrRepertory> qrRepertoryQw = new QueryWrapper<>();
+		qrRepertoryQw.eq("dept_id", req.getDeptId());
+		qrRepertoryQw.eq("name", req.getName());
+		if (req.getId() != null) {
+			qrRepertoryQw.ne("id", req.getId());
+		}
+		Integer count = qrRepertoryMapper.selectCount(qrRepertoryQw);
+		if (!count.equals(0)) {
+			throw new BusinessException("码库名称已存在");
+		}
+
+		// copy属性值
+		QrRepertory qrRepertory = PojoConverterUtils.copy(req, QrRepertory.class);
+		Integer qrRepertoryType = qrRepertory.getType();
+		// 文本导入类型设置状态为待导入,其他两种类型设置状态为待生成
+		if (QrRepertoryTypeEnum.FILE_IMPORT.is(qrRepertoryType)) {
+			qrRepertory.setStatus(QrRepertoryStatusEnum.WAIT_IMPORT.getCode());
+		} else {
+			qrRepertory.setStatus(QrRepertoryStatusEnum.WAIT_GENERATE.getCode());
+		}
+
+		// 新增or修改
+		Long userId = UserUtil.getUser().getId();
+		qrRepertory.setUpdateBy(userId);
+		if (req.getId() != null) {
+			qrRepertoryMapper.updateById(qrRepertory);
+		} else {
+			qrRepertory.setCreateBy(userId);
+			qrRepertoryMapper.insert(qrRepertory);
+		}
+
+	}
+
+	/**
+	 * 码库查询分页
+	 */
+	@Override
+	public ListQrRepertoryRes listQrRepertory(ListQrRepertoryReq req) {
+		// 分页查询
+		IPage<QrRepertoryVO> iPage = qrRepertoryMapper.listQrRepertory(PageUtil.createPage(req), req);
+		List<QrRepertoryVO> qrRepertoryList = iPage.getRecords();
+
+		// 封装出参、放入分页信息
+		ListQrRepertoryRes res = new ListQrRepertoryRes();
+		PageUtil.copyPageInfo(res, iPage);
+		List<ListQrRepertoryRes.QrRepertoryBean> qrRepertoryBeanList = PojoConverterUtils.copyList(qrRepertoryList, ListQrRepertoryRes.QrRepertoryBean.class);
+		res.setQrRepertoryBeanList(qrRepertoryBeanList);
+
+		return res;
+	}
+
+	/**
+	 * 码库查询详情
+	 */
+	@Override
+	public GetQrRepertoryDetailRes getQrRepertoryDetail(GetQrRepertoryDetailReq req) {
+		// 查询码库对象
+		QrRepertory qrRepertory = qrRepertoryMapper.selectById(req.getId());
+		AssertUtil.isNull(qrRepertory, "码库不存在");
+
+		return PojoConverterUtils.copy(qrRepertory, GetQrRepertoryDetailRes.class);
+	}
+
+	/**
+	 * 码库启用
+	 */
+	@Override
+	public void enableQrRepertory(EnableQrRepertoryReq req) {
+		List<Long> idList = req.getIds();
+		for (Long id : idList) {
+			QrRepertory qrRepertory = qrRepertoryMapper.selectById(id);
+			AssertUtil.isNull(qrRepertory, "码库不存在");
+
+			// TODO
+			QrRepertory update = new QrRepertory().setId(id).setStatus(null);
+			qrRepertoryMapper.updateById(update);
+		}
+	}
+
+	/**
+	 * 码库禁用
+	 */
+	@Override
+	public void disableFormat(DisableQrRepertoryReq req) {
+		List<Long> idList = req.getIds();
+		for (Long id : idList) {
+			QrRepertory qrRepertory = qrRepertoryMapper.selectById(id);
+			AssertUtil.isNull(qrRepertory, "码库不存在");
+
+			// TODO
+			QrRepertory update = new QrRepertory().setId(id).setStatus(QrRepertoryStatusEnum.DISABLE.getCode());
+			qrRepertoryMapper.updateById(update);
+		}
+	}
+
+	/**
+	 * 删除码库
+	 */
+	@Override
+	public void deleteQrRepertory(DeleteQrRepertoryReq req) {
+		QrRepertory qrRepertory = qrRepertoryMapper.selectById(req.getId());
+		AssertUtil.isNull(qrRepertory, "码库不存在");
+		// 只有待生成、待导入状态下才可删除
+		Integer qrRepertoryStatus = qrRepertory.getStatus();
+		if (!QrRepertoryStatusEnum.WAIT_GENERATE.is(qrRepertoryStatus) && !QrRepertoryStatusEnum.WAIT_IMPORT.is(qrRepertoryStatus)) {
+			throw new BusinessException("码库不可删除");
+		}
+
+		// 逻辑删除
+		QrRepertory update = new QrRepertory().setId(req.getId()).setIsDelete(1);
+		qrRepertoryMapper.updateById(update);
+	}
+}

+ 59 - 0
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/QrRepertoryMapper.xml

@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.abi.qms.platform.dao.mapper.QrRepertoryMapper">
+
+    <resultMap type="com.abi.qms.platform.dao.entity.QrRepertory" id="QrRepertoryResult">
+        <result property="id" column="id"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="name" column="name"/>
+        <result property="type" column="type"/>
+        <result property="haveSerial" column="have_serial"/>
+        <result property="status" column="status"/>
+        <result property="dataComposition" column="data_composition"/>
+        <result property="cloneRule" column="clone_rule"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createBy" column="create_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="isDelete" column="is_delete"/>
+    </resultMap>
+
+    <select id="listQrRepertory" resultType="com.abi.qms.platform.dao.vo.result.QrRepertoryVO">
+        SELECT
+            qr.id, bd.dept_name, qr.name, qr.type, qr.have_serial,
+            qr.status, qr.data_composition, qr.clone_rule,
+            qr.create_time, qr.create_by, qr.update_time, qr.update_by, ui.user_name AS update_by_name
+        FROM qr_repertory qr
+        LEFT JOIN base_department bd ON qr.dept_id = bd.id
+        LEFT JOIN user_info ui ON qr.update_by = ui.id
+        <where>
+            qr.is_delete = 0
+            <if test="param.deptName != null and param.deptName != ''">
+                AND bd.dept_name LIKE CONCAT('%',#{param.deptName},'%')
+            </if>
+            <if test="param.name != null and param.name != ''">
+                AND qr.name LIKE CONCAT('%',#{param.name},'%')
+            </if>
+            <if test="param.type != null">
+                AND qr.type = #{param.type}
+            </if>
+            <if test="param.status != null">
+                AND qr.status = #{param.status}
+            </if>
+            <if test="param.updateByName != null and param.updateByName != ''">
+                AND ui.user_name LIKE CONCAT('%',#{param.updateByName},'%')
+            </if>
+            <if test="param.beginUpdateTime != null and param.beginUpdateTime != ''">
+                AND qr.update_time &gt;= #{param.beginUpdateTime}
+            </if>
+            <if test="param.endUpdateTime != null and param.endUpdateTime != ''">
+                AND qr.update_time &lt;= #{param.endUpdateTime}
+            </if>
+        </where>
+
+    </select>
+
+
+</mapper>