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

+ 4 - 0
yamada-admin/src/main/resources/i18n/messages.properties

@@ -172,5 +172,9 @@ businessTypeCode=\u696D\u7A2E
 regions=\u30A8\u30EA\u30A2
 customerName=\u9867\u5BA2\u540D
 customerNameKana=\u9867\u5BA2\u540D(\u30AB\u30CA)
+fcMemberCode=\u4F1A\u54E1\u30B3\u30FC\u30C9
+fcMemberName=\u4F1A\u54E1\u540D
+contactPerson=\u9023\u7D61\u8005
+contactPhone=\u9023\u7D61\u96FB\u8A71
 
 

+ 137 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/controller/YmdfFcMemberController.java

@@ -0,0 +1,137 @@
+package jp.yamada.fcbi.controller;
+
+import java.util.List;
+import jakarta.servlet.http.HttpServletResponse;
+import jp.yamada.common.core.domain.entity.SysUser;
+import jp.yamada.common.utils.SecurityUtils;
+import jp.yamada.common.validator.utils.ValidatorGroup;
+import jp.yamada.fcbi.param.YmdfCustomerParam;
+import jp.yamada.fcbi.param.YmdfFcMemberPosParam;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import jp.yamada.common.annotation.Log;
+import jp.yamada.common.core.controller.BaseController;
+import jp.yamada.common.core.domain.AjaxResult;
+import jp.yamada.common.enums.BusinessType;
+import jp.yamada.fcbi.domain.YmdfFcMember;
+import jp.yamada.fcbi.service.IYmdfFcMemberService;
+import jp.yamada.common.utils.poi.ExcelUtil;
+import jp.yamada.common.core.page.TableDataInfo;
+
+/**
+ * FC会員基本情報Controller
+ * 
+ * @author fcbi
+ * @date 2025-07-31
+ */
+@RestController
+@RequestMapping("/system/member")
+public class YmdfFcMemberController extends BaseController
+{
+    @Autowired
+    private IYmdfFcMemberService ymdfFcMemberService;
+
+    /**
+     * 查询FC会員基本情報列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:member:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(@Validated({ValidatorGroup.AddGroup.class})YmdfFcMember ymdfFcMember)
+    {
+        startPage();
+        List<YmdfFcMember> list = ymdfFcMemberService.selectYmdfFcMemberList(ymdfFcMember);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出FC会員基本情報列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:member:export')")
+    @Log(title = "FC会員基本情報", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, YmdfFcMember ymdfFcMember)
+    {
+        List<YmdfFcMember> list = ymdfFcMemberService.selectYmdfFcMemberList(ymdfFcMember);
+        ExcelUtil<YmdfFcMember> util = new ExcelUtil<YmdfFcMember>(YmdfFcMember.class);
+        util.exportExcel(response, list, "FC会員基本情報数据");
+    }
+
+    /**
+     * 获取FC会員基本情報详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:member:query')")
+    @GetMapping(value = "/{fcMemberId}")
+    public AjaxResult getInfo(@PathVariable("fcMemberId") String fcMemberId)
+    {
+        return success(ymdfFcMemberService.selectYmdfFcMemberByFcMemberId(fcMemberId));
+    }
+
+    /**
+     * 新增FC会員基本情報
+     */
+    @PreAuthorize("@ss.hasPermi('system:member:add')")
+    @Log(title = "FC会員基本情報", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody YmdfFcMember ymdfFcMember)
+    {
+        return toAjax(ymdfFcMemberService.insertYmdfFcMember(ymdfFcMember));
+    }
+
+    /**
+     * 修改FC会員基本情報
+     */
+    @PreAuthorize("@ss.hasPermi('system:member:edit')")
+    @Log(title = "FC会員基本情報", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody YmdfFcMember ymdfFcMember)
+    {
+        return toAjax(ymdfFcMemberService.updateYmdfFcMember(ymdfFcMember));
+    }
+
+    /**
+     * 删除FC会員基本情報
+     */
+    @PreAuthorize("@ss.hasPermi('system:member:remove')")
+    @Log(title = "FC会員基本情報", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{fcMemberIds}")
+    public AjaxResult remove(@PathVariable String[] fcMemberIds)
+    {
+        return toAjax(ymdfFcMemberService.deleteYmdfFcMemberByFcMemberIds(fcMemberIds));
+    }
+
+    /**
+     * パスワードをリセット
+     */
+    @PreAuthorize("@ss.hasPermi('system:member:resetPwd')")
+    @Log(title = "会員管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/resetPwd")
+    public AjaxResult resetPwd(@RequestBody YmdfFcMember ymdfFcMember) {
+        ymdfFcMember.setPasswordHash(SecurityUtils.encryptPassword(ymdfFcMember.getPasswordHash()));
+        return toAjax(ymdfFcMemberService.resetPwd(ymdfFcMember));
+    }
+
+    /**
+     * 会員情報編集
+     */
+    @PostMapping("/memberEdit")
+    public AjaxResult getInfo(@RequestBody YmdfFcMember ymdfFcMember) {
+        return success(ymdfFcMemberService.selectYmdfMemberEditList(ymdfFcMember));
+    }
+
+    /**
+     * 会員情報POS編集
+     */
+    @PostMapping("/memberPosEdit")
+    public AjaxResult getMemberPosEditInfo(@RequestBody YmdfFcMemberPosParam ymdfFcMemberPosParam) {
+        return success(ymdfFcMemberService.selectYmdfMemberPosEditList(ymdfFcMemberPosParam));
+    }
+}

+ 156 - 46
yamada-fcbi/src/main/java/jp/yamada/fcbi/domain/YmdfFcMember.java

@@ -3,108 +3,218 @@ package jp.yamada.fcbi.domain;
 import java.io.Serial;
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import jp.yamada.common.validator.annotation.LmLength;
+import jp.yamada.common.validator.annotation.LmType;
+import jp.yamada.common.validator.enums.CheckTypeEnum;
+import jp.yamada.common.validator.utils.ValidatorGroup;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
 import jp.yamada.common.annotation.Excel;
 import jp.yamada.common.core.domain.BaseEntity;
-import lombok.Data;
 
 /**
  * FC会員基本情報对象 ymdf_fc_member
  * 
  * @author ruoyi
- * @date 2025-07-02
+ * @date 2025-07-31
  */
-@Data
+@EqualsAndHashCode(callSuper = true)
+@Getter
+@Setter
 public class YmdfFcMember extends BaseEntity
 {
     @Serial
     private static final long serialVersionUID = 1L;
 
-    /** 会員ID(雪花アルゴリズム生成) */
+    /** FC会員ID(雪花アルゴリズム生成) */
     private String fcMemberId;
 
-    /** 会員名 */
-    @Excel(name = "会員名")
+    /** FC会員コード(ログイン際使用) */
+    @LmLength(min = 1, max = 128, params = {"{fcMemberCode}", "128"}, groups = {ValidatorGroup.AddGroup.class})
+    @LmType(params = {"{fcMemberCode}", "{halfAlphabetNumeric}"}, checkType = CheckTypeEnum.ALPHABET_NUMERIC, groups = {ValidatorGroup.AddGroup.class})
+    @Excel(name = "FC会員コード", readConverterExp = "FC会員コード(ログイン際使用)")
+    private String fcMemberCode;
+
+    /** FC会員名 */
+    @Excel(name = "FC会員名")
+    @LmLength(min = 1, max = 255, params = {"{fcMemberName}", "255"}, groups = {ValidatorGroup.AddGroup.class})
     private String fcMemberName;
 
+    /** ログインパスワードのハッシュ値 */
+    @Excel(name = "ログインパスワードのハッシュ値")
+    private String passwordHash;
+
     /** 申込者ID */
     @Excel(name = "申込者ID")
     private String fcApplicantId;
 
     /** 連絡者 */
     @Excel(name = "連絡者")
+    @LmLength(min = 1, max = 50, params = {"{contactPerson}", "50"}, groups = {ValidatorGroup.AddGroup.class})
     private String contactPerson;
 
     /** 連絡先電話番号 */
+    @LmLength(min = 1, max = 20, params = {"{contactPhone}", "20"}, groups = {ValidatorGroup.AddGroup.class})
     @Excel(name = "連絡先電話番号")
     private String contactPhone;
 
-    /** ログインID(メールアドレス可) */
-    @Excel(name = "FC会員コード(ログイン際使用)", readConverterExp = "メールアドレス可")
-    private String fcMemberCode;
-
-    /** ログインパスワードのハッシュ値 */
-    @Excel(name = "ログインパスワードのハッシュ値")
-    private String passwordHash;
-
     /** 登録日時 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "登録日時", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "登録日時", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date registrationDate;
 
     /** 最終ログイン日時 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "最終ログイン日時", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "最終ログイン日時", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date lastLoginDate;
 
-    /** 会員アクティブ状態(1-アクティブ、0-非アクティブ) */
-    @Excel(name = "会員アクティブ状態", readConverterExp = "1-アクティブ、0-非アクティブ")
-    private Integer isActive;
+    /** 会員アクティブ状態(1-アクティブ、0-非アクティブ) */
+    @Excel(name = "会員アクティブ状態(1-アクティブ、0-非アクティブ)")
+    private Integer activeStatus;
 
-    /** 会員タイプ(1-消費者、2-加盟店スタッフ、3-地域エージェント) */
-    @Excel(name = "会員タイプ", readConverterExp = "1-消費者、2-加盟店スタッフ、3-地域エージェント")
-    private Integer memberType;
+    /** 会員タイプ(1-消費者、2-加盟店スタッフ、3-地域エージェント) */
+    @Excel(name = "会員タイプ(1-消費者、2-加盟店スタッフ、3-地域エージェント)")
+    private Integer fcMemberType;
 
-    /** マイページアクセス権限(1-可、0-不可) */
-    @Excel(name = "マイページアクセス権限", readConverterExp = "1-可、0-不可")
-    private Integer myPageAccessAuth;
+    /** マイページアクセス権限(1-可、0-不可) */
+    @Excel(name = "マイページアクセス権限(1-可、0-不可)")
+    private Integer mypageAccessAuth;
 
     /** 外部電子契約システムの会員識別子 */
     @Excel(name = "外部電子契約システムの会員識別子")
     private String externalContractSystemId;
 
-    /** ログイン情報送信状態(1-送信済、0-未送信) */
-    @Excel(name = "ログイン情報送信状態", readConverterExp = "1-送信済、0-未送信")
+    /** ログイン情報送信状態(1-送信済、0-未送信) */
+    @Excel(name = "ログイン情報送信状態(1-送信済、0-未送信)")
     private Integer loginInfoSent;
 
     /** ログイン情報送信日時 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "ログイン情報送信日時", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "ログイン情報送信日時", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date loginInfoSentTime;
 
-    /** POS管理レベル(0-不可、1-閲覧、2-設定変更) */
-    @Excel(name = "POS管理レベル", readConverterExp = "0-不可、1-閲覧、2-設定変更")
+    /** POS管理レベル(0-不可、1-閲覧、2-設定変更) */
+    @Excel(name = "POS管理レベル(0-不可、1-閲覧、2-設定変更)")
     private Integer posManagementLevel;
 
     /** デフォルトPOS ID */
     @Excel(name = "デフォルトPOS ID")
-    private String defaultPosId;
+    private Integer defaultPosId;
+
+    /** 会員レベル(1-一般 、2-高級、3-VIP) */
+    @Excel(name = "会員レベル(1-一般 、2-高級、3-VIP)")
+    private Integer fcMemberLevel;
+
+    /** 論理削除フラグ(0-未削除、1-削除) */
+    private Integer delFlag;
+
+    /** バージョン */
+    @Excel(name = "バージョン")
+    private Integer version;
+
+    /** してブランド名 */
+    private String brandName;
+
+    /** 業種名称 */
+    private String businessTypeName;
+
+    /** 地域名称 */
+    private String regionName;
+
+    private String mypageAccessAuthName;
+
+    private String activeStatusName;
+
+    private String fcMemberTypeName;
+
+    private String loginInfoSentName;
+
+    private String posManagementLevelName;
+
+    private String fcMemberLevelName;
+
+    /** ID(雪花アルゴリズム生成) */
+    private String id;
+
+
+    /** POSレジID */
+    @Excel(name = "POSレジID")
+    private String posId;
+
+    /** POS機種タイプ(1-標準型、2-小型、3-専用型) */
+    @Excel(name = "POS機種タイプ(1-標準型、2-小型、3-専用型)")
+    private Integer posType;
+
+    /** POSモデル */
+    @Excel(name = "POSモデル")
+    private String posModel;
+
+    /** POSシリアル番号 */
+    @Excel(name = "POSシリアル番号")
+    private String posSerialNumber;
+
+    /** POS設置日 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "POS設置日", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date posInstallDate;
+
+    /** POS連携設定 */
+    @Excel(name = "POS連携設定")
+    private String posLinkInfo;
+
+    /** POS 個別設定(カスタム情報) */
+    @Excel(name = "POS 個別設定(カスタム情報)")
+    private String customSettings;
+
+    /** POSステータス(1-有効、0-無効、2-メンテナンス) */
+    @Excel(name = "POSステータス(1-有効、0-無効、2-メンテナンス)")
+    private Integer posStatus;
+
+    /** POS設定最終更新日時 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "POS設定最終更新日時", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date lastUpdated;
+
+    /** POS活性化コード */
+    @Excel(name = "POS活性化コード")
+    private String activationCode;
+
+    /** APIアクセスキー */
+    @Excel(name = "APIアクセスキー")
+    private String apiAccessKey;
+
+    /** POSデータ同期間隔(分) */
+    @Excel(name = "POSデータ同期間隔(分)")
+    private String dataSyncInterval;
+
+    /** POS同期状態(1-正常、0-エラー) */
+    @Excel(name = "POS同期状態(1-正常、0-エラー)")
+    private Integer posSyncStatus;
+
+    /** POS最終同期日時 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "POS最終同期日時", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date lastSyncTime;
+
+    /** POS更新必要フラグ(1-必要、0-不要) */
+    @Excel(name = "POS更新必要フラグ(1-必要、0-不要)")
+    private Integer posUpdateRequired;
 
     /** POS設定バージョン */
     @Excel(name = "POS設定バージョン")
     private String posConfigVersion;
 
-    /** POS更新必要フラグ(1-必要、0-不要) */
-    @Excel(name = "POS更新必要フラグ", readConverterExp = "1-必要、0-不要")
-    private Integer posUpdateRequired;
+    /** POS更新理由 */
+    @Excel(name = "POS更新理由")
+    private String posUpdateReason;
 
-    /** 会員レベル(1 - 一般 / 2 - 高級 / 3-VIP) */
-    @Excel(name = "会員レベル", readConverterExp = "1-一般 、2-高級、3-VIP")
-    private Integer memberLevel;
+    private String posStatusName;
 
-    /** 論理削除フラグ(1削除) */
-    private Integer delFlag;
+    private String posTypeName;
 
-    /** バージョン */
-    @Excel(name = "バージョン")
-    private Integer version;
-}
+    private String posSyncStatusName;
+
+    private String posUpdateRequiredName;
+
+   }

