ソースを参照

顾客 系统来源标识增加/らくうるカート连携的数据不允许删除

zdsong 1 週間 前
コミット
5acc5168d0

+ 24 - 0
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/constants/CrmConstants.java

@@ -4,8 +4,32 @@ package jp.yamoto.farm.crm.biz.constants;
  * CRM システム 共通定数情報
  */
 public class CrmConstants {
+
+    // 辞書
+    /**
+     * 辞書 注文ステータス
+     */
     public static final String DICT_TYPE_ORDER_STATUS = "bss_order_status";
+    /**
+     * 辞書 お問い合わせステータス
+     */
     public static final String DICT_TYPE_ASK_STATUS = "bss_ask_status";
+    /**
+     *辞書 カテゴリ(大)
+     */
     public static final String DICT_TYPE_ASK_CATEGORY_BIG = "bss_ask_category_big";
+    /**
+     * 辞書 カテゴリ(中)
+     */
     public static final String DICT_TYPE_ASK_CATEGORY_MID = "bss_ask_category_mid";
+
+    //  システムソースフラグ
+    /**
+     * システムソースフラグ = CRM
+     */
+    public static final String SYS_SOURCE_FLG_C = "0";
+    /**
+     * システムソースフラグ = らくうるカート
+     */
+    public static final String SYS_SOURCE_FLG_R = "1";
 }

+ 5 - 1
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/master/domain/entity/MastCustomer.java

@@ -5,7 +5,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.io.Serial;
-import java.math.BigDecimal;
 
 /**
  * 顧客マスタ (mast_customer)
@@ -130,6 +129,11 @@ public class MastCustomer extends BaseEntity {
     private String farmerId;
 
     /**
+     * システムソースフラグ
+     */
+    private String systemSourceFlg;
+
+    /**
      * 廃止フラグ
      */
     private String discontinuedFlg;

+ 5 - 0
farm-crm-biz/src/main/java/jp/yamoto/farm/crm/biz/master/domain/vo/MastCustomerVo.java

