ソースを参照

顧客一覧作成

quyx@nextosd.com 4 ヶ月 前
コミット
e7df43d5b3

+ 10 - 3
yamada-fcbi/src/main/java/jp/yamada/fcbi/domain/YmdfCustomer.java

@@ -45,7 +45,7 @@ public class YmdfCustomer extends BaseEntity
     /** 市区町村 */
     private String cityTown;
     /** 住所 */
-    private String Address1;
+    private String address1;
     /** 郵便番号 */
     private String postalCode;
     /** 携帯電話番号 */
@@ -54,11 +54,11 @@ public class YmdfCustomer extends BaseEntity
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date birthDate;
     /** 性別 */
-    private String gender;
+    private Integer gender;
     /** メールアドレス */
     private String email;
     /** 会員レベル */
-    private Integer memberFlag;
+    private Integer memberLevel;
     /** 直近購入年月 */
     private String lastPurchaseMonth;
     /** 最終購入日 */
@@ -107,4 +107,11 @@ public class YmdfCustomer extends BaseEntity
     private String emailAllowedFlagStr;
 
     private Integer minSpendingAmount;
+
+    private String dmAllowedFlagDesc;
+    private String emailAllowedFlagDesc;
+    private String genderFlagDesc;
+    private String memberLevelFlagDesc;
+    private String dmTargetFlagDesc;
+    private String smsAllowedFlagDesc;
 }

+ 41 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/enums/DmTargetFlagEnum.java

@@ -0,0 +1,41 @@
+package jp.yamada.fcbi.enums;
+
+import lombok.Getter;
+
+/**
+ * DM対象フラグ定数
+ *
+ * @author fcbi
+ * @date 2025-07-29
+ */
+@Getter
+public enum DmTargetFlagEnum {
+    /**
+     * 0:非対象
+     */
+    NOT_OBJECT(0, "非対象"),
+    /**
+     * 1:対象
+     */
+    OBJECT(1, "対象");
+
+    private final Integer code;
+    private final String label;
+
+    DmTargetFlagEnum(final Integer code, final String label) {
+        this.code = code;
+        this.label = label;
+    }
+
+    public static DmTargetFlagEnum fromCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+        for (DmTargetFlagEnum value : values()) {
+            if (value.code.equals(code)) {
+                return value;
+            }
+        }
+        throw new IllegalArgumentException("Invalid code: " + code);
+    }
+}

+ 46 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/enums/GenderFlagEnum.java

@@ -0,0 +1,46 @@
+package jp.yamada.fcbi.enums;
+
+import lombok.Getter;
+
+/**
+ * 性別定数
+ *
+ * @author fcbi
+ * @date 2025-07-29
+ */
+@Getter
+public enum GenderFlagEnum {
+    /**
+     * 0:未設定
+     */
+    NOT_SET(0, "未設定"),
+    /**
+     * 1:男性
+     */
+    MALE(1, "男性"),
+    /**
+     * 2:女性
+     */
+    FEMALE(2, "女性");
+
+
+    private final Integer code;
+    private final String label;
+
+    GenderFlagEnum(final Integer code, final String label) {
+        this.code = code;
+        this.label = label;
+    }
+
+    public static GenderFlagEnum fromCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+        for (GenderFlagEnum value : values()) {
+            if (value.code.equals(code)) {
+                return value;
+            }
+        }
+        throw new IllegalArgumentException("Invalid code: " + code);
+    }
+}

+ 46 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/enums/MemberLevelFlagEnum.java

@@ -0,0 +1,46 @@
+package jp.yamada.fcbi.enums;
+
+import lombok.Getter;
+
+/**
+ * 会員レベル定数
+ *
+ * @author fcbi
+ * @date 2025-07-29
+ */
+@Getter
+public enum MemberLevelFlagEnum {
+    /**
+     * 1:普通会員
+     */
+    NOT_SET(1, "普通会員"),
+    /**
+     * 2:VIP
+     */
+    MALE(2, "VIP"),
+    /**
+     * 3:プレミアム
+     */
+    FEMALE(3, "プレミアム");
+
+
+    private final Integer code;
+    private final String label;
+
+    MemberLevelFlagEnum(final Integer code, final String label) {
+        this.code = code;
+        this.label = label;
+    }
+
+    public static MemberLevelFlagEnum fromCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+        for (MemberLevelFlagEnum value : values()) {
+            if (value.code.equals(code)) {
+                return value;
+            }
+        }
+        throw new IllegalArgumentException("Invalid code: " + code);
+    }
+}

+ 35 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/enums/NotPurchasedEnum.java