+ 35 - 9
yamada-fcbi/src/main/java/jp/yamada/fcbi/mapper/YmdfFcMemberMapper.java

@@ -1,17 +1,19 @@
 package jp.yamada.fcbi.mapper;
 
 import java.util.List;
+
+import jp.yamada.common.core.domain.entity.SysUser;
+import jp.yamada.fcbi.domain.YmdfCustomer;
 import jp.yamada.fcbi.domain.YmdfFcMember;
 import org.apache.ibatis.annotations.Mapper;
-
 /**
  * FC会員基本情報Mapper接口
  * 
  * @author ruoyi
- * @date 2025-07-02
+ * @date 2025-07-31
  */
 @Mapper
-public interface YmdfFcMemberMapper
+public interface YmdfFcMemberMapper 
 {
     /**
      * 查询FC会員基本情報
@@ -19,7 +21,7 @@ public interface YmdfFcMemberMapper
      * @param fcMemberId FC会員基本情報主键
      * @return FC会員基本情報
      */
-    YmdfFcMember selectYmdfFcMemberByfcMemberId(String fcMemberId);
+    public YmdfFcMember selectYmdfFcMemberByFcMemberId(String fcMemberId);
 
     /**
      * 查询FC会員基本情報列表
@@ -27,7 +29,7 @@ public interface YmdfFcMemberMapper
      * @param ymdfFcMember FC会員基本情報
      * @return FC会員基本情報集合
      */
-    List<YmdfFcMember> selectYmdfFcMemberList(YmdfFcMember ymdfFcMember);
+    public List<YmdfFcMember> selectYmdfFcMemberList(YmdfFcMember ymdfFcMember);
 
     /**
      * 新增FC会員基本情報
@@ -35,7 +37,7 @@ public interface YmdfFcMemberMapper
      * @param ymdfFcMember FC会員基本情報
      * @return 结果
      */
-    int insertYmdfFcMember(YmdfFcMember ymdfFcMember);
+    public int insertYmdfFcMember(YmdfFcMember ymdfFcMember);
 
     /**
      * 修改FC会員基本情報
@@ -43,7 +45,7 @@ public interface YmdfFcMemberMapper
      * @param ymdfFcMember FC会員基本情報
      * @return 结果
      */
-    int updateYmdfFcMember(YmdfFcMember ymdfFcMember);
+    public int updateYmdfFcMember(YmdfFcMember ymdfFcMember);
 
     /**
      * 删除FC会員基本情報
@@ -51,7 +53,7 @@ public interface YmdfFcMemberMapper
      * @param fcMemberId FC会員基本情報主键
      * @return 结果
      */
-    int deleteYmdfFcMemberByfcMemberId(String fcMemberId);
+    public int deleteYmdfFcMemberByFcMemberId(String fcMemberId);
 
     /**
      * 批量删除FC会員基本情報
@@ -59,5 +61,29 @@ public interface YmdfFcMemberMapper
      * @param fcMemberIds 需要删除的数据主键集合
      * @return 结果
      */
-    int deleteYmdfFcMemberByfcMemberIds(String[] fcMemberIds);
+    public int deleteYmdfFcMemberByFcMemberIds(String[] fcMemberIds);
+
+    /**
+     * 修改会員管理密码
+     *
+     * @param ymdfFcMember 会員管理
+     * @return 結果
+     */
+    public int updateMemberPassword(YmdfFcMember ymdfFcMember);
+
+    /**
+     * 会員情報編集
+     *
+     * @param fcMemberId 会員情報編集
+     * @return 会員情報編集
+     */
+    public YmdfFcMember selectYmdfMemberEditList(String fcMemberId);
+
+    /**
+     * 会員情報POS編集
+     *
+     * @param ymdfFcMember 会員情報POS編集
+     * @return 会員情報POS編集
+     */
+    public YmdfFcMember selectYmdfMemberPosEditList(YmdfFcMember ymdfFcMember);
 }

