ソースを参照

农家和顾客ID自动采番

zdsong 3 週間 前
コミット
1b8e957a73

+ 3 - 3
farm-common/src/main/java/jp/yamoto/farm/common/core/service/IRangedSeqService.java

@@ -6,15 +6,15 @@ package jp.yamoto.farm.common.core.service;
  * @author nextosd
  */
 public interface IRangedSeqService {
-
     /**
      * 顧客シリアル
      */
     public static final String SERIAL_TYPE_CUSTOMER = "customer";
+
     /**
-     * 顧客シリアルキー1
+     * 顧客シリアル
      */
-    public static final String SERIAL_PREFIX_CUSTOMER = "C";
+    public static final String SERIAL_TYPE_FARMER = "farmer";
 
     /**
      * RangedSeqを見つけてシーケンスを上げて返します

+ 14 - 3
farm-common/src/main/java/jp/yamoto/farm/common/core/service/impl/RangedSeqServiceImpl.java

@@ -2,12 +2,10 @@ package jp.yamoto.farm.common.core.service.impl;
 
 import jp.yamoto.farm.common.core.domain.entity.RangedSeq;
 import jp.yamoto.farm.common.core.service.IRangedSeqService;
-import jp.yamoto.farm.common.exception.ServiceException;
 import jp.yamoto.farm.common.mapper.RangedSeqMapper;
 import jp.yamoto.farm.common.utils.StringUtils;
 import jp.yamoto.farm.common.utils.ValueUtils;
 import jp.yamoto.farm.common.utils.uuid.IdUtils;
-import org.apache.logging.log4j.LogManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,6 +17,15 @@ import org.springframework.stereotype.Service;
 @Service
 public class RangedSeqServiceImpl implements IRangedSeqService {
 
+    /**
+     * 顧客シリアルキー1
+     */
+    private static final String SERIAL_PREFIX_CUSTOMER = "C";
+    /**
+     * 顧客シリアルキー1
+     */
+    private static final String SERIAL_PREFIX_FARMER = "F";
+
     @Autowired
     private RangedSeqMapper rangedSeqMapper;
 
@@ -31,10 +38,14 @@ public class RangedSeqServiceImpl implements IRangedSeqService {
     public String generateSerialNo(String serialType) {
         Integer seq = 0;
         String result = "";
-        if(ValueUtils.isEqual(SERIAL_TYPE_CUSTOMER, serialType)) {
+        if( ValueUtils.isEqual(SERIAL_TYPE_CUSTOMER, serialType)) {
             seq = this.increaseSequence(SERIAL_PREFIX_CUSTOMER,SERIAL_PREFIX_CUSTOMER,SERIAL_TYPE_CUSTOMER,SERIAL_TYPE_CUSTOMER,null,null);
             String serialNo = StringUtils.leftPad(String.valueOf(seq), 5, '0');
             result = SERIAL_PREFIX_CUSTOMER + serialNo;
+        } else if( ValueUtils.isEqual(SERIAL_TYPE_FARMER, serialType)) {
+            seq = this.increaseSequence(SERIAL_PREFIX_FARMER,SERIAL_PREFIX_FARMER,SERIAL_TYPE_FARMER,SERIAL_TYPE_FARMER,null,null);
+            String serialNo = StringUtils.leftPad(String.valueOf(seq), 5, '0');
+            result = SERIAL_PREFIX_FARMER + serialNo;
         }
 
         return result;

+ 0 - 1
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/master/domain/bo/MastCustomerBo.java

@@ -29,7 +29,6 @@ public class MastCustomerBo implements Serializable {
     /**
      * 顧客ID
      */
-    @LmNotBlank(params = {"{customerId}"}, groups = {ValidatorGroup.AddGroup.class, ValidatorGroup.UpdateGroup.class})
     @LmLength(min = 1, max = 20, params = {"{customerId}", "20"}, groups = {ValidatorGroup.AddGroup.class, ValidatorGroup.UpdateGroup.class})
     private String customerId;
 

+ 0 - 1
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/master/domain/bo/MastFarmerBo.java

@@ -27,7 +27,6 @@ public class MastFarmerBo implements Serializable {
     /**
      * 農家ID
      */
-    @LmNotBlank(params = {"{farmerId}"}, groups = {ValidatorGroup.AddGroup.class, ValidatorGroup.UpdateGroup.class})
     @LmLength(min = 1, max = 20, params = {"{farmerId}", "20"}, groups = {ValidatorGroup.AddGroup.class, ValidatorGroup.UpdateGroup.class})
     private String farmerId;
 

+ 7 - 1
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/master/service/impl/MastCustomerServiceImpl.java

@@ -147,6 +147,11 @@ public class MastCustomerServiceImpl extends MastCustomerBaseServiceImpl impleme
      */
     @Transactional(rollbackFor = Exception.class)
     public int insertInfo(MastCustomerBo mastCustomerBo) {
+
+        // 顧客ID
+        String autoCustomerId = rangedSeqService.generateSerialNo(IRangedSeqService.SERIAL_TYPE_CUSTOMER);
+        mastCustomerBo.setCustomerId(autoCustomerId);
+
         MastCustomerEntity mastCustomer = new MastCustomerEntity();
         BeanUtils.copyProperties(mastCustomerBo, mastCustomer);
 
@@ -223,7 +228,7 @@ public class MastCustomerServiceImpl extends MastCustomerBaseServiceImpl impleme
     /**
      * 保存前にデータを構築
      *
-     * @param mastCustomer 農家マスタ情報
+     * @param mastCustomer 顧客マスタ情報
      */
     @SneakyThrows
     private void buildCustomerInfo4Save(MastCustomerEntity mastCustomer) {
@@ -296,6 +301,7 @@ public class MastCustomerServiceImpl extends MastCustomerBaseServiceImpl impleme
         farmerSearchCheckBo.setInsertFlg(insertFlg);
 
         if (ValueUtils.isEqual(DelFlgEnum.ON.getCode(), insertFlg)) {
+
             // 顧客IDの重複チェック
             farmerSearchCheckBo.setCustomerId(mastCustomerBo.getCustomerId());
             int mastFarmerCount = mastCustomerMapper.getCustomerInfoCount(farmerSearchCheckBo);

+ 11 - 0
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/master/service/impl/MastFarmerServiceImpl.java

@@ -9,6 +9,7 @@ import jp.yamoto.farm.common.biz.service.IMastAddressBaseService;
 import jp.yamoto.farm.common.biz.service.ISysConfigService;
 import jp.yamoto.farm.common.biz.service.impl.MastFarmerBaseServiceImpl;
 import jp.yamoto.farm.common.core.enums.DelFlgEnum;
+import jp.yamoto.farm.common.core.service.IRangedSeqService;
 import jp.yamoto.farm.common.exception.ServiceException;
 import jp.yamoto.farm.common.utils.*;
 import jp.yamoto.farm.common.utils.uuid.IdUtils;
@@ -49,6 +50,9 @@ public class MastFarmerServiceImpl extends MastFarmerBaseServiceImpl implements
     @Autowired
     private AwsSesEmailService awsSesEmailService;
 
+    @Autowired
+    private IRangedSeqService rangedSeqService;
+
     /**
      * 農家マスタの検索
      *
@@ -154,9 +158,14 @@ public class MastFarmerServiceImpl extends MastFarmerBaseServiceImpl implements
      */
     @Transactional(rollbackFor = Exception.class)
     public int insertInfo(MastFarmerBo mastFarmerBo) {
+        // 農家ID
+        String autoFarmerId = rangedSeqService.generateSerialNo(IRangedSeqService.SERIAL_TYPE_FARMER);
+        mastFarmerBo.setFarmerId(autoFarmerId);
+
         MastFarmerEntity mastFarmer = new MastFarmerEntity();
         BeanUtils.copyProperties(mastFarmerBo, mastFarmer);
 
+
         // 重複チェック
         this.checkBeforeSave(DelFlgEnum.ON.getCode(), mastFarmerBo);
 
@@ -243,6 +252,7 @@ public class MastFarmerServiceImpl extends MastFarmerBaseServiceImpl implements
         if (ValueUtils.isEmpty(mastFarmer.getId())) {
             // ID
             mastFarmer.setId(IdUtils.nextIdStr());
+
             // 発行者
             mastFarmer.setIssuedBy(SecurityUtils.getLoginUser().getUsername());
             // 発行日
@@ -309,6 +319,7 @@ public class MastFarmerServiceImpl extends MastFarmerBaseServiceImpl implements
         farmerSearchCheckBo.setInsertFlg(insertFlg);
 
         if (ValueUtils.isEqual(DelFlgEnum.ON.getCode(), insertFlg)) {
+
             // 農家IDの重複チェック
             farmerSearchCheckBo.setFarmerId(mastFarmerBo.getFarmerId());
             int mastFarmerCount = mastFarmerMapper.getFarmerInfoCountByCondition(farmerSearchCheckBo);