Explorar el Código

Merge remote-tracking branch 'origin/master_179_20250814' into master_179_20250814

ct hace 2 semanas
padre
commit
a43532f209
Se han modificado 18 ficheros con 1653 adiciones y 0 borrados
  1. 132 0
      fs-company-app/src/main/java/com/fs/app/controller/FsUserInfoController.java
  2. 96 0
      fs-company-app/src/main/java/com/fs/app/controller/FsUserPayCompetitorsRecordController.java
  3. 96 0
      fs-company-app/src/main/java/com/fs/app/controller/FsUserPayRecordController.java
  4. 184 0
      fs-service/src/main/java/com/fs/his/domain/FsUserInfo.java
  5. 55 0
      fs-service/src/main/java/com/fs/his/domain/FsUserPayCompetitorsRecord.java
  6. 62 0
      fs-service/src/main/java/com/fs/his/domain/FsUserPayRecord.java
  7. 55 0
      fs-service/src/main/java/com/fs/his/mapper/FsUserInfoMapper.java
  8. 54 0
      fs-service/src/main/java/com/fs/his/mapper/FsUserPayCompetitorsRecordMapper.java
  9. 54 0
      fs-service/src/main/java/com/fs/his/mapper/FsUserPayRecordMapper.java
  10. 56 0
      fs-service/src/main/java/com/fs/his/service/IFsUserInfoService.java
  11. 54 0
      fs-service/src/main/java/com/fs/his/service/IFsUserPayCompetitorsRecordService.java
  12. 53 0
      fs-service/src/main/java/com/fs/his/service/IFsUserPayRecordService.java
  13. 78 0
      fs-service/src/main/java/com/fs/his/service/impl/FsUserInfoServiceImpl.java
  14. 80 0
      fs-service/src/main/java/com/fs/his/service/impl/FsUserPayCompetitorsRecordServiceImpl.java
  15. 79 0
      fs-service/src/main/java/com/fs/his/service/impl/FsUserPayRecordServiceImpl.java
  16. 275 0
      fs-service/src/main/resources/mapper/his/FsUserInfoMapper.xml
  17. 90 0
      fs-service/src/main/resources/mapper/his/FsUserPayCompetitorsRecordMapper.xml
  18. 100 0
      fs-service/src/main/resources/mapper/his/FsUserPayRecordMapper.xml

+ 132 - 0
fs-company-app/src/main/java/com/fs/app/controller/FsUserInfoController.java