+ 118 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/param/YmdfFcMemberPosParam.java

@@ -0,0 +1,118 @@
+package jp.yamada.fcbi.param;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jp.yamada.common.annotation.Excel;
+import jp.yamada.common.validator.annotation.LmLength;
+import jp.yamada.common.validator.annotation.LmValidBrandCodes;
+import jp.yamada.common.validator.utils.ValidatorGroup;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 認証項目マスタパラメータ対象
+ *
+ * @author fcbi
+ * @date 2025-07-11
+ */
+@Data
+public class YmdfFcMemberPosParam implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+    /** ID(雪花アルゴリズム生成) */
+    private String id;
+
+    /** 会員ID */
+    @Excel(name = "会員ID")
+    private String fcMemberId;
+
+    /** POSレジID */
+    @Excel(name = "POSレジID")
+    private String posId;
+
+    /** POS機種タイプ(1-標準型、2-小型、3-専用型) */
+    @Excel(name = "POS機種タイプ(1-標準型、2-小型、3-専用型)")
+    private Integer posType;
+
+    /** POSモデル */
+    @Excel(name = "POSモデル")
+    private String posModel;
+
+    /** POSシリアル番号 */
+    @Excel(name = "POSシリアル番号")
+    private String posSerialNumber;
+
+    /** POS設置日 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "POS設置日", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date posInstallDate;
+
+    /** POS連携設定 */
+    @Excel(name = "POS連携設定")
+    private String posLinkInfo;
+
+    /** POS 個別設定(カスタム情報) */
+    @Excel(name = "POS 個別設定(カスタム情報)")
+    private String customSettings;
+
+    /** POSステータス(1-有効、0-無効、2-メンテナンス) */
+    @Excel(name = "POSステータス(1-有効、0-無効、2-メンテナンス)")
+    private Integer posStatus;
+
+    /** POS設定最終更新日時 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "POS設定最終更新日時", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date lastUpdated;
+
+    /** POS活性化コード */
+    @Excel(name = "POS活性化コード")
+    private String activationCode;
+
+    /** APIアクセスキー */
+    @Excel(name = "APIアクセスキー")
+    private String apiAccessKey;
+
+    /** POSデータ同期間隔(分) */
+    @Excel(name = "POSデータ同期間隔(分)")
+    private String dataSyncInterval;
+
+    /** POS同期状態(1-正常、0-エラー) */
+    @Excel(name = "POS同期状態(1-正常、0-エラー)")
+    private Integer posSyncStatus;
+
+    /** POS最終同期日時 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "POS最終同期日時", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date lastSyncTime;
+
+    /** POS更新必要フラグ(1-必要、0-不要) */
+    @Excel(name = "POS更新必要フラグ(1-必要、0-不要)")
+    private Integer posUpdateRequired;
+
+    /** POS設定バージョン */
+    @Excel(name = "POS設定バージョン")
+    private String posConfigVersion;
+
+    /** POS更新理由 */
+    @Excel(name = "POS更新理由")
+    private String posUpdateReason;
+
+    /** 論理削除フラグ(0-未削除、1-削除) */
+    private Integer delFlag;
+
+    /** バージョン */
+    @Excel(name = "バージョン")
+    private String version;
+
+    private String posStatusName;
+
+    private String posTypeName;
+
+    private String posSyncStatusName;
+
+    private String posUpdateRequiredName;
+
+}

