diff --git a/yudao-module-identity/yudao-module-identity-api/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/GenerateRecordApi.java b/yudao-module-identity/yudao-module-identity-api/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/GenerateRecordApi.java new file mode 100644 index 0000000..400e9ac --- /dev/null +++ b/yudao-module-identity/yudao-module-identity-api/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/GenerateRecordApi.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.identity.api.generaterecord; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.identity.api.generaterecord.dto.GenerateRecordDTO; +import cn.iocoder.yudao.module.identity.enums.ApiConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient(name = ApiConstants.NAME) +@Api(tags = "管理后台 - 生成记录") +public interface GenerateRecordApi { + + String PREFIX = ApiConstants.CONST + "/generate-record"; + @GetMapping( PREFIX + "/getByBatchId") + @ApiOperation("根据采收批次查询生成记录") + CommonResult getByBatchId(@RequestParam("batchId") String batchId); +} diff --git a/yudao-module-identity/yudao-module-identity-api/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/dto/GenerateRecordDTO.java b/yudao-module-identity/yudao-module-identity-api/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/dto/GenerateRecordDTO.java new file mode 100644 index 0000000..6f2be5b --- /dev/null +++ b/yudao-module-identity/yudao-module-identity-api/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/dto/GenerateRecordDTO.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.identity.api.generaterecord.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** +* 标识码生成记录 Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class GenerateRecordDTO { + + @ApiModelProperty(value = "记录编码", required = true) + private String generateRecordId; + + @ApiModelProperty(value = "字符长度", required = true) + @NotNull(message = "字符长度不能为空") + private Integer charLength; + + @ApiModelProperty(value = "文件路径",required = true) + @NotNull(message = "文件路径不能为空") + private String fileUrl; + + @ApiModelProperty(value = "纯图片的文件路径") + private String imageFileUrl; + + @ApiModelProperty(value = "字符类型 0纯数字 1纯字母 2混合类型", required = true) + @NotNull(message = "字符类型 0纯数字 1纯字母 2混合类型不能为空") + private Integer charType; + + @ApiModelProperty(value = "数量", required = true) + @NotNull(message = "数量不能为空") + private Integer codeNum; + + @ApiModelProperty(value = "操作者") + private String operateUser; + + @ApiModelProperty(value = "操作者id") + private Long operateUserId; + + @ApiModelProperty(value = "状态 0:生成中 1:已生成文字码,未生成图片码 2:文字及图片码均生成", required = true) + private Integer state; + + @ApiModelProperty(value = "所属商户id", required = true) + @NotNull(message = "所属商户id不能为空") + private Long belongBusinessId; + + @ApiModelProperty(value = "所属商户名称", required = true) + @NotNull(message = "所属商户名称不能为空") + private String belongBusinessName; + + @ApiModelProperty(value = "采收批次") + private String batchId; + + @ApiModelProperty(value = "商品名称") + private String goodsName; + +} diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/GenerateRecordApiImpl.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/GenerateRecordApiImpl.java new file mode 100644 index 0000000..9228e84 --- /dev/null +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/api/generaterecord/GenerateRecordApiImpl.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.identity.api.generaterecord; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.identity.api.generaterecord.dto.GenerateRecordDTO; +import cn.iocoder.yudao.module.identity.dal.mysql.generaterecord.GenerateRecordMapper; +import cn.iocoder.yudao.module.system.enums.ApiConstants; +import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@DubboService(version = ApiConstants.VERSION) // 提供 Dubbo RPC 接口,给 Dubbo Consumer 调用 +@Validated +public class GenerateRecordApiImpl implements GenerateRecordApi { + + @Resource + private GenerateRecordMapper generateRecordMapper; + + @Override + public CommonResult getByBatchId(String batchId) { + return CommonResult.success(generateRecordMapper.getGenerateRecordByBatchId(batchId)); + } + +} diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseSaveReqVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseSaveReqVO.java index 3497b29..16f5ce5 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseSaveReqVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseSaveReqVO.java @@ -22,15 +22,6 @@ public class CodeBaseSaveReqVO { @ApiModelProperty(value = "校验码(明暗码需要)") private String verfiyCode; - @ApiModelProperty(value = "码规则id") - private Long ruleId; - - @ApiModelProperty(value = "码规则") - private String codeRuleFormat; - - @ApiModelProperty(value = "码类型 0普通码 1明暗码") - private Integer codeType; - @ApiModelProperty(value = "字符长度") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseVO.java index a85e031..4048a76 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeBaseVO.java @@ -23,18 +23,6 @@ public class CodeBaseVO { @ApiModelProperty(value = "校验码(明暗码需要)") private String verfiyCode; - @ApiModelProperty(value = "码规则id", required = true) - @NotNull(message = "码规则id不能为空") - private Long ruleId; - - @ApiModelProperty(value = "码规则", required = true) - @NotNull(message = "码规则不能为空") - private String codeRuleFormat; - - @ApiModelProperty(value = "码类型 0普通码 1明暗码", required = true) - @NotNull(message = "码类型 0普通码 1明暗码不能为空") - private Integer codeType; - @ApiModelProperty(value = "字符长度", required = true) @NotNull(message = "字符长度不能为空") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExcelVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExcelVO.java index 5f9c4f5..57b6721 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExcelVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExcelVO.java @@ -25,15 +25,6 @@ public class CodeExcelVO { // @ExcelProperty("校验码(明暗码需要)") // private String verfiyCode; - @ExcelProperty("码规则编码") - private Long ruleId; - - @ExcelProperty("码规则") - private String codeRuleFormat; - -// @ExcelProperty("码类型 0普通码 1明暗码") -// private Integer codeType; - @ExcelProperty("字符长度") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExportReqVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExportReqVO.java index a7deefc..aa637ea 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExportReqVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodeExportReqVO.java @@ -21,15 +21,6 @@ public class CodeExportReqVO { @ApiModelProperty(value = "校验码(明暗码需要)") private String verfiyCode; - @ApiModelProperty(value = "码规则id") - private Long ruleId; - - @ApiModelProperty(value = "码规则") - private String codeRuleFormat; - - @ApiModelProperty(value = "码类型 0普通码 1明暗码") - private Integer codeType; - @ApiModelProperty(value = "字符长度") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodePageReqVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodePageReqVO.java index e4cca56..17f6835 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodePageReqVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/code/vo/CodePageReqVO.java @@ -24,15 +24,6 @@ public class CodePageReqVO extends PageParam { @ApiModelProperty(value = "校验码(明暗码需要)") private String verfiyCode; - @ApiModelProperty(value = "码规则id") - private Long ruleId; - - @ApiModelProperty(value = "码规则") - private String codeRuleFormat; - - @ApiModelProperty(value = "码类型 0普通码 1明暗码") - private Integer codeType; - @ApiModelProperty(value = "字符长度") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordBaseVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordBaseVO.java index 71cb97b..2599919 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordBaseVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordBaseVO.java @@ -15,17 +15,6 @@ public class GenerateRecordBaseVO { @ApiModelProperty(value = "记录编码", required = true) private String generateRecordId; - @ApiModelProperty(value = "码规则id", required = true) - @NotNull(message = "码规则id不能为空") - private Long ruleId; - - @ApiModelProperty(value = "码规则") - private String codeRuleFormat; - - @ApiModelProperty(value = "码类型 0普通码 1明暗码", required = true) - @NotNull(message = "码类型 0普通码 1明暗码不能为空") - private Integer codeType; - @ApiModelProperty(value = "字符长度", required = true) @NotNull(message = "字符长度不能为空") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExcelVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExcelVO.java index dd35836..020d550 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExcelVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExcelVO.java @@ -20,15 +20,6 @@ public class GenerateRecordExcelVO { @ExcelProperty("记录编码") private String generateRecordId; - @ExcelProperty("码规则id") - private Long ruleId; - - @ExcelProperty("码规则") - private String codeRuleFormat; - - @ExcelProperty("码类型 0普通码 1明暗码") - private Integer codeType; - @ExcelProperty("字符长度") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExportReqVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExportReqVO.java index 044183c..66e46c7 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExportReqVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordExportReqVO.java @@ -17,15 +17,6 @@ public class GenerateRecordExportReqVO { @ApiModelProperty(value = "记录编码") private String generateRecordId; - @ApiModelProperty(value = "码规则id") - private Long ruleId; - - @ApiModelProperty(value = "码规则") - private String codeRuleFormat; - - @ApiModelProperty(value = "码类型 0普通码 1明暗码") - private Integer codeType; - @ApiModelProperty(value = "字符长度") private Integer charLength; diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordVO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordVO.java index e525b19..6e07337 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordVO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/controller/admin/generaterecord/vo/GenerateRecordVO.java @@ -1,15 +1,11 @@ package cn.iocoder.yudao.module.identity.controller.admin.generaterecord.vo; -import cn.iocoder.yudao.framework.common.util.date.DateUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotNull; -import java.util.Date; @ApiModel("管理后台 - 生成码 Request VO") @Data diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/code/CodeDO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/code/CodeDO.java index 7480563..d710cad 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/code/CodeDO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/code/CodeDO.java @@ -37,18 +37,6 @@ public class CodeDO extends BaseDO { * 校验码(明暗码需要) */ private String verfiyCode; - /** - * 码规则id - */ - private Long ruleId; - /** - * 码规则 - */ - private String codeRuleFormat; - /** - * 码类型 0普通码 1明暗码 - */ - private Integer codeType; /** * 字符长度 */ diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/generaterecord/GenerateRecordDO.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/generaterecord/GenerateRecordDO.java index aff90d5..78cd4ef 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/generaterecord/GenerateRecordDO.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/dataobject/generaterecord/GenerateRecordDO.java @@ -31,18 +31,6 @@ public class GenerateRecordDO extends BaseDO { * 记录编码 */ private String generateRecordId; - /** - * 码规则id - */ - private Long ruleId; - /** - * 码规则 - */ - private String codeRuleFormat; - /** - * 码类型 0普通码 1明暗码 - */ - private Integer codeType; /** * 字符长度 */ diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/code/CodeMapper.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/code/CodeMapper.java index 36cdc9e..150eb7c 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/code/CodeMapper.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/code/CodeMapper.java @@ -23,9 +23,6 @@ public interface CodeMapper extends BaseMapperX { .eqIfPresent(CodeDO::getGenerateRecordId, reqVO.getGenerateRecordId()) .eqIfPresent(CodeDO::getIdentityCode, reqVO.getIdentityCode()) .eqIfPresent(CodeDO::getVerfiyCode, reqVO.getVerfiyCode()) - .eqIfPresent(CodeDO::getRuleId, reqVO.getRuleId()) - .eqIfPresent(CodeDO::getCodeRuleFormat, reqVO.getCodeRuleFormat()) - .eqIfPresent(CodeDO::getCodeType, reqVO.getCodeType()) .eqIfPresent(CodeDO::getCharLength, reqVO.getCharLength()) .eqIfPresent(CodeDO::getCharType, reqVO.getCharType()) .eqIfPresent(CodeDO::getBatchId, reqVO.getBatchId()) @@ -47,9 +44,6 @@ public interface CodeMapper extends BaseMapperX { .eqIfPresent(CodeDO::getGenerateRecordId, reqVO.getGenerateRecordId()) .eqIfPresent(CodeDO::getIdentityCode, reqVO.getIdentityCode()) .eqIfPresent(CodeDO::getVerfiyCode, reqVO.getVerfiyCode()) - .eqIfPresent(CodeDO::getRuleId, reqVO.getRuleId()) - .eqIfPresent(CodeDO::getCodeRuleFormat, reqVO.getCodeRuleFormat()) - .eqIfPresent(CodeDO::getCodeType, reqVO.getCodeType()) .eqIfPresent(CodeDO::getCharLength, reqVO.getCharLength()) .eqIfPresent(CodeDO::getCharType, reqVO.getCharType()) .eqIfPresent(CodeDO::getBatchId, reqVO.getBatchId()) diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/generaterecord/GenerateRecordMapper.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/generaterecord/GenerateRecordMapper.java index e458501..db05a71 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/generaterecord/GenerateRecordMapper.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/dal/mysql/generaterecord/GenerateRecordMapper.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.identity.dal.mysql.generaterecord; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.identity.api.generaterecord.dto.GenerateRecordDTO; import cn.iocoder.yudao.module.identity.controller.admin.generaterecord.vo.GenerateRecordExportReqVO; import cn.iocoder.yudao.module.identity.controller.admin.generaterecord.vo.GenerateRecordPageReqVO; import cn.iocoder.yudao.module.identity.controller.admin.generaterecord.vo.GenerateRecordRespVO; @@ -25,9 +26,6 @@ public interface GenerateRecordMapper extends BaseMapperX { default List selectList(GenerateRecordExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(GenerateRecordDO::getGenerateRecordId, reqVO.getGenerateRecordId()) - .eqIfPresent(GenerateRecordDO::getRuleId, reqVO.getRuleId()) - .eqIfPresent(GenerateRecordDO::getCodeRuleFormat, reqVO.getCodeRuleFormat()) - .eqIfPresent(GenerateRecordDO::getCodeType, reqVO.getCodeType()) .eqIfPresent(GenerateRecordDO::getCharLength, reqVO.getCharLength()) .eqIfPresent(GenerateRecordDO::getCharType, reqVO.getCharType()) .eqIfPresent(GenerateRecordDO::getCodeNum, reqVO.getCodeNum()) @@ -41,4 +39,6 @@ public interface GenerateRecordMapper extends BaseMapperX { .orderByDesc(GenerateRecordDO::getId)); } + GenerateRecordDTO getGenerateRecordByBatchId(@Param("batchId") String batchId); + } diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/service/code/CodeServiceImpl.java b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/service/code/CodeServiceImpl.java index 0d9c4a6..7e99ddd 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/service/code/CodeServiceImpl.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/java/cn/iocoder/yudao/module/identity/service/code/CodeServiceImpl.java @@ -15,12 +15,10 @@ import cn.iocoder.yudao.module.identity.dal.mysql.code.CodeMapper; import cn.iocoder.yudao.module.identity.qrcode.QRCodeProperties; import cn.iocoder.yudao.module.identity.service.generatebatch.GenerateBatchService; import cn.iocoder.yudao.module.identity.service.generaterecord.GenerateRecordService; -import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.product.api.harvestbatch.HarvestBatchApi; import cn.iocoder.yudao.module.product.api.harvestbatch.dto.HarvestBatchDTO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -45,15 +43,9 @@ public class CodeServiceImpl implements CodeService { @Resource private CodeMapper codeMapper; - @Resource - private StringRedisTemplate stringRedisTemplate; - @Resource private GenerateRecordService generateRecordService; - @Resource - private FileApi fileApi; - @Resource private HarvestBatchApi harvestBatchApi; @@ -85,11 +77,6 @@ public class CodeServiceImpl implements CodeService { CodeDO codeDO = new CodeDO(); codeDO.setId(null); codeDO.setGenerateRecordId(recordByRecordId.getGenerateRecordId()); -// codeDO.setIdentityCode(str); -// codeDO.setVerfiyCode(Arrays.stream(verificationCodeStrings).findFirst().orElse(null)); - codeDO.setRuleId(recordByRecordId.getRuleId()); - codeDO.setCodeRuleFormat(recordByRecordId.getCodeRuleFormat()); - codeDO.setCodeType(recordByRecordId.getCodeType()); codeDO.setCharLength(recordByRecordId.getCharLength()); codeDO.setCharType(recordByRecordId.getCharType()); codeDO.setBatchType(generateBatchByRecordId.getBatchType()); diff --git a/yudao-module-identity/yudao-module-identity-biz/src/main/resources/mapper/generaterecord/GenerateRecordMapper.xml b/yudao-module-identity/yudao-module-identity-biz/src/main/resources/mapper/generaterecord/GenerateRecordMapper.xml index 16b37b9..83a8a23 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/main/resources/mapper/generaterecord/GenerateRecordMapper.xml +++ b/yudao-module-identity/yudao-module-identity-biz/src/main/resources/mapper/generaterecord/GenerateRecordMapper.xml @@ -28,4 +28,12 @@ order by igr.create_time desc + + diff --git a/yudao-module-identity/yudao-module-identity-biz/src/test/java/cn/iocoder/yudao/module/identity/service/generaterecord/GenerateRecordServiceImplTest.java b/yudao-module-identity/yudao-module-identity-biz/src/test/java/cn/iocoder/yudao/module/identity/service/generaterecord/GenerateRecordServiceImplTest.java index 8728f5a..7e2859e 100644 --- a/yudao-module-identity/yudao-module-identity-biz/src/test/java/cn/iocoder/yudao/module/identity/service/generaterecord/GenerateRecordServiceImplTest.java +++ b/yudao-module-identity/yudao-module-identity-biz/src/test/java/cn/iocoder/yudao/module/identity/service/generaterecord/GenerateRecordServiceImplTest.java @@ -107,9 +107,6 @@ public class GenerateRecordServiceImplTest extends BaseDbUnitTest { // mock 数据 GenerateRecordDO dbGenerateRecord = randomPojo(GenerateRecordDO.class, o -> { // 等会查询到 o.setGenerateRecordId(null); - o.setRuleId(null); - o.setCodeRuleFormat(null); - o.setCodeType(null); o.setCharLength(null); o.setCharType(null); o.setCodeNum(null); @@ -123,12 +120,6 @@ public class GenerateRecordServiceImplTest extends BaseDbUnitTest { generateRecordMapper.insert(dbGenerateRecord); // 测试 generateRecordId 不匹配 generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setGenerateRecordId(null))); - // 测试 ruleId 不匹配 - generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setRuleId(null))); - // 测试 codeRuleFormat 不匹配 - generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setCodeRuleFormat(null))); - // 测试 codeType 不匹配 - generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setCodeType(null))); // 测试 charLength 不匹配 generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setCharLength(null))); // 测试 charType 不匹配 @@ -168,9 +159,6 @@ public class GenerateRecordServiceImplTest extends BaseDbUnitTest { // mock 数据 GenerateRecordDO dbGenerateRecord = randomPojo(GenerateRecordDO.class, o -> { // 等会查询到 o.setGenerateRecordId(null); - o.setRuleId(null); - o.setCodeRuleFormat(null); - o.setCodeType(null); o.setCharLength(null); o.setCharType(null); o.setCodeNum(null); @@ -184,12 +172,6 @@ public class GenerateRecordServiceImplTest extends BaseDbUnitTest { generateRecordMapper.insert(dbGenerateRecord); // 测试 generateRecordId 不匹配 generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setGenerateRecordId(null))); - // 测试 ruleId 不匹配 - generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setRuleId(null))); - // 测试 codeRuleFormat 不匹配 - generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setCodeRuleFormat(null))); - // 测试 codeType 不匹配 - generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setCodeType(null))); // 测试 charLength 不匹配 generateRecordMapper.insert(cloneIgnoreId(dbGenerateRecord, o -> o.setCharLength(null))); // 测试 charType 不匹配 @@ -211,9 +193,6 @@ public class GenerateRecordServiceImplTest extends BaseDbUnitTest { // 准备参数 GenerateRecordExportReqVO reqVO = new GenerateRecordExportReqVO(); reqVO.setGenerateRecordId(null); - reqVO.setRuleId(null); - reqVO.setCodeRuleFormat(null); - reqVO.setCodeType(null); reqVO.setCharLength(null); reqVO.setCharType(null); reqVO.setCodeNum(null); diff --git a/yudao-module-product/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java b/yudao-module-product/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java index 12df960..aefb499 100644 --- a/yudao-module-product/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java +++ b/yudao-module-product/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java @@ -88,6 +88,7 @@ public interface ErrorCodeConstants { ErrorCode CREATE_BLOCK_CERTIFICATE_FAIL = new ErrorCode(1013006006, "生成区块证书失败"); ErrorCode ONLY_ON_CHAIN_HARVEST_INFO_CAN_DO_UPDATE_CHAIN_STATUS = new ErrorCode(1013006007, "只有已上链的采收入库数据才可修改链状态"); ErrorCode UPDATE_CREATE_BLOCK_CERTIFICATE_FAIL = new ErrorCode(1013006008, "更新区块证书失败"); + ErrorCode CAN_NOT_DELETE_BECAUSE_EXIST_GENERATE_RECORD = new ErrorCode(1013006009, "存在生码记录, 无法进行删除"); /** * 采收批次相关异常 模块代码 007 */ diff --git a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/harvestbatch/HarvestBatchController.java b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/harvestbatch/HarvestBatchController.java index e7d0210..ff02dfc 100644 --- a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/harvestbatch/HarvestBatchController.java +++ b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/harvestbatch/HarvestBatchController.java @@ -39,24 +39,6 @@ public class HarvestBatchController { @Resource private HarvestBatchService harvestBatchService; - @DeleteMapping("/delete") - @ApiOperation("删除采收批次") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) - @PreAuthorize("@ss.hasPermission('product:harvest-batch:delete')") - public CommonResult deleteHarvestBatch(@RequestParam("id") Long id) { - harvestBatchService.deleteHarvestBatch(id); - return CommonResult.success(Boolean.TRUE); - } - - @DeleteMapping("/deleteBatch") - @ApiOperation("批量删除采收批次") - @ApiImplicitParam(name = "ids", value = "ID列表", required = true, dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('product:harvest-batch:delete')") - public CommonResult deleteBatch(@RequestParam("ids") List ids) { - harvestBatchService.deleteBatch(ids); - return CommonResult.success(Boolean.TRUE); - } - @GetMapping("/get") @ApiOperation("获得采收批次") @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) diff --git a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/framework/rpc/config/RpcConfiguration.java b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/framework/rpc/config/RpcConfiguration.java index 99aa7b6..d177b0e 100644 --- a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/framework/rpc/config/RpcConfiguration.java +++ b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/framework/rpc/config/RpcConfiguration.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.chain.api.blockcertificate.BlockCertificateApi; import cn.iocoder.yudao.module.chain.api.operatedetail.OperateDetailApi; import cn.iocoder.yudao.module.configure.api.deviceenvtype.DeviceEnvTypeApi; import cn.iocoder.yudao.module.configure.api.uniTemplate.UniTemplateApi; +import cn.iocoder.yudao.module.identity.api.generaterecord.GenerateRecordApi; import cn.iocoder.yudao.module.identity.api.scanrecord.ScanRecordApi; import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.system.api.dict.DictDataApi; @@ -26,6 +27,7 @@ import org.springframework.context.annotation.Configuration; WorkersinfoApi.class, UniTemplateApi.class, ScanRecordApi.class, + GenerateRecordApi.class, FileApi.class, DeviceEnvTypeApi.class, LanguageTypeApi.class, diff --git a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchService.java b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchService.java index 7b0ef04..caf3ace 100644 --- a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchService.java +++ b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchService.java @@ -15,19 +15,6 @@ import java.util.Map; */ public interface HarvestBatchService { - /** - * 删除采收批次 - * - * @param id 编号 - */ - void deleteHarvestBatch(Long id); - - /** - * 批量删除采收批次 - * @param ids id集合 - */ - void deleteBatch(List ids); - /** * 获得采收批次 * diff --git a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchServiceImpl.java b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchServiceImpl.java index dd4cd6c..bd06b6a 100644 --- a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchServiceImpl.java +++ b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestbatch/HarvestBatchServiceImpl.java @@ -82,30 +82,6 @@ public class HarvestBatchServiceImpl implements HarvestBatchService { @Resource private LanguageTypeApi languageTypeApi; - @Override - public void deleteHarvestBatch(Long id) { - // 校验存在 - validateHarvestBatchExists(id); - // 删除 - harvestBatchMapper.deleteById(id); - } - - @Override - public void deleteBatch(List ids) { - List harvestBatchs = harvestBatchMapper.selectList(new LambdaQueryWrapperX().in(HarvestBatchDO::getId, ids)); - if(harvestBatchs.size() != ids.size()) { - throw ServiceExceptionUtil.exception(ErrorCodeConstants.HARVEST_BATCH_NOT_EXISTS); - } - harvestBatchMapper.deleteBatchIds(ids); - } - - private void validateHarvestBatchExists(Long id) { - HarvestBatchDO harvestBatchDO = harvestBatchMapper.selectById(id); - if (harvestBatchDO == null) { - throw ServiceExceptionUtil.exception(ErrorCodeConstants.HARVEST_BATCH_NOT_EXISTS); - } - } - @Override public HarvestBatchRespVO getHarvestBatchDetail(Long id) { return harvestBatchMapper.getHarvestBatchDetail(id, null, null); diff --git a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestinfo/HarvestInfoServiceImpl.java b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestinfo/HarvestInfoServiceImpl.java index 7aa49c1..59fc297 100644 --- a/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestinfo/HarvestInfoServiceImpl.java +++ b/yudao-module-product/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/harvestinfo/HarvestInfoServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.product.service.harvestinfo; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.enums.BlockStateEnum; import cn.iocoder.yudao.framework.common.enums.CodeEnum; import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; @@ -20,6 +21,8 @@ import cn.iocoder.yudao.module.chain.enums.ChainStatusEnum; import cn.iocoder.yudao.module.chain.enums.OperateTypeEnum; import cn.iocoder.yudao.module.configure.api.uniTemplate.UniTemplateApi; import cn.iocoder.yudao.module.configure.api.uniTemplate.dto.UniTemplateDTO; +import cn.iocoder.yudao.module.identity.api.generaterecord.GenerateRecordApi; +import cn.iocoder.yudao.module.identity.api.generaterecord.dto.GenerateRecordDTO; import cn.iocoder.yudao.module.product.controller.admin.harvestbatch.vo.HarvestBatchBaseVO; import cn.iocoder.yudao.module.product.controller.admin.harvestbatch.vo.HarvestBatchRespVO; import cn.iocoder.yudao.module.product.controller.admin.harvestbatch.vo.HarvestBatchSaveReqVO; @@ -77,6 +80,9 @@ public class HarvestInfoServiceImpl implements HarvestInfoService { @Resource private LanguageTypeApi languageTypeApi; + @Resource + private GenerateRecordApi generateRecordApi; + @Override @Transactional public Long createHarvestInfo(HarvestInfoCreateReqVO createReqVO) { @@ -146,18 +152,22 @@ public class HarvestInfoServiceImpl implements HarvestInfoService { if (harvestInfo == null) { throw ServiceExceptionUtil.exception(ErrorCodeConstants.HARVEST_INFO_NOT_EXISTS); } - if(!harvestInfo.getBlockState().equals(BlockStateEnum.NOT_ON_CHAIN.getBlockState())) { + if (!harvestInfo.getBlockState().equals(BlockStateEnum.NOT_ON_CHAIN.getBlockState())) { throw ServiceExceptionUtil.exception(ErrorCodeConstants.ONLY_NOT_ON_CHAIN_HARVEST_INFO_CAN_BE_EDIT); } + List DBHarvestBatchList = harvestBatchMapper.selectList(new LambdaQueryWrapperX() + .eq(HarvestBatchDO::getHarvestId, harvestInfo.getHarverstId())); + Map goodsInfoMap = new HashMap<>(); List willUpdateIds = new ArrayList<>();// 将要更新的投入品批次主键id this.verifiGoodsInfos(updateReqVO.getHarvestBatchs(), goodsInfoMap, willUpdateIds, harvestInfo.getBelongBusinessId()); + List DBBatchIds = DBHarvestBatchList.stream().map(HarvestBatchDO::getId).collect(Collectors.toList()); // 验证将要更新的批次 Map harvestBatchMaps = new HashMap<>();// 采收批次键值对 // 验证将要更新的批次 - if(willUpdateIds.size() > 0) { + if (!willUpdateIds.isEmpty()) { List harvestBatchDOs = harvestBatchMapper.selectList(new LambdaQueryWrapperX() .in(HarvestBatchDO::getId, willUpdateIds) .eq(HarvestBatchDO::getHarvestId, harvestInfo.getHarverstId())); @@ -170,8 +180,9 @@ public class HarvestInfoServiceImpl implements HarvestInfoService { List addList = new ArrayList<>(); // 需要新增的批次集合 List updateList = new ArrayList<>(); // 需要新增的批次集合 - for(HarvestBatchSaveReqVO item: updateReqVO.getHarvestBatchs()) { - if(item.getId() != null) { + Collection deleteIds = CollUtil.subtract(DBBatchIds, willUpdateIds);// 需要删除的批次集合 + for (HarvestBatchSaveReqVO item: updateReqVO.getHarvestBatchs()) { + if (item.getId() != null) { // 更新流程 HarvestBatchDO harvestBatchDO = harvestBatchMaps.get(item.getId()); // 只更新可更新的字段 @@ -200,13 +211,17 @@ public class HarvestInfoServiceImpl implements HarvestInfoService { harvestInfoMapper.updateById(harvestInfoDO); - if(updateList.size() > 0) { + if (!updateList.isEmpty()) { harvestBatchMapper.updateBatch(updateList, Integer.MAX_VALUE); } - if(addList.size() > 0) { + if (!addList.isEmpty()) { harvestBatchMapper.insertBatch(addList); } + + if (!deleteIds.isEmpty()) { + harvestBatchMapper.deleteBatchIds(deleteIds); + } } private void verifiGoodsInfos(List harvestBatchs, Map goodsInfoMap, List willUpdateIds, Long businessInfoId) { @@ -245,17 +260,33 @@ public class HarvestInfoServiceImpl implements HarvestInfoService { } @Override + @Transactional public void deleteHarvestInfo(Long id) { // 校验存在 - validateHarvestInfoExists(id); + HarvestInfoDO harvestInfo = validateHarvestInfoExists(id); + + HarvestBatchDO harvestBatch = harvestBatchMapper.selectOne(new LambdaQueryWrapperX().eq(HarvestBatchDO::getHarvestId, harvestInfo.getHarverstId())); + + if (harvestBatch != null) { + // 校验是否已生成码包 + GenerateRecordDTO generateRecord = generateRecordApi.getByBatchId(harvestBatch.getHarvestBatchId()).getData(); + if (generateRecord != null) { + throw ServiceExceptionUtil.exception(ErrorCodeConstants.CAN_NOT_DELETE_BECAUSE_EXIST_GENERATE_RECORD); + } + + harvestBatchMapper.deleteById(harvestBatch.getId()); + } + // 删除 harvestInfoMapper.deleteById(id); } - private void validateHarvestInfoExists(Long id) { - if (harvestInfoMapper.selectById(id) == null) { + private HarvestInfoDO validateHarvestInfoExists(Long id) { + HarvestInfoDO harvestInfo = harvestInfoMapper.selectById(id); + if (harvestInfo == null) { throw ServiceExceptionUtil.exception(ErrorCodeConstants.HARVEST_INFO_NOT_EXISTS); } + return harvestInfo; } @Override @@ -270,7 +301,7 @@ public class HarvestInfoServiceImpl implements HarvestInfoService { List harvestBatchResps = HarvestBatchConvert.INSTANCE.convertList(list); List goodsIds = harvestBatchResps.stream().map(HarvestBatchBaseVO::getGoodsId).collect(Collectors.toList()); List goodsInfos = goodsInfoApi.getGoodsInfoListByGoodsIds(goodsIds, harvestInfo.getBelongBusinessId()).getData(); - if(goodsInfos != null && !goodsInfos.isEmpty() || Objects.requireNonNull(goodsInfos).size() != goodsIds.size()) { + if(goodsInfos != null && !goodsInfos.isEmpty()) { Map goodsInfoMap = new HashMap<>(); goodsInfos.forEach(item -> goodsInfoMap.put(item.getGoodsId(), item));