caoliqin пре 5 дана
родитељ
комит
6d4bfb0170
25 измењених фајлова са 1985 додато и 0 уклоњено
  1. 106 0
      fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserRecordController.java
  2. 103 0
      fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserRecordValueController.java
  3. 109 0
      fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserTempController.java
  4. 143 0
      fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserTempFieldController.java
  5. 39 0
      fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserRecord.java
  6. 43 0
      fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserRecordValue.java
  7. 43 0
      fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserTemp.java
  8. 54 0
      fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserTempField.java
  9. 66 0
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserRecordMapper.java
  10. 61 0
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserRecordValueMapper.java
  11. 61 0
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserTempFieldMapper.java
  12. 61 0
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserTempMapper.java
  13. 66 0
      fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserRecordService.java
  14. 61 0
      fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserRecordValueService.java
  15. 61 0
      fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserTempFieldService.java
  16. 61 0
      fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserTempService.java
  17. 115 0
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserRecordServiceImpl.java
  18. 94 0
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserRecordValueServiceImpl.java
  19. 94 0
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserTempFieldServiceImpl.java
  20. 94 0
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserTempServiceImpl.java
  21. 54 0
      fs-service/src/main/java/com/fs/hisStore/vo/FsStoreProductUserRecordVO.java
  22. 125 0
      fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserRecord/FsStoreProductUserRecordMapper.xml
  23. 84 0
      fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserRecordValue/FsStoreProductUserRecordValueMapper.xml
  24. 88 0
      fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserTemp/FsStoreProductUserTempMapper.xml
  25. 99 0
      fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserTempField/FsStoreProductUserTempFieldMapper.xml

+ 106 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserRecordController.java