+ 80 - 0
yamada-fcbi/src/main/java/jp/yamada/fcbi/service/IYmdfFcMemberService.java

@@ -1,5 +1,13 @@
 package jp.yamada.fcbi.service;
 
+import jp.yamada.common.core.domain.entity.SysUser;
+import jp.yamada.fcbi.domain.YmdfCustomer;
+import jp.yamada.fcbi.domain.YmdfFcMember;
+import jp.yamada.fcbi.param.YmdfCustomerParam;
+import jp.yamada.fcbi.param.YmdfFcMemberPosParam;
+
+import java.util.List;
+
 /**
  * 会员和店舗Service業務処理
  *
@@ -11,4 +19,76 @@ public interface IYmdfFcMemberService {
      * 电子契约完成后创建会员和店舗
      */
     void createMemberAndStore(String fcApplicantId);
+
+    /**
+     * 查询FC会員基本情報
+     *
+     * @param fcMemberId FC会員基本情報主键
+     * @return FC会員基本情報
+     */
+    public YmdfFcMember selectYmdfFcMemberByFcMemberId(String fcMemberId);
+
+    /**
+     * 查询FC会員基本情報列表
+     *
+     * @param ymdfFcMember FC会員基本情報
+     * @return FC会員基本情報集合
+     */
+    public List<YmdfFcMember> selectYmdfFcMemberList(YmdfFcMember ymdfFcMember);
+
+    /**
+     * 新增FC会員基本情報
+     *
+     * @param ymdfFcMember FC会員基本情報
+     * @return 结果
+     */
+    public int insertYmdfFcMember(YmdfFcMember ymdfFcMember);
+
+    /**
+     * 修改FC会員基本情報
+     *
+     * @param ymdfFcMember FC会員基本情報
+     * @return 结果
+     */
+    public int updateYmdfFcMember(YmdfFcMember ymdfFcMember);
+
+    /**
+     * 批量删除FC会員基本情報
+     *
+     * @param fcMemberIds 需要删除的FC会員基本情報主键集合
+     * @return 结果
+     */
+    public int deleteYmdfFcMemberByFcMemberIds(String[] fcMemberIds);
+
+    /**
+     * 删除FC会員基本情報信息
+     *
+     * @param fcMemberId FC会員基本情報主键
+     * @return 结果
+     */
+    public int deleteYmdfFcMemberByFcMemberId(String fcMemberId);
+
+    /**
+     * 会員管理
+     *
+     * @param ymdfFcMember 会員管理
+     * @return 結果
+     */
+    public int resetPwd(YmdfFcMember ymdfFcMember);
+
+    /**
+     * 会員情報編集
+     *
+     * @param ymdfFcMember 会員情報編集
+     * @return 会員情報編集
+     */
+    public YmdfFcMember selectYmdfMemberEditList(YmdfFcMember ymdfFcMember);
+
+    /**
+     * 会員情報POS編集
+     *
+     * @param ymdfFcMemberPosParam 会員情報POS編集
+     * @return 会員情報POS編集
+     */
+    public YmdfFcMember selectYmdfMemberPosEditList(YmdfFcMemberPosParam ymdfFcMemberPosParam);
 }    

+ 126 - 7
yamada-fcbi/src/main/java/jp/yamada/fcbi/service/impl/YmdfFcMemberServiceImpl.java

@@ -1,27 +1,29 @@
 package jp.yamada.fcbi.service.impl;
 
+import jp.yamada.common.core.domain.entity.SysUser;
 import jp.yamada.common.exception.ServiceException;
 import jp.yamada.common.utils.DateUtils;
+import jp.yamada.common.utils.MessageUtils;
 import jp.yamada.common.utils.SecurityUtils;
+import jp.yamada.common.utils.bean.BeanUtils;
 import jp.yamada.common.utils.uuid.IdUtils;
 import jp.yamada.fcbi.base.BaseService;
 import jp.yamada.fcbi.constants.PrefixIdConstants;
-import jp.yamada.fcbi.domain.YmdfFcApplicant;
-import jp.yamada.fcbi.domain.YmdfFcMember;
-import jp.yamada.fcbi.domain.YmdfFcMemberStore;
-import jp.yamada.fcbi.domain.YmdfFcStore;
-import jp.yamada.fcbi.enums.ApplyStatusEnum;
-import jp.yamada.fcbi.enums.ContractStatusEnum;
-import jp.yamada.fcbi.enums.PrimaryStoreFlagEnum;
+import jp.yamada.fcbi.domain.*;
+import jp.yamada.fcbi.enums.*;
 import jp.yamada.fcbi.mapper.YmdfFcApplicantMapper;
 import jp.yamada.fcbi.mapper.YmdfFcMemberMapper;
 import jp.yamada.fcbi.mapper.YmdfFcMemberStoreMapper;
 import jp.yamada.fcbi.mapper.YmdfFcStoreMapper;