@@ -0,0 +1,35 @@
+package jp.yamada.fcbi.enums;
+
+import lombok.Getter;
+
+/**
+ * 集計結果
+ *
+ * @author fcbi
+ * @date 2025-07-29
+ */
+@Getter
+public enum NotPurchasedEnum {
+    /**
+     * 1:月度FC別売上集計
+     */
+    NOT_PURCHASED(0);
+
+    private final Integer code;
+
+    NotPurchasedEnum(final Integer code) {
+        this.code = code;
+    }
+
+    public static NotPurchasedEnum fromCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+        for (NotPurchasedEnum value : values()) {
+            if (value.code.equals(code)) {
+                return value;
+            }
+        }
+        throw new IllegalArgumentException("Invalid code: " + code);
+    }
+}

+ 37 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/enums/PurchaseFrequencyFlagEnum.java

@@ -0,0 +1,37 @@
+package jp.yamada.fcbi.enums;
+
+import lombok.Getter;
+
+/**
+ * 購入頻度定数
+ *
+ * @author fcbi
+ * @date 2025-07-29
+ */
+@Getter
+public enum PurchaseFrequencyFlagEnum {
+    /**
+     * 0:未購入
+     */
+    NOT_PURCHASED(0, "未購入");
+
+    private final Integer code;
+    private final String label;
+
+    PurchaseFrequencyFlagEnum(final Integer code, final String label) {
+        this.code = code;
+        this.label = label;
+    }
+
+    public static PurchaseFrequencyFlagEnum fromCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+        for (PurchaseFrequencyFlagEnum value : values()) {
+            if (value.code.equals(code)) {
+                return value;
+            }
+        }
+        throw new IllegalArgumentException("Invalid code: " + code);
+    }
+}

+ 41 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/enums/SmsAllowedFlagEnum.java

@@ -0,0 +1,41 @@
+package jp.yamada.fcbi.enums;
+
+import lombok.Getter;
+
+/**
+ * SMS配信許可定数
+ *
+ * @author fcbi
+ * @date 2025-07-29
+ */
+@Getter
+public enum SmsAllowedFlagEnum {
+    /**
+     * 0:不許可
+     */
+    NOT_ALLOWED(0, "不許可"),
+    /**
+     * 1:許可
+     */
+    ALLOWED(1, "許可");
+
+    private final Integer code;
+    private final String label;
+
+    SmsAllowedFlagEnum(final Integer code, final String label) {
+        this.code = code;
+        this.label = label;
+    }
+
+    public static SmsAllowedFlagEnum fromCode(Integer code) {
+        if (code == null) {
+            return null;
+        }
+        for (SmsAllowedFlagEnum value : values()) {
+            if (value.code.equals(code)) {
+                return value;
+            }
+        }
+        throw new IllegalArgumentException("Invalid code: " + code);
+    }
+}

+ 0 - 40
yamada-fcbi/src/main/java/jp/yamada/fcbi/mapper/YmdfSurveyMapper.java

@@ -41,46 +41,6 @@ public interface YmdfSurveyMapper
     List<YmdfSurvey> selectYmdfSurveyDetailsList(YmdfSurvey ymdfSurvey);
 
     /**
-     * 顧客一覧結果の取得
-     *
-     * @param ymdfSurvey 顧客一覧結果の取得
-     * @return 顧客一覧結果の取得
-     */
-    List<YmdfSurvey> selectYmdfCustomerList(YmdfSurvey ymdfSurvey);
-
-    /**
-     * 店舗結果の取得
-     *
-     * @param ymdfSurvey 店舗結果の取得
-     * @return 店舗結果の取得
-     */
-    List<YmdfSurvey> selectYmdfFcStoreOptionsList(YmdfSurvey ymdfSurvey);
-
-    /**
-     * 顧客詳細
-     *
-     * @param customerId 顧客詳細・キー
-     * @return 顧客詳細
-     */
-    public YmdfSurvey selectYmdfCustomerDetailList(String customerId);
-
-    /**
-     * 店铺列表結果の取得
-     *
-     * @param ymdfSurvey 店铺列表結果の取得
-     * @return 店铺列表結果の取得
-     */
-    List<YmdfSurvey> selectYmdfCustomerCsvList(YmdfSurvey ymdfSurvey);
-
-    /**
-     * 地域名列表結果の取得
-     *
-     * @param ymdfSurvey 地域名列表結果の取得
-     * @return 地域名列表結果の取得
-     */
-    List<YmdfSurvey> selectYmdfCustomerDmList(YmdfSurvey ymdfSurvey);
-
-    /**
      * アンケート回答詳細の取得
      *
      * @param ymdfSurvey アンケート回答詳細の取得

+ 10 - 3
yamada-fcbi/src/main/java/jp/yamada/fcbi/param/YmdfCustomerParam.java

@@ -38,7 +38,7 @@ public class YmdfCustomerParam implements Serializable {
     /** 市区町村 */
     private String cityTown;
     /** 住所 */
-    private String Address1;
+    private String address1;
     /** 郵便番号 */
     private String postalCode;
     /** 携帯電話番号 */
@@ -47,11 +47,11 @@ public class YmdfCustomerParam implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date birthDate;
     /** 性別 */