@@ -122,6 +122,11 @@ public class MastCustomerVo extends BaseEntity {
     private String farmerId;
 
     /**
+     * システムソースフラグ
+     */
+    private String systemSourceFlg;
+
+    /**
      * 廃止フラグ
      */
     private String discontinuedFlg;

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

@@ -4,13 +4,15 @@ import jp.yamoto.farm.common.core.domain.model.LoginUser;
 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.DecryptUtils;
+import jp.yamoto.farm.common.utils.MessageUtils;
+import jp.yamoto.farm.common.utils.SecurityUtils;
+import jp.yamoto.farm.common.utils.ValueUtils;
 import jp.yamoto.farm.common.utils.uuid.IdUtils;
+import jp.yamoto.farm.crm.biz.constants.CrmConstants;
 import jp.yamoto.farm.crm.biz.master.domain.bo.MastCustomerBo;
 import jp.yamoto.farm.crm.biz.master.domain.entity.MastCustomer;
-import jp.yamoto.farm.crm.biz.master.domain.entity.MastFarmer;
 import jp.yamoto.farm.crm.biz.master.domain.vo.MastCustomerVo;
-import jp.yamoto.farm.crm.biz.master.domain.vo.MastFarmerVo;
 import jp.yamoto.farm.crm.biz.master.mapper.MastCustomerMapper;
 import jp.yamoto.farm.crm.biz.master.service.IMastCustomerService;
 import lombok.SneakyThrows;
@@ -179,6 +181,14 @@ public class MastCustomerServiceImpl implements IMastCustomerService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int deleteLogicByIdAndVersion(MastCustomer mastCustomer) {
+        // 削除が許可されるかどうかを決定します。
+        MastCustomerVo mastCustomerVo = mastCustomerMapper.selectById(mastCustomer.getId());
+        if (ValueUtils.isNotEmpty(mastCustomerVo)) {
+            if (ValueUtils.isEqual(CrmConstants.SYS_SOURCE_FLG_R, mastCustomerVo.getSystemSourceFlg())) {
+                throw new ServiceException(MessageUtils.message("E0063", MessageUtils.message("label.customer")));
+            }
+        }
+
         // 該当データは既に別のユーザーより削除されました。
         int result = mastCustomerMapper.deleteLogicByIdAndVersion(mastCustomer);
         if (result < 1) {

+ 15 - 0
farm-crm-biz/src/main/resources/mapper/crm/MastCustomerMapper.xml

@@ -26,6 +26,7 @@
         <result property="mobile" column="mobile"/>
         <result property="fax" column="fax"/>
         <result property="farmerId" column="farmer_id"/>
+        <result property="systemSourceFlg" column="system_source_flg"/>
         <result property="discontinuedFlg" column="discontinued_flg"/>
         <result property="discontinuedDate" column="discontinued_date"/>
         <result property="createTime" column="create_time"/>
@@ -61,6 +62,7 @@
           mobile,
           fax,
           farmer_id,
+          system_source_flg,
           discontinued_flg,
           discontinued_date,
           create_time,
@@ -141,6 +143,9 @@
             <if test="farmerId != null  and farmerId != ''">
                 and farmer_id = #{farmerId}
             </if>
+            <if test="systemSourceFlg != null  and systemSourceFlg != ''">
+                and system_source_flg = #{systemSourceFlg}
+            </if>
             <if test="discontinuedFlg != null ">
                 and discontinued_flg = #{discontinuedFlg}
             </if>
@@ -250,6 +255,9 @@
             <if test="farmerId != null">
                 farmer_id,
             </if>
+            <if test="systemSourceFlg != null">
+                system_source_flg,
+            </if>
             <if test="discontinuedFlg != null">
                 discontinued_flg,
             </if>
@@ -346,6 +354,9 @@
             <if test="farmerId != null">
                 #{farmerId},
             </if>
+            <if test="systemSourceFlg != null">
+                #{systemSourceFlg},
+            </if>
             <if test="discontinuedFlg != null">
                 #{discontinuedFlg},
             </if>
@@ -446,6 +457,9 @@
             <if test="farmerId != null">
                 farmer_id = #{farmerId},
             </if>
+            <if test="systemSourceFlg != null">
+                system_source_flg = #{systemSourceFlg},
+            </if>
             <if test="discontinuedFlg != null">
                 discontinued_flg = #{discontinuedFlg},
             </if>
@@ -501,6 +515,7 @@
             update_time = #{updateTime}
         </if>
         <where>
+            id = #{id}
             <if test="customerId != null  and customerId != ''">
                 and customer_id = #{customerId}
             </if>

+ 2 - 0
farm-crm/src/main/resources/i18n/messages.properties

@@ -60,6 +60,7 @@ E0059=\u8A72\u5F53\u691C\u5B9A\u7A2E\u985E\u306F\u65E2\u306B\u7D10\u4ED8\u3051\u
 E0060=\u8A8D\u8A3C\u9805\u76EE\u30DE\u30B9\u30BF\u306B\u304A\u3051\u308B\u8A8D\u8A3C\u9805\u76EE\u306E\u500B\u6570\u304C\u5909\u66F4\u3055\u308C\u305F\u305F\u3081\u3001<br>\u7D10\u4ED8\u3051\u3092\u884C\u3046\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
 E0061=\u6B8B\u5FF5\u306A\u304C\u3089\u3001\u30A2\u30AF\u30BB\u30B9IP\u306F\u30B7\u30B9\u30C6\u30E0\u30D6\u30E9\u30C3\u30AF\u30EA\u30B9\u30C8\u306B\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u3059.
 E0062={0}\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8({1})\u304C\u4E0D\u6B63\u3067\u3059\u3002
+E0063=\u3089\u304F\u3046\u308B\u30AB-\u30C8\u304B\u3089\u30AF\u30ED-\u30E9-\u3067\u53D6\u5F97\u3057\u305F{0}\u60C5\u5831\u306F\u524A\u9664\u3067\u304D\u306A\u3044
 
 EM001=\u6587\u5B57\u6570\u306F1\uFF5E64\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 EM002=\u4E26\u3073\u9806\u306F1\uFF5E10\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
@@ -85,6 +86,7 @@ label.representativeName=\u4EE3\u8868\u8005\u540D
 label.representativeNameKn=\u4EE3\u8868\u8005\u540D\uFF08\u30AB\u30CA\uFF09
 
 #\u9867\u5BA2
+label.customer=\u9867\u5BA2
 label.customerId=\u9867\u5BA2ID
 label.customerName=\u9867\u5BA2\u540D