+import jp.yamada.fcbi.param.YmdfCustomerParam;
+import jp.yamada.fcbi.param.YmdfFcMemberPosParam;
 import jp.yamada.fcbi.service.IYmdfFcMemberService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 /**
  * 会员和店舗Service業務処理
  *
@@ -181,4 +183,121 @@ public class YmdfFcMemberServiceImpl extends BaseService implements IYmdfFcMembe
 
         return brandCode + timestampSuffix;
     }
+
+    /**
+     * 查询FC会員基本情報
+     *
+     * @param fcMemberId FC会員基本情報主键
+     * @return FC会員基本情報
+     */
+    @Override
+    public YmdfFcMember selectYmdfFcMemberByFcMemberId(String fcMemberId)
+    {
+        return ymdfFcMemberMapper.selectYmdfFcMemberByFcMemberId(fcMemberId);
+    }
+
+    /**
+     * 查询FC会員基本情報列表
+     *
+     * @param ymdfFcMember FC会員基本情報
+     * @return FC会員基本情報
+     */
+    @Override
+    public List<YmdfFcMember> selectYmdfFcMemberList(YmdfFcMember ymdfFcMember)
+    {
+        return ymdfFcMemberMapper.selectYmdfFcMemberList(ymdfFcMember);
+    }
+
+    /**
+     * 新增FC会員基本情報
+     *
+     * @param ymdfFcMember FC会員基本情報
+     * @return 结果
+     */
+    @Override
+    public int insertYmdfFcMember(YmdfFcMember ymdfFcMember)
+    {
+        ymdfFcMember.setCreateTime(DateUtils.getNowDate());
+        return ymdfFcMemberMapper.insertYmdfFcMember(ymdfFcMember);
+    }
+
+    /**
+     * 修改FC会員基本情報
+     *
+     * @param ymdfFcMember FC会員基本情報
+     * @return 结果
+     */
+    @Override
+    public int updateYmdfFcMember(YmdfFcMember ymdfFcMember)
+    {
+        ymdfFcMember.setUpdateTime(DateUtils.getNowDate());
+        return ymdfFcMemberMapper.updateYmdfFcMember(ymdfFcMember);
+    }
+
+    /**
+     * 批量删除FC会員基本情報
+     *
+     * @param fcMemberIds 需要删除的FC会員基本情報主键
+     * @return 结果
+     */
+    @Override
+    public int deleteYmdfFcMemberByFcMemberIds(String[] fcMemberIds)
+    {
+        return ymdfFcMemberMapper.deleteYmdfFcMemberByFcMemberIds(fcMemberIds);
+    }
+
+    /**
+     * 删除FC会員基本情報信息
+     *
+     * @param fcMemberId FC会員基本情報主键
+     * @return 结果
+     */
+    @Override
+    public int deleteYmdfFcMemberByFcMemberId(String fcMemberId)
+    {
+        return ymdfFcMemberMapper.deleteYmdfFcMemberByFcMemberId(fcMemberId);
+    }
+
+    /**
+     * 会員管理
+     *
+     * @param ymdfFcMember 会員管理
+     * @return 結果
+     */
+    @Override
+    public int resetPwd(YmdfFcMember ymdfFcMember) {
+        int result = ymdfFcMemberMapper.updateMemberPassword(ymdfFcMember);
+        if (result < 1) {
+            // 該当データは既に別のユーザーより更新されました。
+            throw new ServiceException(MessageUtils.message("E0007"));
+        }
+        return result;
+    }
+
+    /**
+     * 会員情報編集
+     *
+     * @param ymdfFcMember 会員情報編集
+     * @return 会員情報編集
+     */
+    @Override
+    public YmdfFcMember selectYmdfMemberEditList(YmdfFcMember ymdfFcMember) {
+        String fcMemberId = ymdfFcMember.getFcMemberId();
+        return ymdfFcMemberMapper.selectYmdfMemberEditList(fcMemberId);
+    }
+
+    /**
+     * 会員情報POS編集
+     *
+     * @param ymdfFcMemberPosParam 会員情報POS編集
+     * @return 会員情報POS編集
+     */
+    @Override
+    public YmdfFcMember selectYmdfMemberPosEditList(YmdfFcMemberPosParam ymdfFcMemberPosParam) {
+        YmdfFcMember ymdfFcMember = new YmdfFcMember();
+        // 将参数对象的属性复制到查询对象中
+        BeanUtils.copyProperties(ymdfFcMemberPosParam, ymdfFcMember);
+        // 直接返回 Mapper 查询的结果(此时类型匹配)
+        return ymdfFcMemberMapper.selectYmdfMemberPosEditList(ymdfFcMember);
+    }
 }

+ 234 - 69
yamada-fcbi/src/main/resources/mapper/fcbi/YmdfFcMemberMapper.xml

@@ -6,25 +6,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     
     <resultMap type="YmdfFcMember" id="YmdfFcMemberResult">
         <result property="fcMemberId"    column="fc_member_id"    />
+        <result property="fcMemberCode"    column="fc_member_code"    />
         <result property="fcMemberName"    column="fc_member_name"    />
+        <result property="passwordHash"    column="password_hash"    />
         <result property="fcApplicantId"    column="fc_applicant_id"    />
         <result property="contactPerson"    column="contact_person"    />
         <result property="contactPhone"    column="contact_phone"    />
-        <result property="fcMemberCode"    column="fc_member_code"    />
-        <result property="passwordHash"    column="password_hash"    />
         <result property="registrationDate"    column="registration_date"    />
         <result property="lastLoginDate"    column="last_login_date"    />
-        <result property="isActive"    column="is_active"    />
-        <result property="memberType"    column="member_type"    />
-        <result property="myPageAccessAuth"    column="-my_page_access_auth"    />
+        <result property="activeStatus"    column="active_status"    />
+        <result property="fcMemberType"    column="fc_member_type"    />
+        <result property="mypageAccessAuth"    column="mypage_access_auth"    />
         <result property="externalContractSystemId"    column="external_contract_system_id"    />
         <result property="loginInfoSent"    column="login_info_sent"    />
         <result property="loginInfoSentTime"    column="login_info_sent_time"    />
         <result property="posManagementLevel"    column="pos_management_level"    />
         <result property="defaultPosId"    column="default_pos_id"    />
-        <result property="posConfigVersion"    column="pos_config_version"    />
-        <result property="posUpdateRequired"    column="pos_update_required"    />
-        <result property="memberLevel"    column="member_level"    />
+        <result property="fcMemberLevel"    column="fc_member_level"    />
         <result property="delFlag"    column="del_flag"    />
         <result property="createBy"    column="create_by"    />
         <result property="createTime"    column="create_time"    />
@@ -32,39 +30,183 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime"    column="update_time"    />
         <result property="remark"    column="remark"    />
         <result property="version"    column="version"    />