-    private String gender;
+    private Integer gender;
     /** メールアドレス */
     private String email;
     /** 会員レベル */
-    private Integer memberFlag;
+    private Integer memberLevel;
     /** 直近購入年月 */
     private String lastPurchaseMonth;
     /** 最終購入日 */
@@ -72,4 +72,11 @@ public class YmdfCustomerParam implements Serializable {
 
     private List<String> brandNames ;
 
+    private String dmAllowedFlagDesc;
+    private String emailAllowedFlagDesc;
+    private String genderFlagDesc;
+    private String memberLevelFlagDesc;
+    private String dmTargetFlagDesc;
+    private String smsAllowedFlagDesc;
+
 }

+ 32 - 6
yamada-fcbi/src/main/java/jp/yamada/fcbi/service/impl/YmdfCustomerServiceImpl.java

@@ -10,10 +10,7 @@ import jp.yamada.fcbi.constants.Constants;
 import jp.yamada.fcbi.constants.PrefixIdConstants;
 import jp.yamada.fcbi.domain.*;
 import jp.yamada.fcbi.domain.vo.*;
-import jp.yamada.fcbi.enums.DmAllowedFlagEnum;
-import jp.yamada.fcbi.enums.EmailAllowedFlagEnum;
-import jp.yamada.fcbi.enums.PublicModeEnum;
-import jp.yamada.fcbi.enums.QuestionTypeEnum;
+import jp.yamada.fcbi.enums.*;
 import jp.yamada.fcbi.mapper.YmdfCustomerMapper;
 import jp.yamada.fcbi.mapper.YmdfPurchaseSaleMapper;
 import jp.yamada.fcbi.mapper.YmdfSurveyMapper;
@@ -95,9 +92,38 @@ public class YmdfCustomerServiceImpl implements IYmdfCustomerService
      */
     @Override
     public YmdfCustomer selectYmdfCustomerDetailList(YmdfCustomerParam ymdfCustomerParam) {
-
         String customerId = ymdfCustomerParam.getCustomerId();
-        return ymdfCustomerMapper.selectYmdfCustomerDetailList(customerId);
+        YmdfCustomer customer = ymdfCustomerMapper.selectYmdfCustomerDetailList(customerId);
+
+        if (customer != null) {
+
+            DmAllowedFlagEnum dmEnum = DmAllowedFlagEnum.fromCode(customer.getDmAllowedFlag());
+            customer.setDmAllowedFlagDesc(dmEnum.getLabel());
+
+            EmailAllowedFlagEnum emailEnum = EmailAllowedFlagEnum.fromCode(customer.getEmailAllowedFlag());
+            customer.setEmailAllowedFlagDesc(emailEnum.getLabel());
+
+            GenderFlagEnum genderEnum = GenderFlagEnum.fromCode(customer.getGender());
+            customer.setGenderFlagDesc(genderEnum.getLabel());
+
+            MemberLevelFlagEnum memberLevelEnum = MemberLevelFlagEnum.fromCode(customer.getMemberLevel());
+            customer.setMemberLevelFlagDesc(memberLevelEnum.getLabel());
+
+            DmTargetFlagEnum dmTargetFlagEnum = DmTargetFlagEnum.fromCode(customer.getDmTargetFlag());
+            customer.setDmTargetFlagDesc(dmTargetFlagEnum.getLabel());
+
+            SmsAllowedFlagEnum smsAllowedFlagEnum = SmsAllowedFlagEnum.fromCode(customer.getSmsAllowedFlag());
+            customer.setSmsAllowedFlagDesc(smsAllowedFlagEnum.getLabel());
+
+            String purchaseFrequency = customer.getPurchaseFrequency();
+            if (String.valueOf(NotPurchasedEnum.NOT_PURCHASED.getCode()).equals(purchaseFrequency)) {
+                customer.setPurchaseFrequency(PurchaseFrequencyFlagEnum.NOT_PURCHASED.getLabel());
+            } else if (purchaseFrequency != null) {
+                customer.setPurchaseFrequency(purchaseFrequency + "回");
+            }
+        }
+
+        return customer;
     }
 
     /**

+ 2 - 2
yamada-fcbi/src/main/resources/mapper/fcbi/YmdfCustomerMapper.xml

@@ -33,7 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="dmTargetFlag" column="dm_target_flag"/>
         <result property="purchaseFrequency" column="purchase_frequency"/>
         <result property="lastPurchaseDate" column="last_purchase_date"/>
-        <result property="memberFlag" column="member_flag"/>
+        <result property="memberLevel" column="member_level"/>
         <result property="email" column="email"/>
         <result property="gender" column="gender"/>
     </resultMap>
@@ -285,7 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             c.mobile_phone,
             c.address1,
             c.email,
-            c.member_flag,
+            c.member_level,
             c.last_purchase_month,
             c.last_purchase_date,
             c.purchase_frequency,