@@ -0,0 +1,106 @@
+package com.fs.hisStore.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+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 com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.hisStore.domain.FsStoreProductUserRecord;
+import com.fs.hisStore.service.IFsStoreProductUserRecordService;
+import com.fs.hisStore.vo.FsStoreProductUserRecordVO;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 商品信息采集记录Controller
+ *
+ * @author fs
+ * @date 2026-06-18
+ */
+@RestController
+@RequestMapping("/store/store/storeProductUserRecord")
+public class FsStoreProductUserRecordController extends BaseController
+{
+    @Autowired
+    private IFsStoreProductUserRecordService fsStoreProductUserRecordService;
+
+    /**
+     * 查询商品信息采集记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserRecord:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsStoreProductUserRecordVO query)
+    {
+        startPage();
+        query.setIsDel(0);
+        List<FsStoreProductUserRecordVO> list = fsStoreProductUserRecordService.selectFsStoreProductUserRecordListVO(query);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出商品信息采集记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserRecord:export')")
+    @Log(title = "商品信息采集记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsStoreProductUserRecordVO query)
+    {
+        query.setIsDel(0);
+        List<FsStoreProductUserRecordVO> list = fsStoreProductUserRecordService.selectFsStoreProductUserRecordListVO(query);
+        ExcelUtil<FsStoreProductUserRecordVO> util = new ExcelUtil<FsStoreProductUserRecordVO>(FsStoreProductUserRecordVO.class);
+        return util.exportExcel(list, "商品信息采集记录数据");
+    }
+
+    /**
+     * 获取商品信息采集记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserRecord:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsStoreProductUserRecordService.selectFsStoreProductUserRecordDetailById(id));
+    }
+
+    /**
+     * 新增商品信息采集记录
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserRecord:add')")
+    @Log(title = "商品信息采集记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsStoreProductUserRecord fsStoreProductUserRecord)
+    {
+        return toAjax(fsStoreProductUserRecordService.insertFsStoreProductUserRecord(fsStoreProductUserRecord));
+    }
+
+    /**
+     * 修改商品信息采集记录
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserRecord:edit')")
+    @Log(title = "商品信息采集记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsStoreProductUserRecord fsStoreProductUserRecord)
+    {
+        return toAjax(fsStoreProductUserRecordService.updateFsStoreProductUserRecord(fsStoreProductUserRecord));
+    }
+
+    /**
+     * 删除商品信息采集记录
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserRecord:remove')")
+    @Log(title = "商品信息采集记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsStoreProductUserRecordService.deleteFsStoreProductUserRecordByIds(ids));
+    }
+}

+ 103 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserRecordValueController.java

@@ -0,0 +1,103 @@
+package com.fs.hisStore.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+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 com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.hisStore.domain.FsStoreProductUserRecordValue;
+import com.fs.hisStore.service.IFsStoreProductUserRecordValueService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 商品信息采集记录值Controller
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+@RestController
+@RequestMapping("/FsStoreProductUserRecordValue/FsStoreProductUserRecordValue")
+public class FsStoreProductUserRecordValueController extends BaseController
+{
+    @Autowired
+    private IFsStoreProductUserRecordValueService fsStoreProductUserRecordValueService;
+
+    /**
+     * 查询商品信息采集记录值列表
+     */
+    @PreAuthorize("@ss.hasPermi('FsStoreProductUserRecordValue:FsStoreProductUserRecordValue:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsStoreProductUserRecordValue fsStoreProductUserRecordValue)
+    {
+        startPage();
+        List<FsStoreProductUserRecordValue> list = fsStoreProductUserRecordValueService.selectFsStoreProductUserRecordValueList(fsStoreProductUserRecordValue);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出商品信息采集记录值列表
+     */
+    @PreAuthorize("@ss.hasPermi('FsStoreProductUserRecordValue:FsStoreProductUserRecordValue:export')")
+    @Log(title = "商品信息采集记录值", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsStoreProductUserRecordValue fsStoreProductUserRecordValue)
+    {
+        List<FsStoreProductUserRecordValue> list = fsStoreProductUserRecordValueService.selectFsStoreProductUserRecordValueList(fsStoreProductUserRecordValue);
+        ExcelUtil<FsStoreProductUserRecordValue> util = new ExcelUtil<FsStoreProductUserRecordValue>(FsStoreProductUserRecordValue.class);
+        return util.exportExcel(list, "商品信息采集记录值数据");
+    }
+
+    /**
+     * 获取商品信息采集记录值详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('FsStoreProductUserRecordValue:FsStoreProductUserRecordValue:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsStoreProductUserRecordValueService.selectFsStoreProductUserRecordValueById(id));
+    }
+
+    /**
+     * 新增商品信息采集记录值
+     */
+    @PreAuthorize("@ss.hasPermi('FsStoreProductUserRecordValue:FsStoreProductUserRecordValue:add')")
+    @Log(title = "商品信息采集记录值", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsStoreProductUserRecordValue fsStoreProductUserRecordValue)
+    {
+        return toAjax(fsStoreProductUserRecordValueService.insertFsStoreProductUserRecordValue(fsStoreProductUserRecordValue));
+    }
+
+    /**
+     * 修改商品信息采集记录值
+     */
+    @PreAuthorize("@ss.hasPermi('FsStoreProductUserRecordValue:FsStoreProductUserRecordValue:edit')")
+    @Log(title = "商品信息采集记录值", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsStoreProductUserRecordValue fsStoreProductUserRecordValue)
+    {
+        return toAjax(fsStoreProductUserRecordValueService.updateFsStoreProductUserRecordValue(fsStoreProductUserRecordValue));
+    }
+
+    /**
+     * 删除商品信息采集记录值
+     */
+    @PreAuthorize("@ss.hasPermi('FsStoreProductUserRecordValue:FsStoreProductUserRecordValue:remove')")
+    @Log(title = "商品信息采集记录值", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsStoreProductUserRecordValueService.deleteFsStoreProductUserRecordValueByIds(ids));
+    }
+}

+ 109 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserTempController.java

@@ -0,0 +1,109 @@
+package com.fs.hisStore.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+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 com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.hisStore.domain.FsStoreProductUserTemp;
+import com.fs.hisStore.service.IFsStoreProductUserTempService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 商品信息采集模板Controller
+ *
+ * @author fs
+ * @date 2026-06-18
+ */
+@RestController
+@RequestMapping("/store/store/storeProductUserTemp")
+public class FsStoreProductUserTempController extends BaseController
+{
+    @Autowired
+    private IFsStoreProductUserTempService fsStoreProductUserTempService;
+
+    /**
+     * 查询商品信息采集模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTemp:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsStoreProductUserTemp fsStoreProductUserTemp)
+    {
+        startPage();
+        fsStoreProductUserTemp.setIsDel(0);
+        List<FsStoreProductUserTemp> list = fsStoreProductUserTempService.selectFsStoreProductUserTempList(fsStoreProductUserTemp);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出商品信息采集模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTemp:export')")
+    @Log(title = "商品信息采集模板", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsStoreProductUserTemp fsStoreProductUserTemp)
+    {
+        fsStoreProductUserTemp.setIsDel(0);
+        List<FsStoreProductUserTemp> list = fsStoreProductUserTempService.selectFsStoreProductUserTempList(fsStoreProductUserTemp);
+        ExcelUtil<FsStoreProductUserTemp> util = new ExcelUtil<FsStoreProductUserTemp>(FsStoreProductUserTemp.class);
+        return util.exportExcel(list, "商品信息采集模板数据");
+    }
+
+    /**
+     * 获取商品信息采集模板详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTemp:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        FsStoreProductUserTemp data = fsStoreProductUserTempService.selectFsStoreProductUserTempById(id);
+        if (data == null || Integer.valueOf(1).equals(data.getIsDel())) {
+            return AjaxResult.error("数据不存在");
+        }
+        return AjaxResult.success(data);
+    }
+
+    /**
+     * 新增商品信息采集模板
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTemp:add')")
+    @Log(title = "商品信息采集模板", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsStoreProductUserTemp fsStoreProductUserTemp)
+    {
+        return toAjax(fsStoreProductUserTempService.insertFsStoreProductUserTemp(fsStoreProductUserTemp));
+    }
+
+    /**
+     * 修改商品信息采集模板
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTemp:edit')")
+    @Log(title = "商品信息采集模板", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsStoreProductUserTemp fsStoreProductUserTemp)
+    {
+        return toAjax(fsStoreProductUserTempService.updateFsStoreProductUserTemp(fsStoreProductUserTemp));
+    }
+
+    /**
+     * 删除商品信息采集模板
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTemp:remove')")
+    @Log(title = "商品信息采集模板", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsStoreProductUserTempService.deleteFsStoreProductUserTempByIds(ids));
+    }
+}

+ 143 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreProductUserTempFieldController.java

@@ -0,0 +1,143 @@
+package com.fs.hisStore.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+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 com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.hisStore.domain.FsStoreProductUserTempField;
+import com.fs.hisStore.service.IFsStoreProductUserTempFieldService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.utils.StringUtils;
+
+/**
+ * 商品信息采集模板字段Controller
+ *
+ * @author fs
+ * @date 2026-06-18
+ */
+@RestController
+@RequestMapping("/store/store/storeProductUserTempField")
+public class FsStoreProductUserTempFieldController extends BaseController
+{
+    @Autowired
+    private IFsStoreProductUserTempFieldService fsStoreProductUserTempFieldService;
+
+    /**
+     * 查询商品信息采集模板字段列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTempField:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsStoreProductUserTempField fsStoreProductUserTempField)
+    {
+        startPage();
+        fsStoreProductUserTempField.setIsDel(0);
+        List<FsStoreProductUserTempField> list = fsStoreProductUserTempFieldService.selectFsStoreProductUserTempFieldList(fsStoreProductUserTempField);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出商品信息采集模板字段列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTempField:export')")
+    @Log(title = "商品信息采集模板字段", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsStoreProductUserTempField fsStoreProductUserTempField)
+    {
+        fsStoreProductUserTempField.setIsDel(0);
+        List<FsStoreProductUserTempField> list = fsStoreProductUserTempFieldService.selectFsStoreProductUserTempFieldList(fsStoreProductUserTempField);
+        ExcelUtil<FsStoreProductUserTempField> util = new ExcelUtil<FsStoreProductUserTempField>(FsStoreProductUserTempField.class);
+        return util.exportExcel(list, "商品信息采集模板字段数据");
+    }
+
+    /**
+     * 获取商品信息采集模板字段详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTempField:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        FsStoreProductUserTempField data = fsStoreProductUserTempFieldService.selectFsStoreProductUserTempFieldById(id);
+        if (data == null || Integer.valueOf(1).equals(data.getIsDel())) {
+            return AjaxResult.error("数据不存在");
+        }
+        return AjaxResult.success(data);
+    }
+
+    /**
+     * 新增商品信息采集模板字段
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTempField:add')")
+    @Log(title = "商品信息采集模板字段", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsStoreProductUserTempField fsStoreProductUserTempField)
+    {
+        AjaxResult validateResult = validateAndNormalizeFieldOption(fsStoreProductUserTempField);
+        if (validateResult != null) {
+            return validateResult;
+        }
+        return toAjax(fsStoreProductUserTempFieldService.insertFsStoreProductUserTempField(fsStoreProductUserTempField));
+    }
+
+    /**
+     * 修改商品信息采集模板字段
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTempField:edit')")
+    @Log(title = "商品信息采集模板字段", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsStoreProductUserTempField fsStoreProductUserTempField)
+    {
+        AjaxResult validateResult = validateAndNormalizeFieldOption(fsStoreProductUserTempField);
+        if (validateResult != null) {
+            return validateResult;
+        }
+        return toAjax(fsStoreProductUserTempFieldService.updateFsStoreProductUserTempField(fsStoreProductUserTempField));
+    }
+
+    /**
+     * 删除商品信息采集模板字段
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeProductUserTempField:remove')")
+    @Log(title = "商品信息采集模板字段", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsStoreProductUserTempFieldService.deleteFsStoreProductUserTempFieldByIds(ids));
+    }
+
+    /**
+     * 单选/多选时要求填写选项内容,并统一分号格式
+     */
+    private AjaxResult validateAndNormalizeFieldOption(FsStoreProductUserTempField field) {
+        if (field == null) {
+            return AjaxResult.error("参数不能为空");
+        }
+        String fieldType = field.getFieldType();
+        String fieldOption = field.getFieldOption();
+        if ("radio".equals(fieldType) || "checkbox".equals(fieldType)) {
+            if (StringUtils.isEmpty(fieldOption)) {
+                return AjaxResult.error("单选/复选类型必须填写选项内容");
+            }
+            String normalized = fieldOption
+                    .replace(';', ';')
+                    .replaceAll("\\s*;\\s*", ";")
+                    .trim();
+            field.setFieldOption(normalized);
+        } else {
+            // 非单选/复选类型不保存选项内容
+            field.setFieldOption(null);
+        }
+        return null;
+    }
+}

+ 39 - 0
fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserRecord.java

@@ -0,0 +1,39 @@
+package com.fs.hisStore.domain;
+
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 商品信息采集记录对象 fs_store_product_user_record
+ *
+ * @author fs
+ * @date 2026-06-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsStoreProductUserRecord extends BaseEntity{
+
+    /** 主键 */
+    private Long id;
+
+    /** 模板ID */
+    @Excel(name = "模板ID")
+    private Long tempId;
+
+    /** 商品ID */
+    @Excel(name = "商品ID")
+    private Long productId;
+
+    /** 用户ID */
+    @Excel(name = "用户ID")
+    private Long userId;
+
+    /** 备注 */
+    private String remark;
+
+    /** 删除标记,0-未删,1-已删 */
+    @Excel(name = "删除标记,0-未删,1-已删")
+    private Integer isDel;
+}

+ 43 - 0
fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserRecordValue.java

@@ -0,0 +1,43 @@
+package com.fs.hisStore.domain;
+
+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_store_product_user_record_value
+ *
+ * @author fs
+ * @date 2026-06-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsStoreProductUserRecordValue extends BaseEntity{
+
+    /** 主键 */
+    private Long id;
+
+    /** 采集记录ID */
+    @Excel(name = "采集记录ID")
+    private Long recordId;
+
+    /** 模板字段ID */
+    @Excel(name = "模板字段ID")
+    private Long tempFieldId;
+
+    /** 字段名称(冗余) */
+    @Excel(name = "字段名称", readConverterExp = "冗=余")
+    private String fieldName;
+
+    /** 字段值(文本值) */
+    @Excel(name = "字段值", readConverterExp = "文=本值")
+    private String fieldValue;
+
+    /** 复杂值(对象/数组) */
+    @Excel(name = "复杂值", readConverterExp = "对=象/数组")
+    private String valueJson;
+
+
+}

+ 43 - 0
fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserTemp.java

@@ -0,0 +1,43 @@
+package com.fs.hisStore.domain;
+
+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_store_product_user_temp
+ *
+ * @author fs
+ * @date 2026-06-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsStoreProductUserTemp extends BaseEntity{
+
+    /** 主键 */
+    private Long id;
+
+    /** 模板标题 */
+    @Excel(name = "模板标题")
+    private String name;
+
+    /** 类别,1-单选, 2-多选  */
+    @Excel(name = "类别,1-单选, 2-多选 ")
+    private Integer type;
+
+    /** 排序 */
+    @Excel(name = "排序")
+    private Integer sort;
+
+    /** 状态,0-停用,1-启用 */
+    @Excel(name = "状态,0-停用,1-启用")
+    private Integer status;
+
+    /** 是否删除,1-是,0-否 */
+    @Excel(name = "是否删除,1-是,0-否")
+    private Integer isDel;
+
+
+}

+ 54 - 0
fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductUserTempField.java

@@ -0,0 +1,54 @@
+package com.fs.hisStore.domain;
+
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 商品信息采集模板字段对象 fs_store_product_user_temp_field
+ *
+ * @author fs
+ * @date 2026-06-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsStoreProductUserTempField extends BaseEntity{
+
+    /** 主键 */
+    private Long id;
+
+    /** 信息采集模板ID */
+    @Excel(name = "信息采集模板ID")
+    private Long tempId;
+
+    /** 选项名称 */
+    @Excel(name = "选项名称")
+    private String fieldName;
+
+    /** 是否必填,0-否,1-是 */
+    @Excel(name = "是否必填,0-否,1-是")
+    private Integer isRequired;
+
+    /** 字段类型:text/number/date/json */
+    @Excel(name = "字段类型:text/number/date/json")
+    private String fieldType;
+
+    /** 选项内容(单选/多选时必填,分号分隔) */
+    @Excel(name = "选项内容")
+    private String fieldOption;
+
+    /** 排序 */
+    @Excel(name = "排序")
+    private Integer sort;
+
+    /** 状态,0-停用,1-启用 */
+    @Excel(name = "状态,0-停用,1-启用")
+    private Integer status;
+
+    /** 是否删除,1-是,0-否 */
+    @Excel(name = "是否删除,1-是,0-否")
+    private Integer isDel;
+
+
+}

+ 66 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserRecordMapper.java

@@ -0,0 +1,66 @@
+package com.fs.hisStore.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.hisStore.domain.FsStoreProductUserRecord;
+import com.fs.hisStore.vo.FsStoreProductUserRecordVO;
+
+/**
+ * 商品信息采集记录Mapper接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface FsStoreProductUserRecordMapper extends BaseMapper<FsStoreProductUserRecord>{
+    /**
+     * 查询商品信息采集记录
+     * 
+     * @param id 商品信息采集记录主键
+     * @return 商品信息采集记录
+     */
+    FsStoreProductUserRecord selectFsStoreProductUserRecordById(Long id);
+
+    /**
+     * 查询商品信息采集记录列表
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 商品信息采集记录集合
+     */
+    List<FsStoreProductUserRecord> selectFsStoreProductUserRecordList(FsStoreProductUserRecord fsStoreProductUserRecord);
+
+    List<FsStoreProductUserRecordVO> selectFsStoreProductUserRecordListVO(FsStoreProductUserRecordVO query);
+
+    FsStoreProductUserRecordVO selectFsStoreProductUserRecordDetailById(Long id);
+
+    /**
+     * 新增商品信息采集记录
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 结果
+     */
+    int insertFsStoreProductUserRecord(FsStoreProductUserRecord fsStoreProductUserRecord);
+
+    /**
+     * 修改商品信息采集记录
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 结果
+     */
+    int updateFsStoreProductUserRecord(FsStoreProductUserRecord fsStoreProductUserRecord);
+
+    /**
+     * 删除商品信息采集记录
+     * 
+     * @param id 商品信息采集记录主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordById(Long id);
+
+    /**
+     * 批量删除商品信息采集记录
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordByIds(Long[] ids);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserRecordValueMapper.java

@@ -0,0 +1,61 @@
+package com.fs.hisStore.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.hisStore.domain.FsStoreProductUserRecordValue;
+
+/**
+ * 商品信息采集记录值Mapper接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface FsStoreProductUserRecordValueMapper extends BaseMapper<FsStoreProductUserRecordValue>{
+    /**
+     * 查询商品信息采集记录值
+     * 
+     * @param id 商品信息采集记录值主键
+     * @return 商品信息采集记录值
+     */
+    FsStoreProductUserRecordValue selectFsStoreProductUserRecordValueById(Long id);
+
+    /**
+     * 查询商品信息采集记录值列表
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 商品信息采集记录值集合
+     */
+    List<FsStoreProductUserRecordValue> selectFsStoreProductUserRecordValueList(FsStoreProductUserRecordValue fsStoreProductUserRecordValue);
+
+    /**
+     * 新增商品信息采集记录值
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 结果
+     */
+    int insertFsStoreProductUserRecordValue(FsStoreProductUserRecordValue fsStoreProductUserRecordValue);
+
+    /**
+     * 修改商品信息采集记录值
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 结果
+     */
+    int updateFsStoreProductUserRecordValue(FsStoreProductUserRecordValue fsStoreProductUserRecordValue);
+
+    /**
+     * 删除商品信息采集记录值
+     * 
+     * @param id 商品信息采集记录值主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordValueById(Long id);
+
+    /**
+     * 批量删除商品信息采集记录值
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordValueByIds(Long[] ids);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserTempFieldMapper.java

@@ -0,0 +1,61 @@
+package com.fs.hisStore.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.hisStore.domain.FsStoreProductUserTempField;
+
+/**
+ * 商品信息采集模板字段Mapper接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface FsStoreProductUserTempFieldMapper extends BaseMapper<FsStoreProductUserTempField>{
+    /**
+     * 查询商品信息采集模板字段
+     * 
+     * @param id 商品信息采集模板字段主键
+     * @return 商品信息采集模板字段
+     */
+    FsStoreProductUserTempField selectFsStoreProductUserTempFieldById(Long id);
+
+    /**
+     * 查询商品信息采集模板字段列表
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 商品信息采集模板字段集合
+     */
+    List<FsStoreProductUserTempField> selectFsStoreProductUserTempFieldList(FsStoreProductUserTempField fsStoreProductUserTempField);
+
+    /**
+     * 新增商品信息采集模板字段
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 结果
+     */
+    int insertFsStoreProductUserTempField(FsStoreProductUserTempField fsStoreProductUserTempField);
+
+    /**
+     * 修改商品信息采集模板字段
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 结果
+     */
+    int updateFsStoreProductUserTempField(FsStoreProductUserTempField fsStoreProductUserTempField);
+
+    /**
+     * 删除商品信息采集模板字段
+     * 
+     * @param id 商品信息采集模板字段主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempFieldById(Long id);
+
+    /**
+     * 批量删除商品信息采集模板字段
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempFieldByIds(Long[] ids);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreProductUserTempMapper.java

@@ -0,0 +1,61 @@
+package com.fs.hisStore.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.hisStore.domain.FsStoreProductUserTemp;
+
+/**
+ * 商品信息采集模板Mapper接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface FsStoreProductUserTempMapper extends BaseMapper<FsStoreProductUserTemp>{
+    /**
+     * 查询商品信息采集模板
+     * 
+     * @param id 商品信息采集模板主键
+     * @return 商品信息采集模板
+     */
+    FsStoreProductUserTemp selectFsStoreProductUserTempById(Long id);
+
+    /**
+     * 查询商品信息采集模板列表
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 商品信息采集模板集合
+     */
+    List<FsStoreProductUserTemp> selectFsStoreProductUserTempList(FsStoreProductUserTemp fsStoreProductUserTemp);
+
+    /**
+     * 新增商品信息采集模板
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 结果
+     */
+    int insertFsStoreProductUserTemp(FsStoreProductUserTemp fsStoreProductUserTemp);
+
+    /**
+     * 修改商品信息采集模板
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 结果
+     */
+    int updateFsStoreProductUserTemp(FsStoreProductUserTemp fsStoreProductUserTemp);
+
+    /**
+     * 删除商品信息采集模板
+     * 
+     * @param id 商品信息采集模板主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempById(Long id);
+
+    /**
+     * 批量删除商品信息采集模板
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempByIds(Long[] ids);
+}

+ 66 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserRecordService.java

@@ -0,0 +1,66 @@
+package com.fs.hisStore.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.hisStore.domain.FsStoreProductUserRecord;
+import com.fs.hisStore.vo.FsStoreProductUserRecordVO;
+
+/**
+ * 商品信息采集记录Service接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface IFsStoreProductUserRecordService extends IService<FsStoreProductUserRecord>{
+    /**
+     * 查询商品信息采集记录
+     * 
+     * @param id 商品信息采集记录主键
+     * @return 商品信息采集记录
+     */
+    FsStoreProductUserRecord selectFsStoreProductUserRecordById(Long id);
+
+    /**
+     * 查询商品信息采集记录列表
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 商品信息采集记录集合
+     */
+    List<FsStoreProductUserRecord> selectFsStoreProductUserRecordList(FsStoreProductUserRecord fsStoreProductUserRecord);
+
+    List<FsStoreProductUserRecordVO> selectFsStoreProductUserRecordListVO(FsStoreProductUserRecordVO query);
+
+    FsStoreProductUserRecordVO selectFsStoreProductUserRecordDetailById(Long id);
+
+    /**
+     * 新增商品信息采集记录
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 结果
+     */
+    int insertFsStoreProductUserRecord(FsStoreProductUserRecord fsStoreProductUserRecord);
+
+    /**
+     * 修改商品信息采集记录
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 结果
+     */
+    int updateFsStoreProductUserRecord(FsStoreProductUserRecord fsStoreProductUserRecord);
+
+    /**
+     * 批量删除商品信息采集记录
+     * 
+     * @param ids 需要删除的商品信息采集记录主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordByIds(Long[] ids);
+
+    /**
+     * 删除商品信息采集记录信息
+     * 
+     * @param id 商品信息采集记录主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordById(Long id);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserRecordValueService.java

@@ -0,0 +1,61 @@
+package com.fs.hisStore.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.hisStore.domain.FsStoreProductUserRecordValue;
+
+/**
+ * 商品信息采集记录值Service接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface IFsStoreProductUserRecordValueService extends IService<FsStoreProductUserRecordValue>{
+    /**
+     * 查询商品信息采集记录值
+     * 
+     * @param id 商品信息采集记录值主键
+     * @return 商品信息采集记录值
+     */
+    FsStoreProductUserRecordValue selectFsStoreProductUserRecordValueById(Long id);
+
+    /**
+     * 查询商品信息采集记录值列表
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 商品信息采集记录值集合
+     */
+    List<FsStoreProductUserRecordValue> selectFsStoreProductUserRecordValueList(FsStoreProductUserRecordValue fsStoreProductUserRecordValue);
+
+    /**
+     * 新增商品信息采集记录值
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 结果
+     */
+    int insertFsStoreProductUserRecordValue(FsStoreProductUserRecordValue fsStoreProductUserRecordValue);
+
+    /**
+     * 修改商品信息采集记录值
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 结果
+     */
+    int updateFsStoreProductUserRecordValue(FsStoreProductUserRecordValue fsStoreProductUserRecordValue);
+
+    /**
+     * 批量删除商品信息采集记录值
+     * 
+     * @param ids 需要删除的商品信息采集记录值主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordValueByIds(Long[] ids);
+
+    /**
+     * 删除商品信息采集记录值信息
+     * 
+     * @param id 商品信息采集记录值主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserRecordValueById(Long id);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserTempFieldService.java

@@ -0,0 +1,61 @@
+package com.fs.hisStore.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.hisStore.domain.FsStoreProductUserTempField;
+
+/**
+ * 商品信息采集模板字段Service接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface IFsStoreProductUserTempFieldService extends IService<FsStoreProductUserTempField>{
+    /**
+     * 查询商品信息采集模板字段
+     * 
+     * @param id 商品信息采集模板字段主键
+     * @return 商品信息采集模板字段
+     */
+    FsStoreProductUserTempField selectFsStoreProductUserTempFieldById(Long id);
+
+    /**
+     * 查询商品信息采集模板字段列表
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 商品信息采集模板字段集合
+     */
+    List<FsStoreProductUserTempField> selectFsStoreProductUserTempFieldList(FsStoreProductUserTempField fsStoreProductUserTempField);
+
+    /**
+     * 新增商品信息采集模板字段
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 结果
+     */
+    int insertFsStoreProductUserTempField(FsStoreProductUserTempField fsStoreProductUserTempField);
+
+    /**
+     * 修改商品信息采集模板字段
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 结果
+     */
+    int updateFsStoreProductUserTempField(FsStoreProductUserTempField fsStoreProductUserTempField);
+
+    /**
+     * 批量删除商品信息采集模板字段
+     * 
+     * @param ids 需要删除的商品信息采集模板字段主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempFieldByIds(Long[] ids);
+
+    /**
+     * 删除商品信息采集模板字段信息
+     * 
+     * @param id 商品信息采集模板字段主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempFieldById(Long id);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreProductUserTempService.java

@@ -0,0 +1,61 @@
+package com.fs.hisStore.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.hisStore.domain.FsStoreProductUserTemp;
+
+/**
+ * 商品信息采集模板Service接口
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+public interface IFsStoreProductUserTempService extends IService<FsStoreProductUserTemp>{
+    /**
+     * 查询商品信息采集模板
+     * 
+     * @param id 商品信息采集模板主键
+     * @return 商品信息采集模板
+     */
+    FsStoreProductUserTemp selectFsStoreProductUserTempById(Long id);
+
+    /**
+     * 查询商品信息采集模板列表
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 商品信息采集模板集合
+     */
+    List<FsStoreProductUserTemp> selectFsStoreProductUserTempList(FsStoreProductUserTemp fsStoreProductUserTemp);
+
+    /**
+     * 新增商品信息采集模板
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 结果
+     */
+    int insertFsStoreProductUserTemp(FsStoreProductUserTemp fsStoreProductUserTemp);
+
+    /**
+     * 修改商品信息采集模板
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 结果
+     */
+    int updateFsStoreProductUserTemp(FsStoreProductUserTemp fsStoreProductUserTemp);
+
+    /**
+     * 批量删除商品信息采集模板
+     * 
+     * @param ids 需要删除的商品信息采集模板主键集合
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempByIds(Long[] ids);
+
+    /**
+     * 删除商品信息采集模板信息
+     * 
+     * @param id 商品信息采集模板主键
+     * @return 结果
+     */
+    int deleteFsStoreProductUserTempById(Long id);
+}

+ 115 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserRecordServiceImpl.java

@@ -0,0 +1,115 @@
+package com.fs.hisStore.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.hisStore.domain.FsStoreProductUserRecordValue;
+import com.fs.hisStore.mapper.FsStoreProductUserRecordMapper;
+import com.fs.hisStore.domain.FsStoreProductUserRecord;
+import com.fs.hisStore.service.IFsStoreProductUserRecordValueService;
+import com.fs.hisStore.service.IFsStoreProductUserRecordService;
+import com.fs.hisStore.vo.FsStoreProductUserRecordVO;
+
+/**
+ * 商品信息采集记录Service业务层处理
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+@Service
+public class FsStoreProductUserRecordServiceImpl extends ServiceImpl<FsStoreProductUserRecordMapper, FsStoreProductUserRecord> implements IFsStoreProductUserRecordService {
+    @Autowired
+    private IFsStoreProductUserRecordValueService fsStoreProductUserRecordValueService;
+
+    /**
+     * 查询商品信息采集记录
+     * 
+     * @param id 商品信息采集记录主键
+     * @return 商品信息采集记录
+     */
+    @Override
+    public FsStoreProductUserRecord selectFsStoreProductUserRecordById(Long id)
+    {
+        return baseMapper.selectFsStoreProductUserRecordById(id);
+    }
+
+    /**
+     * 查询商品信息采集记录列表
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 商品信息采集记录
+     */
+    @Override
+    public List<FsStoreProductUserRecord> selectFsStoreProductUserRecordList(FsStoreProductUserRecord fsStoreProductUserRecord)
+    {
+        return baseMapper.selectFsStoreProductUserRecordList(fsStoreProductUserRecord);
+    }
+
+    @Override
+    public List<FsStoreProductUserRecordVO> selectFsStoreProductUserRecordListVO(FsStoreProductUserRecordVO query) {
+        return baseMapper.selectFsStoreProductUserRecordListVO(query);
+    }
+
+    @Override
+    public FsStoreProductUserRecordVO selectFsStoreProductUserRecordDetailById(Long id) {
+        FsStoreProductUserRecordVO record = baseMapper.selectFsStoreProductUserRecordDetailById(id);
+        if (record != null) {
+            FsStoreProductUserRecordValue query = new FsStoreProductUserRecordValue();
+            query.setRecordId(id);
+            record.setFieldValueList(fsStoreProductUserRecordValueService.selectFsStoreProductUserRecordValueList(query));
+        }
+        return record;
+    }
+
+    /**
+     * 新增商品信息采集记录
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 结果
+     */
+    @Override
+    public int insertFsStoreProductUserRecord(FsStoreProductUserRecord fsStoreProductUserRecord)
+    {
+        fsStoreProductUserRecord.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsStoreProductUserRecord(fsStoreProductUserRecord);
+    }
+
+    /**
+     * 修改商品信息采集记录
+     * 
+     * @param fsStoreProductUserRecord 商品信息采集记录
+     * @return 结果
+     */
+    @Override
+    public int updateFsStoreProductUserRecord(FsStoreProductUserRecord fsStoreProductUserRecord)
+    {
+        fsStoreProductUserRecord.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsStoreProductUserRecord(fsStoreProductUserRecord);
+    }
+
+    /**
+     * 批量删除商品信息采集记录
+     * 
+     * @param ids 需要删除的商品信息采集记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserRecordByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsStoreProductUserRecordByIds(ids);
+    }
+
+    /**
+     * 删除商品信息采集记录信息
+     * 
+     * @param id 商品信息采集记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserRecordById(Long id)
+    {
+        return baseMapper.deleteFsStoreProductUserRecordById(id);
+    }
+}

+ 94 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserRecordValueServiceImpl.java

@@ -0,0 +1,94 @@
+package com.fs.hisStore.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.hisStore.mapper.FsStoreProductUserRecordValueMapper;
+import com.fs.hisStore.domain.FsStoreProductUserRecordValue;
+import com.fs.hisStore.service.IFsStoreProductUserRecordValueService;
+
+/**
+ * 商品信息采集记录值Service业务层处理
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+@Service
+public class FsStoreProductUserRecordValueServiceImpl extends ServiceImpl<FsStoreProductUserRecordValueMapper, FsStoreProductUserRecordValue> implements IFsStoreProductUserRecordValueService {
+
+    /**
+     * 查询商品信息采集记录值
+     * 
+     * @param id 商品信息采集记录值主键
+     * @return 商品信息采集记录值
+     */
+    @Override
+    public FsStoreProductUserRecordValue selectFsStoreProductUserRecordValueById(Long id)
+    {
+        return baseMapper.selectFsStoreProductUserRecordValueById(id);
+    }
+
+    /**
+     * 查询商品信息采集记录值列表
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 商品信息采集记录值
+     */
+    @Override
+    public List<FsStoreProductUserRecordValue> selectFsStoreProductUserRecordValueList(FsStoreProductUserRecordValue fsStoreProductUserRecordValue)
+    {
+        return baseMapper.selectFsStoreProductUserRecordValueList(fsStoreProductUserRecordValue);
+    }
+
+    /**
+     * 新增商品信息采集记录值
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 结果
+     */
+    @Override
+    public int insertFsStoreProductUserRecordValue(FsStoreProductUserRecordValue fsStoreProductUserRecordValue)
+    {
+        fsStoreProductUserRecordValue.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsStoreProductUserRecordValue(fsStoreProductUserRecordValue);
+    }
+
+    /**
+     * 修改商品信息采集记录值
+     * 
+     * @param fsStoreProductUserRecordValue 商品信息采集记录值
+     * @return 结果
+     */
+    @Override
+    public int updateFsStoreProductUserRecordValue(FsStoreProductUserRecordValue fsStoreProductUserRecordValue)
+    {
+        fsStoreProductUserRecordValue.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsStoreProductUserRecordValue(fsStoreProductUserRecordValue);
+    }
+
+    /**
+     * 批量删除商品信息采集记录值
+     * 
+     * @param ids 需要删除的商品信息采集记录值主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserRecordValueByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsStoreProductUserRecordValueByIds(ids);
+    }
+
+    /**
+     * 删除商品信息采集记录值信息
+     * 
+     * @param id 商品信息采集记录值主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserRecordValueById(Long id)
+    {
+        return baseMapper.deleteFsStoreProductUserRecordValueById(id);
+    }
+}

+ 94 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserTempFieldServiceImpl.java

@@ -0,0 +1,94 @@
+package com.fs.hisStore.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.hisStore.mapper.FsStoreProductUserTempFieldMapper;
+import com.fs.hisStore.domain.FsStoreProductUserTempField;
+import com.fs.hisStore.service.IFsStoreProductUserTempFieldService;
+
+/**
+ * 商品信息采集模板字段Service业务层处理
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+@Service
+public class FsStoreProductUserTempFieldServiceImpl extends ServiceImpl<FsStoreProductUserTempFieldMapper, FsStoreProductUserTempField> implements IFsStoreProductUserTempFieldService {
+
+    /**
+     * 查询商品信息采集模板字段
+     * 
+     * @param id 商品信息采集模板字段主键
+     * @return 商品信息采集模板字段
+     */
+    @Override
+    public FsStoreProductUserTempField selectFsStoreProductUserTempFieldById(Long id)
+    {
+        return baseMapper.selectFsStoreProductUserTempFieldById(id);
+    }
+
+    /**
+     * 查询商品信息采集模板字段列表
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 商品信息采集模板字段
+     */
+    @Override
+    public List<FsStoreProductUserTempField> selectFsStoreProductUserTempFieldList(FsStoreProductUserTempField fsStoreProductUserTempField)
+    {
+        return baseMapper.selectFsStoreProductUserTempFieldList(fsStoreProductUserTempField);
+    }
+
+    /**
+     * 新增商品信息采集模板字段
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 结果
+     */
+    @Override
+    public int insertFsStoreProductUserTempField(FsStoreProductUserTempField fsStoreProductUserTempField)
+    {
+        fsStoreProductUserTempField.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsStoreProductUserTempField(fsStoreProductUserTempField);
+    }
+
+    /**
+     * 修改商品信息采集模板字段
+     * 
+     * @param fsStoreProductUserTempField 商品信息采集模板字段
+     * @return 结果
+     */
+    @Override
+    public int updateFsStoreProductUserTempField(FsStoreProductUserTempField fsStoreProductUserTempField)
+    {
+        fsStoreProductUserTempField.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsStoreProductUserTempField(fsStoreProductUserTempField);
+    }
+
+    /**
+     * 批量删除商品信息采集模板字段
+     * 
+     * @param ids 需要删除的商品信息采集模板字段主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserTempFieldByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsStoreProductUserTempFieldByIds(ids);
+    }
+
+    /**
+     * 删除商品信息采集模板字段信息
+     * 
+     * @param id 商品信息采集模板字段主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserTempFieldById(Long id)
+    {
+        return baseMapper.deleteFsStoreProductUserTempFieldById(id);
+    }
+}

+ 94 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductUserTempServiceImpl.java

@@ -0,0 +1,94 @@
+package com.fs.hisStore.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.hisStore.mapper.FsStoreProductUserTempMapper;
+import com.fs.hisStore.domain.FsStoreProductUserTemp;
+import com.fs.hisStore.service.IFsStoreProductUserTempService;
+
+/**
+ * 商品信息采集模板Service业务层处理
+ * 
+ * @author fs
+ * @date 2026-06-18
+ */
+@Service
+public class FsStoreProductUserTempServiceImpl extends ServiceImpl<FsStoreProductUserTempMapper, FsStoreProductUserTemp> implements IFsStoreProductUserTempService {
+
+    /**
+     * 查询商品信息采集模板
+     * 
+     * @param id 商品信息采集模板主键
+     * @return 商品信息采集模板
+     */
+    @Override
+    public FsStoreProductUserTemp selectFsStoreProductUserTempById(Long id)
+    {
+        return baseMapper.selectFsStoreProductUserTempById(id);
+    }
+
+    /**
+     * 查询商品信息采集模板列表
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 商品信息采集模板
+     */
+    @Override
+    public List<FsStoreProductUserTemp> selectFsStoreProductUserTempList(FsStoreProductUserTemp fsStoreProductUserTemp)
+    {
+        return baseMapper.selectFsStoreProductUserTempList(fsStoreProductUserTemp);
+    }
+
+    /**
+     * 新增商品信息采集模板
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 结果
+     */
+    @Override
+    public int insertFsStoreProductUserTemp(FsStoreProductUserTemp fsStoreProductUserTemp)
+    {
+        fsStoreProductUserTemp.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertFsStoreProductUserTemp(fsStoreProductUserTemp);
+    }
+
+    /**
+     * 修改商品信息采集模板
+     * 
+     * @param fsStoreProductUserTemp 商品信息采集模板
+     * @return 结果
+     */
+    @Override
+    public int updateFsStoreProductUserTemp(FsStoreProductUserTemp fsStoreProductUserTemp)
+    {
+        fsStoreProductUserTemp.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateFsStoreProductUserTemp(fsStoreProductUserTemp);
+    }
+
+    /**
+     * 批量删除商品信息采集模板
+     * 
+     * @param ids 需要删除的商品信息采集模板主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserTempByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsStoreProductUserTempByIds(ids);
+    }
+
+    /**
+     * 删除商品信息采集模板信息
+     * 
+     * @param id 商品信息采集模板主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsStoreProductUserTempById(Long id)
+    {
+        return baseMapper.deleteFsStoreProductUserTempById(id);
+    }
+}

+ 54 - 0
fs-service/src/main/java/com/fs/hisStore/vo/FsStoreProductUserRecordVO.java

@@ -0,0 +1,54 @@
+package com.fs.hisStore.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fs.common.annotation.Excel;
+import com.fs.hisStore.domain.FsStoreProductUserRecordValue;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class FsStoreProductUserRecordVO {
+
+    private Long id;
+
+    private Long tempId;
+
+    private Long productId;
+
+    private Long userId;
+
+    @Excel(name = "模板标题")
+    private String tempName;
+
+    /** 前端兼容字段 */
+    private String templateTitle;
+
+    @Excel(name = "关联商品")
+    private String productName;
+
+    @Excel(name = "用户昵称")
+    private String nickName;
+
+    @Excel(name = "电话")
+    private String phone;
+
+    @Excel(name = "姓名")
+    private String name;
+
+    @Excel(name = "备注")
+    private String remark;
+
+    private Integer isDel;
+
+    @Excel(name = "提交时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    private List<FsStoreProductUserRecordValue> fieldValueList;
+}
+

+ 125 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserRecord/FsStoreProductUserRecordMapper.xml

@@ -0,0 +1,125 @@
+<?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.hisStore.mapper.FsStoreProductUserRecordMapper">
+    
+    <resultMap type="FsStoreProductUserRecord" id="FsStoreProductUserRecordResult">
+        <result property="id"    column="id"    />
+        <result property="tempId"    column="temp_id"    />
+        <result property="productId"    column="product_id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="remark"    column="remark"    />
+        <result property="isDel"    column="is_del"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectFsStoreProductUserRecordVo">
+        select id, temp_id, product_id, user_id, remark, is_del, create_time, update_time from fs_store_product_user_record
+    </sql>
+
+    <sql id="selectFsStoreProductUserRecordJoinVo">
+        SELECT
+            r.id AS id,
+            r.temp_id AS tempId,
+            r.product_id AS productId,
+            r.user_id AS userId,
+            r.remark AS remark,
+            r.is_del AS isDel,
+            r.create_time AS createTime,
+            r.update_time AS updateTime,
+            u.nick_name AS nickName,
+            u.phone AS phone,
+            u.name AS name,
+            t.name AS tempName,
+            t.name AS templateTitle,
+            p.product_name AS productName
+        FROM fs_store_product_user_record r
+        LEFT JOIN fs_user u ON r.user_id = u.user_id
+        LEFT JOIN fs_store_product_user_temp t ON r.temp_id = t.id
+        LEFT JOIN fs_store_product_scrm p ON r.product_id = p.product_id
+    </sql>
+
+    <select id="selectFsStoreProductUserRecordList" parameterType="FsStoreProductUserRecord" resultMap="FsStoreProductUserRecordResult">
+        <include refid="selectFsStoreProductUserRecordVo"/>
+        <where>  
+            <if test="tempId != null "> and temp_id = #{tempId}</if>
+            <if test="productId != null "> and product_id = #{productId}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="isDel != null "> and is_del = #{isDel}</if>
+        </where>
+    </select>
+
+    <select id="selectFsStoreProductUserRecordListVO" parameterType="com.fs.hisStore.vo.FsStoreProductUserRecordVO" resultType="com.fs.hisStore.vo.FsStoreProductUserRecordVO">
+        <include refid="selectFsStoreProductUserRecordJoinVo"/>
+        <where>
+            and r.is_del = 0
+            <if test="tempId != null "> and r.temp_id = #{tempId}</if>
+            <if test="productId != null "> and r.product_id = #{productId}</if>
+            <if test="userId != null "> and r.user_id = #{userId}</if>
+            <if test="isDel != null "> and r.is_del = #{isDel}</if>
+            <if test="nickName != null and nickName != ''"> and u.nick_name like concat('%', #{nickName}, '%')</if>
+            <if test="phone != null and phone != ''"> and u.phone like concat('%', #{phone}, '%')</if>
+            <if test="name != null and name != ''"> and u.name like concat('%', #{name}, '%')</if>
+        </where>
+    </select>
+    
+    <select id="selectFsStoreProductUserRecordById" parameterType="Long" resultMap="FsStoreProductUserRecordResult">
+        <include refid="selectFsStoreProductUserRecordVo"/>
+        where id = #{id}
+    </select>
+
+    <select id="selectFsStoreProductUserRecordDetailById" parameterType="Long" resultType="com.fs.hisStore.vo.FsStoreProductUserRecordVO">
+        <include refid="selectFsStoreProductUserRecordJoinVo"/>
+        where r.id = #{id}
+          and r.is_del = 0
+    </select>
+        
+    <insert id="insertFsStoreProductUserRecord" parameterType="FsStoreProductUserRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_store_product_user_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="tempId != null">temp_id,</if>
+            <if test="productId != null">product_id,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="remark != null">remark,</if>
+            <if test="isDel != null">is_del,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="tempId != null">#{tempId},</if>
+            <if test="productId != null">#{productId},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="isDel != null">#{isDel},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsStoreProductUserRecord" parameterType="FsStoreProductUserRecord">
+        update fs_store_product_user_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="tempId != null">temp_id = #{tempId},</if>
+            <if test="productId != null">product_id = #{productId},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="isDel != null">is_del = #{isDel},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsStoreProductUserRecordById" parameterType="Long">
+        delete from fs_store_product_user_record where id = #{id}
+    </delete>
+
+    <delete id="deleteFsStoreProductUserRecordByIds" parameterType="String">
+        delete from fs_store_product_user_record where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 84 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserRecordValue/FsStoreProductUserRecordValueMapper.xml

@@ -0,0 +1,84 @@
+<?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.hisStore.mapper.FsStoreProductUserRecordValueMapper">
+    
+    <resultMap type="FsStoreProductUserRecordValue" id="FsStoreProductUserRecordValueResult">
+        <result property="id"    column="id"    />
+        <result property="recordId"    column="record_id"    />
+        <result property="tempFieldId"    column="temp_field_id"    />
+        <result property="fieldName"    column="field_name"    />
+        <result property="fieldValue"    column="field_value"    />
+        <result property="valueJson"    column="value_json"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectFsStoreProductUserRecordValueVo">
+        select id, record_id, temp_field_id, field_name, field_value, value_json, create_time, update_time from fs_store_product_user_record_value
+    </sql>
+
+    <select id="selectFsStoreProductUserRecordValueList" parameterType="FsStoreProductUserRecordValue" resultMap="FsStoreProductUserRecordValueResult">
+        <include refid="selectFsStoreProductUserRecordValueVo"/>
+        <where>  
+            <if test="recordId != null "> and record_id = #{recordId}</if>
+            <if test="tempFieldId != null "> and temp_field_id = #{tempFieldId}</if>
+            <if test="fieldName != null  and fieldName != ''"> and field_name like concat('%', #{fieldName}, '%')</if>
+            <if test="fieldValue != null  and fieldValue != ''"> and field_value = #{fieldValue}</if>
+            <if test="valueJson != null  and valueJson != ''"> and value_json = #{valueJson}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsStoreProductUserRecordValueById" parameterType="Long" resultMap="FsStoreProductUserRecordValueResult">
+        <include refid="selectFsStoreProductUserRecordValueVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFsStoreProductUserRecordValue" parameterType="FsStoreProductUserRecordValue" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_store_product_user_record_value
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="recordId != null">record_id,</if>
+            <if test="tempFieldId != null">temp_field_id,</if>
+            <if test="fieldName != null">field_name,</if>
+            <if test="fieldValue != null">field_value,</if>
+            <if test="valueJson != null">value_json,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="recordId != null">#{recordId},</if>
+            <if test="tempFieldId != null">#{tempFieldId},</if>
+            <if test="fieldName != null">#{fieldName},</if>
+            <if test="fieldValue != null">#{fieldValue},</if>
+            <if test="valueJson != null">#{valueJson},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsStoreProductUserRecordValue" parameterType="FsStoreProductUserRecordValue">
+        update fs_store_product_user_record_value
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="recordId != null">record_id = #{recordId},</if>
+            <if test="tempFieldId != null">temp_field_id = #{tempFieldId},</if>
+            <if test="fieldName != null">field_name = #{fieldName},</if>
+            <if test="fieldValue != null">field_value = #{fieldValue},</if>
+            <if test="valueJson != null">value_json = #{valueJson},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsStoreProductUserRecordValueById" parameterType="Long">
+        delete from fs_store_product_user_record_value where id = #{id}
+    </delete>
+
+    <delete id="deleteFsStoreProductUserRecordValueByIds" parameterType="String">
+        delete from fs_store_product_user_record_value where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 88 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserTemp/FsStoreProductUserTempMapper.xml

@@ -0,0 +1,88 @@
+<?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.hisStore.mapper.FsStoreProductUserTempMapper">
+    
+    <resultMap type="FsStoreProductUserTemp" id="FsStoreProductUserTempResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="sort"    column="sort"    />
+        <result property="status"    column="status"    />
+        <result property="remark"    column="remark"    />
+        <result property="isDel"    column="is_del"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectFsStoreProductUserTempVo">
+        select id, name, type, sort, status, remark, is_del, create_time, update_time from fs_store_product_user_temp
+    </sql>
+
+    <select id="selectFsStoreProductUserTempList" parameterType="FsStoreProductUserTemp" resultMap="FsStoreProductUserTempResult">
+        <include refid="selectFsStoreProductUserTempVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="type != null "> and type = #{type}</if>
+            <if test="sort != null "> and sort = #{sort}</if>
+            <if test="status != null "> and status = #{status}</if>
+            <if test="isDel != null "> and is_del = #{isDel}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsStoreProductUserTempById" parameterType="Long" resultMap="FsStoreProductUserTempResult">
+        <include refid="selectFsStoreProductUserTempVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertFsStoreProductUserTemp" parameterType="FsStoreProductUserTemp" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_store_product_user_temp
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="type != null">type,</if>
+            <if test="sort != null">sort,</if>
+            <if test="status != null">status,</if>
+            <if test="remark != null">remark,</if>
+            <if test="isDel != null">is_del,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="name != null">#{name},</if>
+            <if test="type != null">#{type},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="status != null">#{status},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="isDel != null">#{isDel},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsStoreProductUserTemp" parameterType="FsStoreProductUserTemp">
+        update fs_store_product_user_temp
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="isDel != null">is_del = #{isDel},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsStoreProductUserTempById" parameterType="Long">
+        delete from fs_store_product_user_temp where id = #{id}
+    </delete>
+
+    <delete id="deleteFsStoreProductUserTempByIds" parameterType="String">
+        delete from fs_store_product_user_temp where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 99 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreProductUserTempField/FsStoreProductUserTempFieldMapper.xml

@@ -0,0 +1,99 @@
+<?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.hisStore.mapper.FsStoreProductUserTempFieldMapper">
+    
+    <resultMap type="FsStoreProductUserTempField" id="FsStoreProductUserTempFieldResult">
+        <result property="id"    column="id"    />
+        <result property="tempId"    column="temp_id"    />
+        <result property="fieldName"    column="field_name"    />
+        <result property="isRequired"    column="is_required"    />
+        <result property="fieldType"    column="field_type"    />
+        <result property="fieldOption"    column="field_option"    />
+        <result property="sort"    column="sort"    />
+        <result property="status"    column="status"    />
+        <result property="isDel"    column="is_del"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectFsStoreProductUserTempFieldVo">
+        select id, temp_id, field_name, is_required, field_type, field_option, sort, status, is_del, create_time, update_time from fs_store_product_user_temp_field
+    </sql>
+
+    <select id="selectFsStoreProductUserTempFieldList" parameterType="FsStoreProductUserTempField" resultMap="FsStoreProductUserTempFieldResult">
+        <include refid="selectFsStoreProductUserTempFieldVo"/>
+        <where>  
+            <if test="tempId != null "> and temp_id = #{tempId}</if>
+            <if test="fieldName != null  and fieldName != ''"> and field_name like concat('%', #{fieldName}, '%')</if>
+            <if test="isRequired != null "> and is_required = #{isRequired}</if>
+            <if test="fieldType != null  and fieldType != ''"> and field_type = #{fieldType}</if>
+            <if test="fieldOption != null and fieldOption != ''"> and field_option like concat('%', #{fieldOption}, '%')</if>
+            <if test="sort != null "> and sort = #{sort}</if>
+            <if test="status != null "> and status = #{status}</if>
+            <if test="isDel != null "> and is_del = #{isDel}</if>
+        </where>
+    </select>
+    
+    <select id="selectFsStoreProductUserTempFieldById" parameterType="Long" resultMap="FsStoreProductUserTempFieldResult">
+        <include refid="selectFsStoreProductUserTempFieldVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertFsStoreProductUserTempField" parameterType="FsStoreProductUserTempField" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_store_product_user_temp_field
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="tempId != null">temp_id,</if>
+            <if test="fieldName != null">field_name,</if>
+            <if test="isRequired != null">is_required,</if>
+            <if test="fieldType != null">field_type,</if>
+            <if test="fieldOption != null">field_option,</if>
+            <if test="sort != null">sort,</if>
+            <if test="status != null">status,</if>
+            <if test="isDel != null">is_del,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="tempId != null">#{tempId},</if>
+            <if test="fieldName != null">#{fieldName},</if>
+            <if test="isRequired != null">#{isRequired},</if>
+            <if test="fieldType != null">#{fieldType},</if>
+            <if test="fieldOption != null">#{fieldOption},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="status != null">#{status},</if>
+            <if test="isDel != null">#{isDel},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsStoreProductUserTempField" parameterType="FsStoreProductUserTempField">
+        update fs_store_product_user_temp_field
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="tempId != null">temp_id = #{tempId},</if>
+            <if test="fieldName != null">field_name = #{fieldName},</if>
+            <if test="isRequired != null">is_required = #{isRequired},</if>
+            <if test="fieldType != null">field_type = #{fieldType},</if>
+            <if test="fieldOption != null">field_option = #{fieldOption},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="isDel != null">is_del = #{isDel},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsStoreProductUserTempFieldById" parameterType="Long">
+        delete from fs_store_product_user_temp_field where id = #{id}
+    </delete>
+
+    <delete id="deleteFsStoreProductUserTempFieldByIds" parameterType="String">
+        delete from fs_store_product_user_temp_field where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>