+        <result property="brandName"    column="brand_name"    />
+        <result property="businessTypeName"    column="business_type_name"    />
+        <result property="regionName"    column="region_name"    />
+        <result property="mypageAccessAuthName"    column="mypage_access_auth_name"    />
+        <result property="activeStatusName"    column="active_status_name"    />
+        <result property="fcMemberTypeName"    column="fc_member_type_name"    />
+        <result property="loginInfoSentName"    column="login_info_sent_name"    />
+        <result property="posManagementLevelName"    column="pos_management_level_name"    />
+        <result property="fcMemberLevelName"    column="fc_member_level_name"    />
+        <result property="id"    column="id"    />
+        <result property="posId"    column="pos_id"    />
+        <result property="posType"    column="pos_type"    />
+        <result property="posModel"    column="pos_model"    />
+        <result property="posSerialNumber"    column="pos_serial_number"    />
+        <result property="posInstallDate"    column="pos_install_date"    />
+        <result property="posLinkInfo"    column="pos_link_info"    />
+        <result property="customSettings"    column="custom_settings"    />
+        <result property="posStatus"    column="pos_status"    />
+        <result property="lastUpdated"    column="last_updated"    />
+        <result property="activationCode"    column="activation_code"    />
+        <result property="apiAccessKey"    column="api_access_key"    />
+        <result property="dataSyncInterval"    column="data_sync_interval"    />
+        <result property="posSyncStatus"    column="pos_sync_status"    />
+        <result property="lastSyncTime"    column="last_sync_time"    />
+        <result property="posUpdateRequired"    column="pos_update_required"    />
+        <result property="posConfigVersion"    column="pos_config_version"    />
+        <result property="posUpdateReason"    column="pos_update_reason"    />
+        <result property="posStatusName"    column="pos_status_name"    />
+        <result property="posTypeName"    column="pos_type_name"    />
+        <result property="posSyncStatusName"    column="pos_sync_status_name"    />
+        <result property="posUpdateRequiredName"    column="pos_update_required_name"    />
+
     </resultMap>
 
     <sql id="selectYmdfFcMemberVo">
-        select fc_member_id, fc_member_name, fc_applicant_id, contact_person, contact_phone, fc_member_code, password_hash, registration_date, last_login_date, is_active, member_type, -my_page_access_auth, external_contract_system_id, login_info_sent, login_info_sent_time, pos_management_level, default_pos_id, pos_config_version, pos_update_required, member_level, del_flag, create_by, create_time, update_by, update_time, remark, version from ymdf_fc_member
+        select fc_member_id, fc_member_code, fc_member_name, password_hash, fc_applicant_id, contact_person, contact_phone, registration_date, last_login_date, active_status, fc_member_type, mypage_access_auth, external_contract_system_id, login_info_sent, login_info_sent_time, pos_management_level, fc_member_level, del_flag, create_by, create_time, update_by, update_time, remark, version from ymdf_fc_member
+    </sql>
+
+    <sql id="selectYmdfFcMemberListVo">
+        SELECT
+            fm.fc_member_id AS fc_member_id,
+            fm.version AS version,
+            fm.fc_member_code AS fc_member_code,
+            fm.fc_member_name AS fc_member_name,
+            fc_dict.dict_label AS brand_name,
+            fm.contact_person AS contact_person,
+            fm.contact_phone AS contact_phone,
+            fm_dict.dict_label AS business_type_name,
+            region.region_name AS region_name,
+            mypage_dict.dict_label AS mypage_access_auth_name
+        FROM
+            ymdf_fc_member fm
+                INNER JOIN ymdf_fc_member_store fms
+                           ON fm.fc_member_id = fms.fc_member_id
+                               AND fms.del_flag = 0
+                INNER JOIN ymdf_fc_store s
+                           ON fms.fc_store_id = s.fc_store_id
+                               AND s.del_flag = 0
+                LEFT JOIN sys_dict_data fc_dict
+                          ON s.brand_code = fc_dict.dict_value
+                              AND fc_dict.dict_type = 'yamada_fc_brand'
+                LEFT JOIN sys_dict_data fm_dict
+                          ON s.business_type_code = fm_dict.dict_value
+                              AND fm_dict.dict_type = 'yamada_business_type'
+                LEFT JOIN sys_dict_data mypage_dict
+                          ON fm.mypage_access_auth = mypage_dict.dict_value
+                              AND mypage_dict.dict_type = 'mypage_access_auth'
+                LEFT JOIN region region
+                          ON s.region_code = region.region_code
+
+        WHERE
+            fm.del_flag = 0
     </sql>
 
     <select id="selectYmdfFcMemberList" parameterType="YmdfFcMember" resultMap="YmdfFcMemberResult">