@@ -0,0 +1,132 @@
+package com.fs.app.controller;
+
+import com.fs.app.annotation.Login;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.his.domain.FsUser;
+import com.fs.his.domain.FsUserInfo;
+import com.fs.his.service.IFsUserInfoService;
+import com.fs.his.service.IFsUserService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.ApiOperation;
+import lombok.val;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 用户信息Controller
+ * 
+ * @author fs
+ * @date 2025-08-25
+ */
+@RestController
+@RequestMapping("/app/fs/userinfo")
+public class FsUserInfoController extends AppBaseController
+{
+    @Autowired
+    private IFsUserInfoService fsUserInfoService;
+
+    @Autowired
+    private IFsUserService fsUserService;
+
+    /**
+     * 查询用户信息列表
+     */
+    @Login
+    @GetMapping("/list")
+    @ApiOperation("获取用户列表信息")
+    public R list(@RequestParam("companyUserId") Long companyUserId,
+                              @RequestParam(required = false, defaultValue = "1") Integer pageNum,
+                              @RequestParam(required = false, defaultValue = "10") Integer pageSize)
+    {
+        if(companyUserId==null){
+            companyUserId = getCompanyUserId();
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        List<FsUserInfo> list = fsUserInfoService.selectFsUserInfoList(companyUserId);
+        return R.ok().put("data", new PageInfo<>(list));
+    }
+
+
+
+    /**
+     * 获取用户信息详细信息
+     */
+    @Login
+    @GetMapping(value = "/info")
+    @ApiOperation("获取用户详情信息")
+    public R getInfo(@RequestParam("userId") Long userId)
+    {
+        FsUserInfo fsUserInfo = fsUserInfoService.selectFsUserInfoById(userId);
+        return R.ok().put("data",fsUserInfo);
+    }
+
+    /**
+     * 新增用户信息
+     */
+    @Login
+    @PostMapping("/add")
+    @ApiOperation("新增用户信息")
+    @Transactional
+    public R add(@RequestBody FsUserInfo fsUserInfo)
+    {
+        // 获取companyUserId
+        Long companyUserId = getCompanyUserId();
+        if(companyUserId!=null){
+            fsUserInfo.setCompanyUserId(companyUserId);
+        }
+
+        FsUser fsUser = new FsUser();
+        fsUser.setCompanyUserId(companyUserId);
+        // 后期需要登记 登记后更新的时候需要一起修改
+//        fsUser.setPhone(fsUserInfo.getPhone());
+//        fsUser.setUsername(fsUserInfo.getUsername());
+        // 登记fsUser表
+        if(fsUserService.insertFsUser(fsUser)<=0){
+            return R.error("用户信息登记原表失败");
+        }
+        // 登记同一个userId
+        fsUserInfo.setUserId(fsUser.getUserId());
+        // 登记fsUserInfo表
+        if(fsUserInfoService.insertFsUserInfo(fsUserInfo)<=0){
+            return R.error("用户信息登记失败");
+        }
+        return R.ok();
+    }
+
+    /**
+     * 修改用户信息
+     */
+    @Login
+    @PostMapping("/update")
+    @ApiOperation("修改用户信息")
+    public R edit(@RequestBody FsUserInfo fsUserInfo)
+    {
+        if(fsUserInfoService.updateFsUserInfo(fsUserInfo)<=0){
+            return R.error("用户信息修改失败");
+        }
+        return R.ok();
+    }
+
+    /**
+     * 删除用户信息
+     */
+    @Login
+	@GetMapping("/delete")
+    @ApiOperation("删除用户信息")
+    @Transactional
+    public R remove(@RequestParam("userId") Long userId)
+    {
+        // 更新fsUser表状态
+        if(fsUserService.deleteFsUserByUserId(userId)<=0){
+            return R.error("用户信息删除原表失败");
+        }
+        return R.ok();
+    }
+}

+ 96 - 0
fs-company-app/src/main/java/com/fs/app/controller/FsUserPayCompetitorsRecordController.java

@@ -0,0 +1,96 @@
+package com.fs.app.controller;
+
+import com.fs.app.annotation.Login;
+import com.fs.common.core.domain.R;
+import com.fs.his.domain.FsUserPayCompetitorsRecord;
+import com.fs.his.service.IFsUserPayCompetitorsRecordService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 用户购买竞品信息记录Controller
+ *
+ * @author fs
+ * @date 2025-08-26
+ */
+@RestController
+@RequestMapping("/app/fs/rival/products")
+public class FsUserPayCompetitorsRecordController extends AppBaseController {
+    @Autowired
+    private IFsUserPayCompetitorsRecordService fsUserPayCompetitorsRecordService;
+
+    /**
+     * 查询用户购买竞品信息记录列表
+     */
+    @Login
+    @GetMapping("/list")
+    @ApiOperation("获取用户购买竞品信息记录列表")
+    public R list(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord,
+                  @RequestParam(required = false, defaultValue = "1") Integer pageNum,
+                  @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
+        // 校验userId不能为空
+        if (fsUserPayCompetitorsRecord.getUserId() == null) {
+            return R.error("用户ID不能为空");
+        }
+
+        PageHelper.startPage(pageNum, pageSize);
+        List<FsUserPayCompetitorsRecord> list = fsUserPayCompetitorsRecordService.selectFsUserPayCompetitorsRecordList(fsUserPayCompetitorsRecord);
+        return R.ok().put("data", new PageInfo<>(list));
+    }
+
+
+    /**
+     * 获取用户购买竞品信息记录详细信息
+     */
+    @Login
+    @GetMapping(value = "/info")
+    @ApiOperation("获取用户购买竞品信息记录详细信息")
+    public R getInfo(@RequestParam("id") Long id) {
+        FsUserPayCompetitorsRecord record = fsUserPayCompetitorsRecordService.selectFsUserPayCompetitorsRecordById(id);
+        return R.ok().put("data", record);
+    }
+
+    /**
+     * 新增用户购买竞品信息记录
+     */
+    @Login
+    @PostMapping("/add")
+    @ApiOperation("新增用户购买竞品信息记录")
+    public R add(@RequestBody FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord) {
+        if (fsUserPayCompetitorsRecordService.insertFsUserPayCompetitorsRecord(fsUserPayCompetitorsRecord) <= 0) {
+            return R.error("用户购买竞品信息记录登记失败");
+        }
+        return R.ok();
+    }
+
+    /**
+     * 修改用户购买竞品信息记录
+     */
+    @Login
+    @PostMapping("/update")
+    @ApiOperation("修改用户购买竞品信息记录")
+    public R edit(@RequestBody FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord) {
+        if (fsUserPayCompetitorsRecordService.updateFsUserPayCompetitorsRecord(fsUserPayCompetitorsRecord) <= 0) {
+            return R.error("用户购买竞品信息记录修改失败");
+        }
+        return R.ok();
+    }
+
+    /**
+     * 删除用户购买竞品信息记录
+     */
+    @Login
+    @GetMapping("/delete")
+    @ApiOperation("删除用户购买竞品信息记录")
+    public R remove(@RequestParam("id") Long id) {
+        if (fsUserPayCompetitorsRecordService.deleteFsUserPayCompetitorsRecordById(id) <= 0) {
+            return R.error("用户购买竞品信息记录删除失败");
+        }
+        return R.ok();
+    }
+}

+ 96 - 0
fs-company-app/src/main/java/com/fs/app/controller/FsUserPayRecordController.java

@@ -0,0 +1,96 @@
+package com.fs.app.controller;
+
+import com.fs.app.annotation.Login;
+import com.fs.common.core.domain.R;
+import com.fs.his.domain.FsUserPayRecord;
+import com.fs.his.service.IFsUserPayRecordService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 用户购买服务信息记录Controller
+ *
+ * @author fs
+ * @date 2025-08-26
+ */
+@RestController
+@RequestMapping("/app/fs/pay/products")
+public class FsUserPayRecordController extends AppBaseController {
+    @Autowired
+    private IFsUserPayRecordService fsUserPayRecordService;
+
+    /**
+     * 查询用户购买服务信息记录列表
+     */
+    @Login
+    @GetMapping("/list")
+    @ApiOperation("获取用户购买服务信息记录列表")
+    public R list(FsUserPayRecord fsUserPayRecord,
+                  @RequestParam(required = false, defaultValue = "1") Integer pageNum,
+                  @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
+
+        if (fsUserPayRecord.getUserId() == null) {
+            return R.error("用户ID不能为空");
+        }
+
+        PageHelper.startPage(pageNum, pageSize);
+        List<FsUserPayRecord> list = fsUserPayRecordService.selectFsUserPayRecordList(fsUserPayRecord);
+        return R.ok().put("data", new PageInfo<>(list));
+    }
+
+
+    /**
+     * 获取用户购买服务信息记录详细信息
+     */
+    @Login
+    @GetMapping(value = "/info")
+    @ApiOperation("获取用户购买服务信息记录详细信息")
+    public R getInfo(@RequestParam("id") Long id) {
+        FsUserPayRecord fsUserPayRecord = fsUserPayRecordService.selectFsUserPayRecordById(id);
+        return R.ok().put("data", fsUserPayRecord);
+    }
+
+    /**
+     * 新增用户购买服务信息记录
+     */
+    @Login
+    @PostMapping("/add")
+    @ApiOperation("新增用户购买服务信息记录")
+    public R add(@RequestBody FsUserPayRecord fsUserPayRecord) {
+        if (fsUserPayRecordService.insertFsUserPayRecord(fsUserPayRecord) <= 0) {
+            return R.error("用户购买服务信息记录登记失败");
+        }
+        return R.ok();
+    }
+
+    /**
+     * 修改用户购买服务信息记录
+     */
+    @Login
+    @PostMapping("/update")
+    @ApiOperation("修改用户购买服务信息记录")
+    public R edit(@RequestBody FsUserPayRecord fsUserPayRecord) {
+        if (fsUserPayRecordService.updateFsUserPayRecord(fsUserPayRecord) <= 0) {
+            return R.error("用户购买服务信息记录修改失败");
+        }
+        return R.ok();
+    }
+
+    /**
+     * 删除用户购买服务信息记录
+     */
+    @Login
+    @GetMapping("/delete")
+    @ApiOperation("删除用户购买服务信息记录")
+    public R remove(@RequestParam("id") Long id) {
+        if (fsUserPayRecordService.deleteFsUserPayRecordById(id) <= 0) {
+            return R.error("用户购买服务信息记录删除失败");
+        }
+        return R.ok();
+    }
+}

+ 184 - 0
fs-service/src/main/java/com/fs/his/domain/FsUserInfo.java

@@ -0,0 +1,184 @@
+package com.fs.his.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 用户信息对象 fs_user_info
+ *
+ * @author fs
+ * @date 2025-08-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsUserInfo extends BaseEntity {
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 企业用户ID
+     */
+    private Long companyUserId;
+
+    /**
+     * 姓名
+     */
+    private String username;
+
+    /**
+     * 性别(0:男, 1:女, 2:未知)
+     */
+    private String sex;
+
+    /**
+     * 出生年月
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date birthdate;
+
+    /**
+     * 年龄
+     */
+    private int age;
+
+    /**
+     * 电话
+     */
+    private String phone;
+
+    /**
+     * 身份证号
+     */
+    private String idCard;
+
+    /**
+     * 退休前工作单位
+     */
+    private String previousEmployer;
+
+    /**
+     * 可支配收入(元)
+     */
+    private BigDecimal disposableIncome;
+
+    /**
+     * 实际消费(元)
+     */
+    private BigDecimal actualConsumption;
+
+    /**
+     * 市区
+     */
+    private String city;
+
+    /**
+     * 详情小区
+     */
+    private String residentialCommunity;
+
+    /**
+     * 门牌号
+     */
+    private String houseNumber;
+
+    /**
+     * 面积(平方米)
+     */
+    private BigDecimal area;
+
+    /**
+     * 楼层
+     */
+    private String floor;
+
+    /**
+     * 伴侣姓名
+     */
+    private String partnerName;
+
+    /**
+     * 伴侣年龄
+     */
+    private String partnerAge;
+
+    /**
+     * 伴侣单位
+     */
+    private String partnerEmployer;
+
+    /**
+     * 孙辈学校
+     */
+    private String grandchildrenSchool;
+
+    /**
+     * 是否会员(0:不是, 1:是)
+     */
+    private String isMember;
+
+    /**
+     * 会员分类/等级
+     */
+    private String memberLevel;
+
+    /**
+     * 加入时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date joinTime;
+
+    /**
+     * 到期时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date expiryTime;
+
+    /**
+     * 管理月份(格式如: 2024-01)
+     */
+    private String managementMonth;
+
+    /**
+     * 职位
+     */
+    private String position;
+
+    /**
+     * 癖好/平日喜好
+     */
+    private String hobbies;
+
+    /**
+     * 特长
+     */
+    private String specialties;
+
+    /**
+     * 信仰
+     */
+    private String faith;
+
+    /**
+     * 担忧
+     */
+    private String concerns;
+
+    /**
+     * 用户想解决的问题
+     */
+    private String problemsToSolve;
+
+    /**
+     * 健康建议
+     */
+    private String healthSuggestions;
+
+}

+ 55 - 0
fs-service/src/main/java/com/fs/his/domain/FsUserPayCompetitorsRecord.java

@@ -0,0 +1,55 @@
+package com.fs.his.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户购买竞品信息记录对象 fs_user_pay_competitors_record
+ *
+ * @author fs
+ * @date 2025-08-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsUserPayCompetitorsRecord extends BaseEntity{
+
+    /** 自增主键ID */
+    private Long id;
+
+    /** 用户ID */
+    private Long userId;
+
+    /** 竞品公司 */
+    private String competitorCompany;
+
+    /** 产品名称 */
+    private String product;
+
+    /** 价格 */
+    private BigDecimal priceAmount;
+
+    /** 服务内容 */
+    private String serviceInfo;
+
+    /** 免费服务次数 */
+    private Integer freeServiceCount;
+
+    /** 预留字段 */
+    private String reservedField;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createdTime;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date updatedTime;
+
+
+}

+ 62 - 0
fs-service/src/main/java/com/fs/his/domain/FsUserPayRecord.java

@@ -0,0 +1,62 @@
+package com.fs.his.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 用户购买服务信息记录对象 fs_user_pay_record
+ *
+ * @author fs
+ * @date 2025-08-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsUserPayRecord extends BaseEntity{
+
+    /** 自增主键ID */
+    private Long id;
+
+    /** 用户ID */
+    private Long userId;
+
+    /** 商品名称 */
+    private String productName;
+
+    /** 购买数量 */
+    private Integer payNum;
+
+    /** 金额 */
+    private BigDecimal amount;
+
+    /** 预计用完时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date estimatedUseTime;
+
+    /** 购买次数 */
+    private Integer payCount;
+
+    /** 剩余次数 */
+    private Integer remainingCount;
+
+    /** 会员情况 */
+    private String membershipInfo;
+
+    /** 预留字段 */
+    private String reservedField;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createdTime;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date updatedTime;
+
+
+}

+ 55 - 0
fs-service/src/main/java/com/fs/his/mapper/FsUserInfoMapper.java

@@ -0,0 +1,55 @@
+package com.fs.his.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.his.domain.FsUserInfo;
+
+import java.util.List;
+
+/**
+ * 用户信息Mapper接口
+ *
+ * @author fs
+ * @date 2025-08-25
+ */
+public interface FsUserInfoMapper extends BaseMapper<FsUserInfo> {
+    /**
+     * 查询用户信息
+     *
+     * @param userId 用户id
+     * @return 用户信息
+     */
+    FsUserInfo selectFsUserInfoById(Long userId);
+
+    /**
+     * 查询用户信息列表
+     *
+     * @param companyUserId 用户信息
+     * @return 用户信息集合
+     */
+    List<FsUserInfo> selectFsUserInfoList(Long companyUserId);
+
+    /**
+     * 新增用户信息
+     *
+     * @param fsUserInfo 用户信息
+     * @return 结果
+     */
+    int insertFsUserInfo(FsUserInfo fsUserInfo);
+
+    /**
+     * 修改用户信息
+     *
+     * @param fsUserInfo 用户信息
+     * @return 结果
+     */
+    int updateFsUserInfo(FsUserInfo fsUserInfo);
+
+    /**
+     * 删除用户信息
+     *
+     * @param id 用户信息主键
+     * @return 结果
+     */
+    int deleteFsUserInfoById(Long id);
+
+}

+ 54 - 0
fs-service/src/main/java/com/fs/his/mapper/FsUserPayCompetitorsRecordMapper.java

@@ -0,0 +1,54 @@
+package com.fs.his.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.his.domain.FsUserPayCompetitorsRecord;
+
+/**
+ * 用户购买竞品信息记录Mapper接口
+ * 
+ * @author fs
+ * @date 2025-08-26
+ */
+public interface FsUserPayCompetitorsRecordMapper extends BaseMapper<FsUserPayCompetitorsRecord>{
+    /**
+     * 查询用户购买竞品信息记录
+     * 
+     * @param id 用户购买竞品信息记录主键
+     * @return 用户购买竞品信息记录
+     */
+    FsUserPayCompetitorsRecord selectFsUserPayCompetitorsRecordById(Long id);
+
+    /**
+     * 查询用户购买竞品信息记录列表
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 用户购买竞品信息记录集合
+     */
+    List<FsUserPayCompetitorsRecord> selectFsUserPayCompetitorsRecordList(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord);
+
+    /**
+     * 新增用户购买竞品信息记录
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 结果
+     */
+    int insertFsUserPayCompetitorsRecord(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord);
+
+    /**
+     * 修改用户购买竞品信息记录
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 结果
+     */
+    int updateFsUserPayCompetitorsRecord(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord);
+
+    /**
+     * 删除用户购买竞品信息记录
+     * 
+     * @param id 用户购买竞品信息记录主键
+     * @return 结果
+     */
+    int deleteFsUserPayCompetitorsRecordById(Long id);
+
+}

+ 54 - 0
fs-service/src/main/java/com/fs/his/mapper/FsUserPayRecordMapper.java

@@ -0,0 +1,54 @@
+package com.fs.his.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.his.domain.FsUserPayRecord;
+
+/**
+ * 用户购买服务信息记录Mapper接口
+ * 
+ * @author fs
+ * @date 2025-08-26
+ */
+public interface FsUserPayRecordMapper extends BaseMapper<FsUserPayRecord>{
+    /**
+     * 查询用户购买服务信息记录
+     * 
+     * @param id 用户购买服务信息记录主键
+     * @return 用户购买服务信息记录
+     */
+    FsUserPayRecord selectFsUserPayRecordById(Long id);
+
+    /**
+     * 查询用户购买服务信息记录列表
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 用户购买服务信息记录集合
+     */
+    List<FsUserPayRecord> selectFsUserPayRecordList(FsUserPayRecord fsUserPayRecord);
+
+    /**
+     * 新增用户购买服务信息记录
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 结果
+     */
+    int insertFsUserPayRecord(FsUserPayRecord fsUserPayRecord);
+
+    /**
+     * 修改用户购买服务信息记录
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 结果
+     */
+    int updateFsUserPayRecord(FsUserPayRecord fsUserPayRecord);
+
+    /**
+     * 删除用户购买服务信息记录
+     * 
+     * @param id 用户购买服务信息记录主键
+     * @return 结果
+     */
+    int deleteFsUserPayRecordById(Long id);
+
+}

+ 56 - 0
fs-service/src/main/java/com/fs/his/service/IFsUserInfoService.java

@@ -0,0 +1,56 @@
+package com.fs.his.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.his.domain.FsUserInfo;
+
+import java.util.List;
+
+
+/**
+ * 用户信息Service接口
+ *
+ * @author fs
+ * @date 2025-08-25
+ */
+public interface IFsUserInfoService extends IService<FsUserInfo> {
+    /**
+     * 查询用户信息
+     *
+     * @param userId 用户信息主键
+     * @return 用户信息
+     */
+    FsUserInfo selectFsUserInfoById(Long userId);
+
+    /**
+     * 查询用户信息列表
+     *
+     * @param  companyUserId 用户信息
+     * @return 用户信息集合
+     */
+    List<FsUserInfo> selectFsUserInfoList(Long companyUserId);
+
+    /**
+     * 新增用户信息
+     *
+     * @param fsUserInfo 用户信息
+     * @return 结果
+     */
+    int insertFsUserInfo(FsUserInfo fsUserInfo);
+
+    /**
+     * 修改用户信息
+     *
+     * @param fsUserInfo 用户信息
+     * @return 结果
+     */
+    int updateFsUserInfo(FsUserInfo fsUserInfo);
+
+
+    /**
+     * 删除用户信息信息
+     *
+     * @param userId 用户信息主键
+     * @return 结果
+     */
+    int deleteFsUserInfoById(Long userId);
+}

+ 54 - 0
fs-service/src/main/java/com/fs/his/service/IFsUserPayCompetitorsRecordService.java

@@ -0,0 +1,54 @@
+package com.fs.his.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.his.domain.FsUserPayCompetitorsRecord;
+
+/**
+ * 用户购买竞品信息记录Service接口
+ * 
+ * @author fs
+ * @date 2025-08-26
+ */
+public interface IFsUserPayCompetitorsRecordService extends IService<FsUserPayCompetitorsRecord>{
+    /**
+     * 查询用户购买竞品信息记录
+     * 
+     * @param id 用户购买竞品信息记录主键
+     * @return 用户购买竞品信息记录
+     */
+    FsUserPayCompetitorsRecord selectFsUserPayCompetitorsRecordById(Long id);
+
+    /**
+     * 查询用户购买竞品信息记录列表
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 用户购买竞品信息记录集合
+     */
+    List<FsUserPayCompetitorsRecord> selectFsUserPayCompetitorsRecordList(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord);
+
+    /**
+     * 新增用户购买竞品信息记录
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 结果
+     */
+    int insertFsUserPayCompetitorsRecord(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord);
+
+    /**
+     * 修改用户购买竞品信息记录
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 结果
+     */
+    int updateFsUserPayCompetitorsRecord(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord);
+
+
+    /**
+     * 删除用户购买竞品信息记录信息
+     * 
+     * @param id 用户购买竞品信息记录主键
+     * @return 结果
+     */
+    int deleteFsUserPayCompetitorsRecordById(Long id);
+}

+ 53 - 0
fs-service/src/main/java/com/fs/his/service/IFsUserPayRecordService.java

@@ -0,0 +1,53 @@
+package com.fs.his.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.his.domain.FsUserPayRecord;
+
+/**
+ * 用户购买服务信息记录Service接口
+ * 
+ * @author fs
+ * @date 2025-08-26
+ */
+public interface IFsUserPayRecordService extends IService<FsUserPayRecord>{
+    /**
+     * 查询用户购买服务信息记录
+     * 
+     * @param id 用户购买服务信息记录主键
+     * @return 用户购买服务信息记录
+     */
+    FsUserPayRecord selectFsUserPayRecordById(Long id);
+
+    /**
+     * 查询用户购买服务信息记录列表
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 用户购买服务信息记录集合
+     */
+    List<FsUserPayRecord> selectFsUserPayRecordList(FsUserPayRecord fsUserPayRecord);
+
+    /**
+     * 新增用户购买服务信息记录
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 结果
+     */
+    int insertFsUserPayRecord(FsUserPayRecord fsUserPayRecord);
+
+    /**
+     * 修改用户购买服务信息记录
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 结果
+     */
+    int updateFsUserPayRecord(FsUserPayRecord fsUserPayRecord);
+
+    /**
+     * 删除用户购买服务信息记录信息
+     * 
+     * @param id 用户购买服务信息记录主键
+     * @return 结果
+     */
+    int deleteFsUserPayRecordById(Long id);
+}

+ 78 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserInfoServiceImpl.java

@@ -0,0 +1,78 @@
+package com.fs.his.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fs.common.utils.DateUtils;
+import com.fs.his.domain.FsUserInfo;
+import com.fs.his.mapper.FsUserInfoMapper;
+import com.fs.his.service.IFsUserInfoService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 用户信息Service业务层处理
+ *
+ * @author fs
+ * @date 2025-08-25
+ */
+@Service
+public class FsUserInfoServiceImpl extends ServiceImpl<FsUserInfoMapper, FsUserInfo> implements IFsUserInfoService {
+
+    /**
+     * 查询用户信息
+     *
+     * @param userId 用户id
+     * @return 用户信息
+     */
+    @Override
+    public FsUserInfo selectFsUserInfoById(Long userId) {
+        return baseMapper.selectFsUserInfoById(userId);
+    }
+
+    /**
+     * 查询用户信息列表
+     *
+     * @param companyUserId 用户信息
+     * @return 用户信息
+     */
+    @Override
+    public List<FsUserInfo> selectFsUserInfoList(Long companyUserId) {
+        return baseMapper.selectFsUserInfoList(companyUserId);
+    }
+
+    /**
+     * 新增用户信息
+     *
+     * @param fsUserInfo 用户信息
+     * @return 结果
+     */
+    @Override
+    public int insertFsUserInfo(FsUserInfo fsUserInfo) {
+        fsUserInfo.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsUserInfo(fsUserInfo);
+    }
+
+    /**
+     * 修改用户信息
+     *
+     * @param fsUserInfo 用户信息
+     * @return 结果
+     */
+    @Override
+    public int updateFsUserInfo(FsUserInfo fsUserInfo) {
+        fsUserInfo.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsUserInfo(fsUserInfo);
+    }
+
+
+    /**
+     * 删除用户信息信息
+     *
+     * @param userId 用户信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsUserInfoById(Long userId) {
+        return baseMapper.deleteFsUserInfoById(userId);
+    }
+}

+ 80 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserPayCompetitorsRecordServiceImpl.java

@@ -0,0 +1,80 @@
+package com.fs.his.service.impl;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.his.mapper.FsUserPayCompetitorsRecordMapper;
+import com.fs.his.domain.FsUserPayCompetitorsRecord;
+import com.fs.his.service.IFsUserPayCompetitorsRecordService;
+
+/**
+ * 用户购买竞品信息记录Service业务层处理
+ * 
+ * @author fs
+ * @date 2025-08-26
+ */
+@Service
+public class FsUserPayCompetitorsRecordServiceImpl extends ServiceImpl<FsUserPayCompetitorsRecordMapper, FsUserPayCompetitorsRecord> implements IFsUserPayCompetitorsRecordService {
+
+    /**
+     * 查询用户购买竞品信息记录
+     * 
+     * @param id 用户购买竞品信息记录主键
+     * @return 用户购买竞品信息记录
+     */
+    @Override
+    public FsUserPayCompetitorsRecord selectFsUserPayCompetitorsRecordById(Long id)
+    {
+        return baseMapper.selectFsUserPayCompetitorsRecordById(id);
+    }
+
+    /**
+     * 查询用户购买竞品信息记录列表
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 用户购买竞品信息记录
+     */
+    @Override
+    public List<FsUserPayCompetitorsRecord> selectFsUserPayCompetitorsRecordList(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord)
+    {
+        return baseMapper.selectFsUserPayCompetitorsRecordList(fsUserPayCompetitorsRecord);
+    }
+
+    /**
+     * 新增用户购买竞品信息记录
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 结果
+     */
+    @Override
+    public int insertFsUserPayCompetitorsRecord(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord)
+    {
+        return baseMapper.insertFsUserPayCompetitorsRecord(fsUserPayCompetitorsRecord);
+    }
+
+    /**
+     * 修改用户购买竞品信息记录
+     * 
+     * @param fsUserPayCompetitorsRecord 用户购买竞品信息记录
+     * @return 结果
+     */
+    @Override
+    public int updateFsUserPayCompetitorsRecord(FsUserPayCompetitorsRecord fsUserPayCompetitorsRecord)
+    {
+        return baseMapper.updateFsUserPayCompetitorsRecord(fsUserPayCompetitorsRecord);
+    }
+
+
+    /**
+     * 删除用户购买竞品信息记录信息
+     * 
+     * @param id 用户购买竞品信息记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsUserPayCompetitorsRecordById(Long id)
+    {
+        return baseMapper.deleteFsUserPayCompetitorsRecordById(id);
+    }
+}

+ 79 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserPayRecordServiceImpl.java

@@ -0,0 +1,79 @@
+package com.fs.his.service.impl;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.his.mapper.FsUserPayRecordMapper;
+import com.fs.his.domain.FsUserPayRecord;
+import com.fs.his.service.IFsUserPayRecordService;
+
+/**
+ * 用户购买服务信息记录Service业务层处理
+ * 
+ * @author fs
+ * @date 2025-08-26
+ */
+@Service
+public class FsUserPayRecordServiceImpl extends ServiceImpl<FsUserPayRecordMapper, FsUserPayRecord> implements IFsUserPayRecordService {
+
+    /**
+     * 查询用户购买服务信息记录
+     * 
+     * @param id 用户购买服务信息记录主键
+     * @return 用户购买服务信息记录
+     */
+    @Override
+    public FsUserPayRecord selectFsUserPayRecordById(Long id)
+    {
+        return baseMapper.selectFsUserPayRecordById(id);
+    }
+
+    /**
+     * 查询用户购买服务信息记录列表
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 用户购买服务信息记录
+     */
+    @Override
+    public List<FsUserPayRecord> selectFsUserPayRecordList(FsUserPayRecord fsUserPayRecord)
+    {
+        return baseMapper.selectFsUserPayRecordList(fsUserPayRecord);
+    }
+
+    /**
+     * 新增用户购买服务信息记录
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 结果
+     */
+    @Override
+    public int insertFsUserPayRecord(FsUserPayRecord fsUserPayRecord)
+    {
+        return baseMapper.insertFsUserPayRecord(fsUserPayRecord);
+    }
+
+    /**
+     * 修改用户购买服务信息记录
+     * 
+     * @param fsUserPayRecord 用户购买服务信息记录
+     * @return 结果
+     */
+    @Override
+    public int updateFsUserPayRecord(FsUserPayRecord fsUserPayRecord)
+    {
+        return baseMapper.updateFsUserPayRecord(fsUserPayRecord);
+    }
+
+    /**
+     * 删除用户购买服务信息记录信息
+     * 
+     * @param id 用户购买服务信息记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsUserPayRecordById(Long id)
+    {
+        return baseMapper.deleteFsUserPayRecordById(id);
+    }
+}

+ 275 - 0
fs-service/src/main/resources/mapper/his/FsUserInfoMapper.xml

@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.his.mapper.FsUserInfoMapper">
+
+    <resultMap type="FsUserInfo" id="FsUserInfoResult">
+        <result property="userId" column="user_id"/>
+        <result property="companyUserId" column="company_user_id"/>
+        <result property="username" column="username"/>
+        <result property="sex" column="sex"/>
+        <result property="birthdate" column="birthdate"/>
+        <result property="phone" column="phone"/>
+        <result property="idCard" column="id_card"/>
+        <result property="previousEmployer" column="previous_employer"/>
+        <result property="disposableIncome" column="disposable_income"/>
+        <result property="actualConsumption" column="actual_consumption"/>
+        <result property="city" column="city"/>
+        <result property="residentialCommunity" column="residential_community"/>
+        <result property="houseNumber" column="house_number"/>
+        <result property="area" column="area"/>
+        <result property="floor" column="floor"/>
+        <result property="partnerName" column="partner_name"/>
+        <result property="partnerAge" column="partner_age"/>
+        <result property="partnerEmployer" column="partner_employer"/>
+        <result property="grandchildrenSchool" column="grandchildren_school"/>
+        <result property="isMember" column="is_member"/>
+        <result property="memberLevel" column="member_level"/>
+        <result property="joinTime" column="join_time"/>
+        <result property="expiryTime" column="expiry_time"/>
+        <result property="managementMonth" column="management_month"/>
+        <result property="position" column="position"/>
+        <result property="hobbies" column="hobbies"/>
+        <result property="specialties" column="specialties"/>
+        <result property="faith" column="faith"/>
+        <result property="concerns" column="concerns"/>
+        <result property="problemsToSolve" column="problems_to_solve"/>
+        <result property="healthSuggestions" column="health_suggestions"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+    <sql id="selectFsUserInfoVo">
+        select
+               user_id,
+               company_user_id,
+               username,
+               sex,
+               birthdate,
+               phone,
+               id_card,
+               previous_employer,
+               disposable_income,
+               actual_consumption,
+               city,
+               residential_community,
+               house_number,
+               area,
+               floor,
+               partner_name,
+               partner_age,
+               partner_employer,
+               grandchildren_school,
+               is_member,
+               member_level,
+               join_time,
+               expiry_time,
+               management_month,
+               position,
+               hobbies,
+               specialties,
+               faith,
+               concerns,
+               problems_to_solve,
+               health_suggestions,
+               create_time,
+               update_time
+        from fs_user_info
+    </sql>
+
+    <!-- 根据企业用户信息查询用户列表信息   -->
+    <select id="selectFsUserInfoList" resultMap="FsUserInfoResult">
+        select  info.user_id,
+                info.company_user_id,
+                info.username,
+                info.sex,
+                info.birthdate,
+                info.phone,
+                info.id_card,
+                info.previous_employer,
+                info.disposable_income,
+                info.actual_consumption,
+                info.city,
+                info.residential_community,
+                info.house_number,
+                info.area,
+                info.floor,
+                info.partner_name,
+                info.partner_age,
+                info.partner_employer,
+                info.grandchildren_school,
+                info.is_member,
+                info.member_level,
+                info.join_time,
+                info.expiry_time,
+                info.management_month,
+                info.position,
+                info.hobbies,
+                info.specialties,
+                info.faith,
+                info.concerns,
+                info.problems_to_solve,
+                info.health_suggestions,
+                info.create_time
+            from fs_user_info info
+                left join fs_user fs on info.user_id = fs.user_id
+            where info.company_user_id = #{companyUserId} and fs.is_del=0
+    </select>
+
+    <!-- 更具用户id查询详细信息   -->
+    <select id="selectFsUserInfoById" resultMap="FsUserInfoResult">
+        select  info.user_id,
+                info.company_user_id,
+                info.username,
+                info.sex,
+                info.birthdate,
+                info.phone,
+                info.id_card,
+                info.previous_employer,
+                info.disposable_income,
+                info.actual_consumption,
+                info.city,
+                info.residential_community,
+                info.house_number,
+                info.area,
+                info.floor,
+                info.partner_name,
+                info.partner_age,
+                info.partner_employer,
+                info.grandchildren_school,
+                info.is_member,
+                info.member_level,
+                info.join_time,
+                info.expiry_time,
+                info.management_month,
+                info.position,
+                info.hobbies,
+                info.specialties,
+                info.faith,
+                info.concerns,
+                info.problems_to_solve,
+                info.health_suggestions,
+                info.create_time
+         from fs_user_info info
+         left join fs_user fs on info.user_id = fs.user_id
+         where info.user_id = #{userId} and fs.is_del=0
+    </select>
+
+    <!-- 登记用户信息   -->
+    <insert id="insertFsUserInfo" parameterType="FsUserInfo">
+        insert into fs_user_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="userId != null and userId != ''">user_id,</if>
+            <if test="companyUserId != null and companyUserId != ''">company_user_id,</if>
+            <if test="username != null and username != ''">username,</if>
+            <if test="sex != null and sex != ''">sex,</if>
+            <if test="birthdate != null">birthdate,</if>
+            <if test="phone != null">phone,</if>
+            <if test="idCard != null">id_card,</if>
+            <if test="previousEmployer != null">previous_employer,</if>
+            <if test="disposableIncome != null">disposable_income,</if>
+            <if test="actualConsumption != null">actual_consumption,</if>
+            <if test="city != null">city,</if>
+            <if test="residentialCommunity != null">residential_community,</if>
+            <if test="houseNumber != null">house_number,</if>
+            <if test="area != null">area,</if>
+            <if test="floor != null">floor,</if>
+            <if test="partnerName != null">partner_name,</if>
+            <if test="partnerAge != null">partner_age,</if>
+            <if test="partnerEmployer != null">partner_employer,</if>
+            <if test="grandchildrenSchool != null">grandchildren_school,</if>
+            <if test="isMember != null and isMember != ''">is_member,</if>
+            <if test="memberLevel != null">member_level,</if>
+            <if test="joinTime != null">join_time,</if>
+            <if test="expiryTime != null">expiry_time,</if>
+            <if test="managementMonth != null">management_month,</if>
+            <if test="position != null">position,</if>
+            <if test="hobbies != null">hobbies,</if>
+            <if test="specialties != null">specialties,</if>
+            <if test="faith != null">faith,</if>
+            <if test="concerns != null">concerns,</if>
+            <if test="problemsToSolve != null">problems_to_solve,</if>
+            <if test="healthSuggestions != null">health_suggestions,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="userId != null and userId != ''">#{userId},</if>
+            <if test="companyUserId != null and companyUserId != ''">#{companyUserId},</if>
+            <if test="username != null and username != ''">#{username},</if>
+            <if test="sex != null and sex != ''">#{sex},</if>
+            <if test="birthdate != null">#{birthdate},</if>
+            <if test="phone != null">#{phone},</if>
+            <if test="idCard != null">#{idCard},</if>
+            <if test="previousEmployer != null">#{previousEmployer},</if>
+            <if test="disposableIncome != null">#{disposableIncome},</if>
+            <if test="actualConsumption != null">#{actualConsumption},</if>
+            <if test="city != null">#{city},</if>
+            <if test="residentialCommunity != null">#{residentialCommunity},</if>
+            <if test="houseNumber != null">#{houseNumber},</if>
+            <if test="area != null">#{area},</if>
+            <if test="floor != null">#{floor},</if>
+            <if test="partnerName != null">#{partnerName},</if>
+            <if test="partnerAge != null">#{partnerAge},</if>
+            <if test="partnerEmployer != null">#{partnerEmployer},</if>
+            <if test="grandchildrenSchool != null">#{grandchildrenSchool},</if>
+            <if test="isMember != null and isMember != ''">#{isMember},</if>
+            <if test="memberLevel != null">#{memberLevel},</if>
+            <if test="joinTime != null">#{joinTime},</if>
+            <if test="expiryTime != null">#{expiryTime},</if>
+            <if test="managementMonth != null">#{managementMonth},</if>
+            <if test="position != null">#{position},</if>
+            <if test="hobbies != null">#{hobbies},</if>
+            <if test="specialties != null">#{specialties},</if>
+            <if test="faith != null">#{faith},</if>
+            <if test="concerns != null">#{concerns},</if>
+            <if test="problemsToSolve != null">#{problemsToSolve},</if>
+            <if test="healthSuggestions != null">#{healthSuggestions},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+        </trim>
+    </insert>
+
+    <!-- 更新用户信息   -->
+    <update id="updateFsUserInfo" parameterType="FsUserInfo">
+        update fs_user_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null and userId != ''">user_id = #{userId},</if>
+            <if test="companyUserId != null and companyUserId != ''">company_user_id = #{companyUserId},</if>
+            <if test="username != null and username != ''">username = #{username},</if>
+            <if test="sex != null and sex != ''">sex = #{sex},</if>
+            <if test="birthdate != null">birthdate = #{birthdate},</if>
+            <if test="phone != null">phone = #{phone},</if>
+            <if test="idCard != null">id_card = #{idCard},</if>
+            <if test="previousEmployer != null">previous_employer = #{previousEmployer},</if>
+            <if test="disposableIncome != null">disposable_income = #{disposableIncome},</if>
+            <if test="actualConsumption != null">actual_consumption = #{actualConsumption},</if>
+            <if test="city != null">city = #{city},</if>
+            <if test="residentialCommunity != null">residential_community = #{residentialCommunity},</if>
+            <if test="houseNumber != null">house_number = #{houseNumber},</if>
+            <if test="area != null">area = #{area},</if>
+            <if test="floor != null">floor = #{floor},</if>
+            <if test="partnerName != null">partner_name = #{partnerName},</if>
+            <if test="partnerAge != null">partner_age = #{partnerAge},</if>
+            <if test="partnerEmployer != null">partner_employer = #{partnerEmployer},</if>
+            <if test="grandchildrenSchool != null">grandchildren_school = #{grandchildrenSchool},</if>
+            <if test="isMember != null and isMember != ''">is_member = #{isMember},</if>
+            <if test="memberLevel != null">member_level = #{memberLevel},</if>
+            <if test="joinTime != null">join_time = #{joinTime},</if>
+            <if test="expiryTime != null">expiry_time = #{expiryTime},</if>
+            <if test="managementMonth != null">management_month = #{managementMonth},</if>
+            <if test="position != null">position = #{position},</if>
+            <if test="hobbies != null">hobbies = #{hobbies},</if>
+            <if test="specialties != null">specialties = #{specialties},</if>
+            <if test="faith != null">faith = #{faith},</if>
+            <if test="concerns != null">concerns = #{concerns},</if>
+            <if test="problemsToSolve != null">problems_to_solve = #{problemsToSolve},</if>
+            <if test="healthSuggestions != null">health_suggestions = #{healthSuggestions},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where user_id = #{userId}
+    </update>
+
+</mapper>

+ 90 - 0
fs-service/src/main/resources/mapper/his/FsUserPayCompetitorsRecordMapper.xml

@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.his.mapper.FsUserPayCompetitorsRecordMapper">
+    
+    <resultMap type="FsUserPayCompetitorsRecord" id="FsUserPayCompetitorsRecordResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="competitorCompany"    column="competitor_company"    />
+        <result property="product"    column="product"    />
+        <result property="priceAmount"    column="price_amount"    />
+        <result property="serviceInfo"    column="service_info"    />
+        <result property="freeServiceCount"    column="free_service_count"    />
+        <result property="reservedField"    column="reserved_field"    />
+        <result property="createdTime"    column="created_time"    />
+        <result property="updatedTime"    column="updated_time"    />
+    </resultMap>
+
+    <sql id="selectFsUserPayCompetitorsRecordVo">
+        select id, user_id, competitor_company, product, price_amount, service_info, free_service_count, reserved_field, created_time, updated_time from fs_user_pay_competitors_record
+    </sql>
+
+    <select id="selectFsUserPayCompetitorsRecordList" parameterType="FsUserPayCompetitorsRecord" resultMap="FsUserPayCompetitorsRecordResult">
+        <include refid="selectFsUserPayCompetitorsRecordVo"/>
+        <where>  
+            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+            <if test="competitorCompany != null  and competitorCompany != ''"> and competitor_company = #{competitorCompany}</if>
+            <if test="product != null  and product != ''"> and product = #{product}</if>
+            <if test="priceAmount != null "> and price_amount = #{priceAmount}</if>
+            <if test="serviceInfo != null  and serviceInfo != ''"> and service_info = #{serviceInfo}</if>
+            <if test="freeServiceCount != null  and freeServiceCount != ''"> and free_service_count = #{freeServiceCount}</if>
+            <if test="reservedField != null  and reservedField != ''"> and reserved_field = #{reservedField}</if>
+            <if test="createdTime != null "> and created_time = #{createdTime}</if>
+            <if test="updatedTime != null "> and updated_time = #{updatedTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsUserPayCompetitorsRecordById" resultMap="FsUserPayCompetitorsRecordResult">
+        <include refid="selectFsUserPayCompetitorsRecordVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertFsUserPayCompetitorsRecord" parameterType="FsUserPayCompetitorsRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_user_pay_competitors_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="userId != null and userId != ''">user_id,</if>
+            <if test="competitorCompany != null">competitor_company,</if>
+            <if test="product != null">product,</if>
+            <if test="priceAmount != null">price_amount,</if>
+            <if test="serviceInfo != null">service_info,</if>
+            <if test="freeServiceCount != null and freeServiceCount != ''">free_service_count,</if>
+            <if test="reservedField != null">reserved_field,</if>
+            <if test="createdTime != null">created_time,</if>
+            <if test="updatedTime != null">updated_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="userId != null and userId != ''">#{userId},</if>
+            <if test="competitorCompany != null">#{competitorCompany},</if>
+            <if test="product != null">#{product},</if>
+            <if test="priceAmount != null">#{priceAmount},</if>
+            <if test="serviceInfo != null">#{serviceInfo},</if>
+            <if test="freeServiceCount != null and freeServiceCount != ''">#{freeServiceCount},</if>
+            <if test="reservedField != null">#{reservedField},</if>
+            <if test="createdTime != null">#{createdTime},</if>
+            <if test="updatedTime != null">#{updatedTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsUserPayCompetitorsRecord" parameterType="FsUserPayCompetitorsRecord">
+        update fs_user_pay_competitors_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null and userId != ''">user_id = #{userId},</if>
+            <if test="competitorCompany != null">competitor_company = #{competitorCompany},</if>
+            <if test="product != null">product = #{product},</if>
+            <if test="priceAmount != null">price_amount = #{priceAmount},</if>
+            <if test="serviceInfo != null">service_info = #{serviceInfo},</if>
+            <if test="freeServiceCount != null and freeServiceCount != ''">free_service_count = #{freeServiceCount},</if>
+            <if test="reservedField != null">reserved_field = #{reservedField},</if>
+            <if test="createdTime != null">created_time = #{createdTime},</if>
+            <if test="updatedTime != null">updated_time = #{updatedTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsUserPayCompetitorsRecordById">
+        delete from fs_user_pay_competitors_record where id = #{id}
+    </delete>
+
+</mapper>

+ 100 - 0
fs-service/src/main/resources/mapper/his/FsUserPayRecordMapper.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.his.mapper.FsUserPayRecordMapper">
+    
+    <resultMap type="FsUserPayRecord" id="FsUserPayRecordResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="productName"    column="product_name"    />
+        <result property="payNum"    column="pay_num"    />
+        <result property="amount"    column="amount"    />
+        <result property="estimatedUseTime"    column="estimated_use_time"    />
+        <result property="payCount"    column="pay_count"    />
+        <result property="remainingCount"    column="remaining_count"    />
+        <result property="membershipInfo"    column="membership_info"    />
+        <result property="reservedField"    column="reserved_field"    />
+        <result property="createdTime"    column="created_time"    />
+        <result property="updatedTime"    column="updated_time"    />
+    </resultMap>
+
+    <sql id="selectFsUserPayRecordVo">
+        select id, user_id, product_name, pay_num, amount, estimated_use_time, pay_count, remaining_count, membership_info, reserved_field, created_time, updated_time from fs_user_pay_record
+    </sql>
+
+    <select id="selectFsUserPayRecordList" parameterType="FsUserPayRecord" resultMap="FsUserPayRecordResult">
+        <include refid="selectFsUserPayRecordVo"/>
+        <where>  
+            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+            <if test="productName != null  and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
+            <if test="payNum != null  and payNum != ''"> and pay_num = #{payNum}</if>
+            <if test="amount != null "> and amount = #{amount}</if>
+            <if test="estimatedUseTime != null "> and estimated_use_time = #{estimatedUseTime}</if>
+            <if test="payCount != null  and payCount != ''"> and pay_count = #{payCount}</if>
+            <if test="remainingCount != null  and remainingCount != ''"> and remaining_count = #{remainingCount}</if>
+            <if test="membershipInfo != null  and membershipInfo != ''"> and membership_info = #{membershipInfo}</if>
+            <if test="reservedField != null  and reservedField != ''"> and reserved_field = #{reservedField}</if>
+            <if test="createdTime != null "> and created_time = #{createdTime}</if>
+            <if test="updatedTime != null "> and updated_time = #{updatedTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsUserPayRecordById" resultMap="FsUserPayRecordResult">
+        <include refid="selectFsUserPayRecordVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertFsUserPayRecord" parameterType="FsUserPayRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_user_pay_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="userId != null and userId != ''">user_id,</if>
+            <if test="productName != null">product_name,</if>
+            <if test="payNum != null">pay_num,</if>
+            <if test="amount != null">amount,</if>
+            <if test="estimatedUseTime != null">estimated_use_time,</if>
+            <if test="payCount != null">pay_count,</if>
+            <if test="remainingCount != null">remaining_count,</if>
+            <if test="membershipInfo != null">membership_info,</if>
+            <if test="reservedField != null">reserved_field,</if>
+            <if test="createdTime != null">created_time,</if>
+            <if test="updatedTime != null">updated_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="userId != null and userId != ''">#{userId},</if>
+            <if test="productName != null">#{productName},</if>
+            <if test="payNum != null">#{payNum},</if>
+            <if test="amount != null">#{amount},</if>
+            <if test="estimatedUseTime != null">#{estimatedUseTime},</if>
+            <if test="payCount != null">#{payCount},</if>
+            <if test="remainingCount != null">#{remainingCount},</if>
+            <if test="membershipInfo != null">#{membershipInfo},</if>
+            <if test="reservedField != null">#{reservedField},</if>
+            <if test="createdTime != null">#{createdTime},</if>
+            <if test="updatedTime != null">#{updatedTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsUserPayRecord" parameterType="FsUserPayRecord">
+        update fs_user_pay_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null and userId != ''">user_id = #{userId},</if>
+            <if test="productName != null">product_name = #{productName},</if>
+            <if test="payNum != null">pay_num = #{payNum},</if>
+            <if test="amount != null">amount = #{amount},</if>
+            <if test="estimatedUseTime != null">estimated_use_time = #{estimatedUseTime},</if>
+            <if test="payCount != null">pay_count = #{payCount},</if>
+            <if test="remainingCount != null">remaining_count = #{remainingCount},</if>
+            <if test="membershipInfo != null">membership_info = #{membershipInfo},</if>
+            <if test="reservedField != null">reserved_field = #{reservedField},</if>
+            <if test="createdTime != null">created_time = #{createdTime},</if>
+            <if test="updatedTime != null">updated_time = #{updatedTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsUserPayRecordById" >
+        delete from fs_user_pay_record where id = #{id}
+    </delete>
+
+</mapper>