-        <include refid="selectYmdfFcMemberVo"/>
-        <where>  
-            <if test="fcMemberName != null  and fcMemberName != ''"> and fc_member_name like concat('%', #{fcMemberName}, '%')</if>
-            <if test="fcApplicantId != null  and fcApplicantId != ''"> and fc_applicant_id = #{fcApplicantId}</if>
-            <if test="contactPerson != null  and contactPerson != ''"> and contact_person = #{contactPerson}</if>
-            <if test="contactPhone != null  and contactPhone != ''"> and contact_phone = #{contactPhone}</if>
-            <if test="fcMemberCode != null  and fcMemberCode != ''"> and fc_member_code = #{fcMemberCode}</if>
-            <if test="passwordHash != null  and passwordHash != ''"> and password_hash = #{passwordHash}</if>
-            <if test="registrationDate != null "> and registration_date = #{registrationDate}</if>
-            <if test="lastLoginDate != null "> and last_login_date = #{lastLoginDate}</if>
-            <if test="isActive != null "> and is_active = #{isActive}</if>
-            <if test="memberType != null "> and member_type = #{memberType}</if>
-            <if test="myPageAccessAuth != null "> and -my_page_access_auth = #{myPageAccessAuth}</if>
-            <if test="externalContractSystemId != null  and externalContractSystemId != ''"> and external_contract_system_id = #{externalContractSystemId}</if>
-            <if test="loginInfoSent != null "> and login_info_sent = #{loginInfoSent}</if>
-            <if test="loginInfoSentTime != null "> and login_info_sent_time = #{loginInfoSentTime}</if>
-            <if test="posManagementLevel != null "> and pos_management_level = #{posManagementLevel}</if>
-            <if test="defaultPosId != null  and defaultPosId != ''"> and default_pos_id = #{defaultPosId}</if>
-            <if test="posConfigVersion != null  and posConfigVersion != ''"> and pos_config_version = #{posConfigVersion}</if>
-            <if test="posUpdateRequired != null "> and pos_update_required = #{posUpdateRequired}</if>
-            <if test="memberLevel != null "> and member_level = #{memberLevel}</if>
-            <if test="version != null "> and version = #{version}</if>
+        SELECT * FROM (
+        <include refid="selectYmdfFcMemberListVo"/>
+        ) t
+        <where>
+            <if test="fcMemberName != null and fcMemberName != ''">
+                AND t.fc_member_name LIKE CONCAT('%', #{fcMemberName}, '%')
+            </if>
+            <if test="contactPerson != null and contactPerson != ''">
+                AND t.contact_person LIKE CONCAT('%', #{contactPerson}, '%')
+            </if>
+            <if test="contactPhone != null and contactPhone != ''">
+                AND t.contact_phone LIKE CONCAT('%', #{contactPhone}, '%')
+            </if>
+            <if test="fcMemberCode != null and fcMemberCode != ''">
+                AND t.fc_member_code = #{fcMemberCode}
+            </if>
         </where>
     </select>
+
+    <select id="selectYmdfMemberEditList" parameterType="String" resultMap="YmdfFcMemberResult">
+        SELECT
+            fm.fc_member_code,
+            fm.fc_member_name,
+            fm.registration_date,
+            fm.fc_applicant_id,
+            fm.contact_person,
+            fm.contact_phone,
+            fm.last_login_date,
+            fm.login_info_sent_time,
+            fm.default_pos_id,
+            fm.external_contract_system_id,
+            fc_dict.dict_label AS active_status_name,
+            fc_type.dict_label AS fc_member_type_name,
+            fc_mypage.dict_label AS mypage_access_auth_name,
+            fc_sent.dict_label AS login_info_sent_name,
+            fc_level.dict_label AS pos_management_level_name,
+            fc_member_level_dict.dict_label AS fc_member_level_name
+
+        FROM
+            ymdf_fc_member fm
+                LEFT JOIN sys_dict_data fc_dict
+                          ON fm.active_status = fc_dict.dict_value
+                              AND fc_dict.dict_type = 'fc_member_active_status'
+                LEFT JOIN sys_dict_data fc_type
+                          ON fm.fc_member_type = fc_type.dict_value
+                              AND fc_type.dict_type = 'fc_member_type'
+                LEFT JOIN sys_dict_data fc_mypage
+                          ON fm.mypage_access_auth = fc_mypage.dict_value
+                              AND fc_mypage.dict_type = 'mypage_access_auth'
+                LEFT JOIN sys_dict_data fc_sent
+                          ON fm.login_info_sent = fc_sent.dict_value
+                              AND fc_sent.dict_type = 'login_info_sent'
+                LEFT JOIN sys_dict_data fc_level
+                          ON fm.pos_management_level = fc_level.dict_value
+                              AND fc_level.dict_type = 'pos_management_level'
+                LEFT JOIN sys_dict_data fc_member_level_dict
+                          ON fm.fc_member_level = fc_member_level_dict.dict_value
+                              AND fc_member_level_dict.dict_type = 'fc_member_level'
+        WHERE
+            fm.del_flag = 0
+          AND fm.fc_member_id = #{fcMemberId}
+    </select>
+
+    <select id="selectYmdfMemberPosEditList" parameterType="YmdfFcMember" resultMap="YmdfFcMemberResult">
+        SELECT
+            fmp.pos_id,
+            fmp.pos_model,
+            fmp.pos_serial_number,
+            fmp.pos_install_date,
+            fmp.pos_link_info,
+            fmp.custom_settings,
+            fmp.activation_code,
+            fmp.api_access_key,
+            fmp.data_sync_interval,
+            fmp.last_sync_time,
+            fmp.pos_config_version,
+            fmp.pos_update_reason,
+            fc_status.dict_label AS pos_status_name,
+            fc_type.dict_label AS pos_type_name,
+            fc_sync_status.dict_label AS pos_sync_status_name,
+            fc_required.dict_label AS pos_update_required_name
+
+        FROM
+            ymdf_fc_member_pos fmp
+                LEFT JOIN sys_dict_data fc_status
+                          ON fmp.pos_status = fc_status.dict_value
+                              AND fc_status.dict_type = 'pos_status'
+                LEFT JOIN sys_dict_data fc_type
+                          ON fmp.pos_type = fc_type.dict_value
+                              AND fc_type.dict_type = 'pos_type'
+                LEFT JOIN sys_dict_data fc_sync_status
+                          ON fmp.pos_sync_status = fc_sync_status.dict_value
+                              AND fc_sync_status.dict_type = 'pos_sync_status'
+                LEFT JOIN sys_dict_data fc_required
+                          ON fmp.pos_update_required = fc_required.dict_value
+                              AND fc_required.dict_type = 'pos_update_required'
+        WHERE
+            fmp.del_flag = 0
+          AND fmp.fc_member_id = #{fcMemberId}
+    </select>
     
-    <select id="selectYmdfFcMemberByfcMemberId" parameterType="String" resultMap="YmdfFcMemberResult">
+    <select id="selectYmdfFcMemberByFcMemberId" parameterType="String" resultMap="YmdfFcMemberResult">
         <include refid="selectYmdfFcMemberVo"/>
         where fc_member_id = #{fcMemberId}
     </select>
@@ -73,25 +215,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         insert into ymdf_fc_member
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="fcMemberId != null">fc_member_id,</if>
-            <if test="fcMemberName != null">fc_member_name,</if>
-            <if test="fcApplicantId != null and fcApplicantId != ''">fc_applicant_id,</if>
+            <if test="fcMemberCode != null and fcMemberCode != ''">fc_member_code,</if>
+            <if test="fcMemberName != null and fcMemberName != ''">fc_member_name,</if>
+            <if test="passwordHash != null and passwordHash != ''">password_hash,</if>
+            <if test="fcApplicantId != null">fc_applicant_id,</if>
             <if test="contactPerson != null and contactPerson != ''">contact_person,</if>
             <if test="contactPhone != null">contact_phone,</if>
-            <if test="fcMemberCode != null and fcMemberCode != ''">fc_member_code,</if>
-            <if test="passwordHash != null">password_hash,</if>
             <if test="registrationDate != null">registration_date,</if>
             <if test="lastLoginDate != null">last_login_date,</if>
-            <if test="isActive != null">is_active,</if>
-            <if test="memberType != null">member_type,</if>
-            <if test="myPageAccessAuth != null">-my_page_access_auth,</if>
+            <if test="activeStatus != null">active_status,</if>
+            <if test="fcMemberType != null">fc_member_type,</if>
+            <if test="mypageAccessAuth != null">mypage_access_auth,</if>
             <if test="externalContractSystemId != null">external_contract_system_id,</if>
             <if test="loginInfoSent != null">login_info_sent,</if>
             <if test="loginInfoSentTime != null">login_info_sent_time,</if>
             <if test="posManagementLevel != null">pos_management_level,</if>
-            <if test="defaultPosId != null">default_pos_id,</if>
-            <if test="posConfigVersion != null">pos_config_version,</if>
-            <if test="posUpdateRequired != null">pos_update_required,</if>
-            <if test="memberLevel != null">member_level,</if>
+            <if test="fcMemberLevel != null">fc_member_level,</if>
             <if test="delFlag != null">del_flag,</if>
             <if test="createBy != null and createBy != ''">create_by,</if>
             <if test="createTime != null">create_time,</if>
@@ -102,25 +241,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fcMemberId != null">#{fcMemberId},</if>
-            <if test="fcMemberName != null">#{fcMemberName},</if>
-            <if test="fcApplicantId != null and fcApplicantId != ''">#{fcApplicantId},</if>
+            <if test="fcMemberCode != null and fcMemberCode != ''">#{fcMemberCode},</if>
+            <if test="fcMemberName != null and fcMemberName != ''">#{fcMemberName},</if>
+            <if test="passwordHash != null and passwordHash != ''">#{passwordHash},</if>
+            <if test="fcApplicantId != null">#{fcApplicantId},</if>
             <if test="contactPerson != null and contactPerson != ''">#{contactPerson},</if>
             <if test="contactPhone != null">#{contactPhone},</if>
-            <if test="fcMemberCode != null and fcMemberCode != ''">#{fcMemberCode},</if>
-            <if test="passwordHash != null">#{passwordHash},</if>
             <if test="registrationDate != null">#{registrationDate},</if>
             <if test="lastLoginDate != null">#{lastLoginDate},</if>
-            <if test="isActive != null">#{isActive},</if>
-            <if test="memberType != null">#{memberType},</if>
-            <if test="myPageAccessAuth != null">#{myPageAccessAuth},</if>
+            <if test="activeStatus != null">#{activeStatus},</if>
+            <if test="fcMemberType != null">#{fcMemberType},</if>
+            <if test="mypageAccessAuth != null">#{mypageAccessAuth},</if>
             <if test="externalContractSystemId != null">#{externalContractSystemId},</if>
             <if test="loginInfoSent != null">#{loginInfoSent},</if>
             <if test="loginInfoSentTime != null">#{loginInfoSentTime},</if>
             <if test="posManagementLevel != null">#{posManagementLevel},</if>
-            <if test="defaultPosId != null">#{defaultPosId},</if>
-            <if test="posConfigVersion != null">#{posConfigVersion},</if>
-            <if test="posUpdateRequired != null">#{posUpdateRequired},</if>
-            <if test="memberLevel != null">#{memberLevel},</if>
+            <if test="fcMemberLevel != null">#{fcMemberLevel},</if>
             <if test="delFlag != null">#{delFlag},</if>
             <if test="createBy != null and createBy != ''">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
@@ -134,25 +270,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <update id="updateYmdfFcMember" parameterType="YmdfFcMember">
         update ymdf_fc_member
         <trim prefix="SET" suffixOverrides=",">
-            <if test="fcMemberName != null">fc_member_name = #{fcMemberName},</if>
-            <if test="fcApplicantId != null and fcApplicantId != ''">fc_applicant_id = #{fcApplicantId},</if>
+            <if test="fcMemberCode != null and fcMemberCode != ''">fc_member_code = #{fcMemberCode},</if>
+            <if test="fcMemberName != null and fcMemberName != ''">fc_member_name = #{fcMemberName},</if>
+            <if test="passwordHash != null and passwordHash != ''">password_hash = #{passwordHash},</if>
+            <if test="fcApplicantId != null">fc_applicant_id = #{fcApplicantId},</if>
             <if test="contactPerson != null and contactPerson != ''">contact_person = #{contactPerson},</if>
             <if test="contactPhone != null">contact_phone = #{contactPhone},</if>
-            <if test="fcMemberCode != null and fcMemberCode != ''">fc_member_code = #{fcMemberCode},</if>
-            <if test="passwordHash != null">password_hash = #{passwordHash},</if>
             <if test="registrationDate != null">registration_date = #{registrationDate},</if>
             <if test="lastLoginDate != null">last_login_date = #{lastLoginDate},</if>
-            <if test="isActive != null">is_active = #{isActive},</if>
-            <if test="memberType != null">member_type = #{memberType},</if>
-            <if test="myPageAccessAuth != null">-my_page_access_auth = #{myPageAccessAuth},</if>
+            <if test="activeStatus != null">active_status = #{activeStatus},</if>
+            <if test="fcMemberType != null">fc_member_type = #{fcMemberType},</if>
+            <if test="mypageAccessAuth != null">mypage_access_auth = #{mypageAccessAuth},</if>
             <if test="externalContractSystemId != null">external_contract_system_id = #{externalContractSystemId},</if>
             <if test="loginInfoSent != null">login_info_sent = #{loginInfoSent},</if>
             <if test="loginInfoSentTime != null">login_info_sent_time = #{loginInfoSentTime},</if>
             <if test="posManagementLevel != null">pos_management_level = #{posManagementLevel},</if>
-            <if test="defaultPosId != null">default_pos_id = #{defaultPosId},</if>
-            <if test="posConfigVersion != null">pos_config_version = #{posConfigVersion},</if>
-            <if test="posUpdateRequired != null">pos_update_required = #{posUpdateRequired},</if>
-            <if test="memberLevel != null">member_level = #{memberLevel},</if>
+            <if test="fcMemberLevel != null">fc_member_level = #{fcMemberLevel},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
             <if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
@@ -164,16 +297,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where fc_member_id = #{fcMemberId}
     </update>
 
-    <delete id="deleteYmdfFcMemberByfcMemberId" parameterType="String">
+    <update id="updateMemberPassword" parameterType="YmdfFcMember">
+        update ymdf_fc_member
+        <set>
+            <if test="fcMemberCode != null and fcMemberCode != ''">fc_member_code = #{fcMemberCode},</if>
+            <if test="fcMemberName != null and fcMemberName != ''">fc_member_name = #{fcMemberName},</if>
+            <if test="passwordHash != null and passwordHash != ''">password_hash = #{passwordHash},</if>
+            <if test="fcApplicantId != null">fc_applicant_id = #{fcApplicantId},</if>
+            <if test="contactPerson != null and contactPerson != ''">contact_person = #{contactPerson},</if>
+            <if test="contactPhone != null">contact_phone = #{contactPhone},</if>
+            <if test="registrationDate != null">registration_date = #{registrationDate},</if>
+            <if test="lastLoginDate != null">last_login_date = #{lastLoginDate},</if>
+            <if test="activeStatus != null">active_status = #{activeStatus},</if>
+            <if test="fcMemberType != null">fc_member_type = #{fcMemberType},</if>
+            <if test="mypageAccessAuth != null">mypage_access_auth = #{mypageAccessAuth},</if>
+            <if test="externalContractSystemId != null">external_contract_system_id = #{externalContractSystemId},</if>
+            <if test="loginInfoSent != null">login_info_sent = #{loginInfoSent},</if>
+            <if test="loginInfoSentTime != null">login_info_sent_time = #{loginInfoSentTime},</if>
+            <if test="posManagementLevel != null">pos_management_level = #{posManagementLevel},</if>
+            <if test="fcMemberLevel != null">fc_member_level = #{fcMemberLevel},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="version != null">version = version+1,</if>
+        </set>
+        where fc_member_id = #{fcMemberId}
+        and del_flag = '0'
+        <if test="version != null">
+            and version = #{version}
+        </if>
+    </update>
+
+    <delete id="deleteYmdfFcMemberByFcMemberId" parameterType="String">
         delete from ymdf_fc_member where fc_member_id = #{fcMemberId}
     </delete>
 
-    <delete id="deleteYmdfFcMemberByfcMemberIds" parameterType="String">
+    <delete id="deleteYmdfFcMemberByFcMemberIds" parameterType="String">
         delete from ymdf_fc_member where fc_member_id in 
         <foreach item="fcMemberId" collection="array" open="(" separator="," close=")">
             #{fcMemberId}
         </foreach>
     </delete>
-
-
 </mapper>