diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index aa707b2a1..3060f392e 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -236,6 +236,7 @@ public enum ErrorCodeEnum { UPDATE_INVESTMENT_MANAGER_FAIL(131005,"当前用户已经为该门店招商经理",null), CONFIRM_THE_APPROVER(131006,"您提交的铺位暂时找不到选址审批人,请联系系统管理员配置选址审批权限后再提交铺位审批",null), CREATE_PASSWORD_FAIL(131007,"身份证号信息错误",null), + GET_HOME_TEMPLATE_ERROR(131008,"获取首页模板失败",null), TALLY_BOOK_NOT_EXIST(180001, "记账本数据不存在", null), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/HomeTemplateTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/HomeTemplateTypeEnum.java new file mode 100644 index 000000000..d4ea5d916 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/HomeTemplateTypeEnum.java @@ -0,0 +1,23 @@ +package com.cool.store.utils; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/09:52 + * @Version 1.0 + * @注释: + */ +public enum HomeTemplateTypeEnum { + MINI_OPEN_SOURCE_HOME(1,"Mini开源首页"); + private Integer code; + private String desc; + HomeTemplateTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + public Integer getCode() { + return code; + } + public String getDesc() { + return desc; + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HomeTemplateDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HomeTemplateDAO.java new file mode 100644 index 000000000..91b3c6acf --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HomeTemplateDAO.java @@ -0,0 +1,31 @@ +package com.cool.store.dao; + +import com.cool.store.entity.HomeTemplateDO; +import com.cool.store.mapper.HomeTemplateMapper; +import io.swagger.models.auth.In; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/09:39 + * @Version 1.0 + * @注释: + */ +@Repository +public class HomeTemplateDAO { + + @Resource + private HomeTemplateMapper homeTemplateMapper; + public HomeTemplateDO getHomeTemplateById(Long id) { + return homeTemplateMapper.selectByPrimaryKey(id); + } + public Long insertSelective(HomeTemplateDO homeTemplateDO) { + homeTemplateMapper.insertSelective(homeTemplateDO); + return homeTemplateDO.getId(); + } + public Integer updateByPrimaryKeySelective(HomeTemplateDO homeTemplateDO) { + return homeTemplateMapper.updateByPrimaryKeySelective(homeTemplateDO); + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HomeTemplateUserMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HomeTemplateUserMappingDAO.java new file mode 100644 index 000000000..0d6f448f9 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HomeTemplateUserMappingDAO.java @@ -0,0 +1,34 @@ +package com.cool.store.dao; + + +import com.cool.store.entity.HomeTemplateUserMappingDO; +import com.cool.store.mapper.HomeTemplateUserMappingMapper; +import org.springframework.stereotype.Repository; +import tk.mybatis.mapper.entity.Example; + +import javax.annotation.Resource; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/10:25 + * @Version 1.0 + * @注释: + */ +@Repository +public class HomeTemplateUserMappingDAO { + + @Resource + private HomeTemplateUserMappingMapper homeTemplateUserMappingMapper; + + public int insertSelective(HomeTemplateUserMappingDO homeTemplateRoleMappingDO) { + return homeTemplateUserMappingMapper.insertSelective(homeTemplateRoleMappingDO); + } + public HomeTemplateUserMappingDO getHomeTemplateRoleMappingByUserId(String userId) { + Example example = new Example(HomeTemplateUserMappingDO.class); + example.createCriteria().andEqualTo("userId", userId); + return homeTemplateUserMappingMapper.selectOneByExample(example); + } + public int updateByPrimaryKeySelective(HomeTemplateUserMappingDO homeTemplateRoleMappingDO) { + return homeTemplateUserMappingMapper.updateByPrimaryKeySelective(homeTemplateRoleMappingDO); + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HomeTemplateMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HomeTemplateMapper.java new file mode 100644 index 000000000..f9b202cd1 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HomeTemplateMapper.java @@ -0,0 +1,14 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.HomeTemplateDO; +import tk.mybatis.mapper.common.Mapper; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/09:35 + * @Version 1.0 + * @注释: + */ +public interface HomeTemplateMapper extends Mapper { + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HomeTemplateUserMappingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HomeTemplateUserMappingMapper.java new file mode 100644 index 000000000..d12c29269 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HomeTemplateUserMappingMapper.java @@ -0,0 +1,13 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.HomeTemplateUserMappingDO; +import tk.mybatis.mapper.common.Mapper; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/10:19 + * @Version 1.0 + * @注释: + */ +public interface HomeTemplateUserMappingMapper extends Mapper { +} diff --git a/coolstore-partner-dao/src/main/resources/mapper/HomeTemplateMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HomeTemplateMapper.xml new file mode 100644 index 000000000..d5e9bb806 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/HomeTemplateMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HomeTemplateUserMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HomeTemplateUserMappingMapper.xml new file mode 100644 index 000000000..9ed4961ca --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/HomeTemplateUserMappingMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/HomeTemplateDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/HomeTemplateDTO.java new file mode 100644 index 000000000..54394dbdb --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/HomeTemplateDTO.java @@ -0,0 +1,63 @@ +package com.cool.store.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/09:42 + * @Version 1.0 + * @注释: + */ +@Data +public class HomeTemplateDTO { + + /** + * 模块列表 + */ + @ApiModelProperty(value = "模块列表") + private List moduleList; + + @Data + public static class Module { + + /** + * 模块的唯一标识符 + */ + @ApiModelProperty(value = "模块的唯一标识符") + private String key; + + /** + * 模块名称 + */ + @ApiModelProperty(value = "模块名称") + private String name; + + /** + * 是否可见 + */ + @ApiModelProperty(value = "是否可见") + private Boolean visible; + + /** + * 是否可拖动 + */ + @ApiModelProperty(value = "是否可拖动") + private Boolean dragable; + + /** + * 是否可配置 + */ + @ApiModelProperty(value = "是否可配置") + private Boolean configurable; + + /** + * 模块 ID + */ + @ApiModelProperty(value = "模块 ID") + private String id; + + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HomeTemplateDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HomeTemplateDO.java new file mode 100644 index 000000000..2a405e42b --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HomeTemplateDO.java @@ -0,0 +1,73 @@ +package com.cool.store.entity; + +import lombok.Data; + +import javax.persistence.*; +import java.util.Date; + +@Data // 自动生成 getter、setter、toString 等方法 +@Table(name = "xfsg_home_template") +public class HomeTemplateDO { + + /** + * 主键 + */ + @Column(name = "id") + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 首页模板名称 + */ + @Column(name = "template_name") + private String templateName; + + /** + * 首页模板描述 + */ + @Column(name = "template_description") + private String templateDescription; + + /** + * 系统默认标识 0: 否,1: 是 + */ + @Column(name = "is_default") + private Boolean isDefault; + + /** + * 是否删除: 0: 未删除,1: 删除 + */ + @Column(name = "deleted") + private Integer deleted; + + /** + * 小程序开源首页组件json + */ + @Column(name = "mini_open_components_json") + private String miniOpenComponentsJson; + + /** + * 创建人 + */ + @Column(name = "create_id") + private String createId; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新人 + */ + @Column(name = "update_id") + private String updateId; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HomeTemplateUserMappingDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HomeTemplateUserMappingDO.java new file mode 100644 index 000000000..6d520c38e --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HomeTemplateUserMappingDO.java @@ -0,0 +1,55 @@ +package com.cool.store.entity; + +import lombok.Data; + +import javax.persistence.*; +import java.util.Date; + +@Data // 自动生成 getter、setter、toString 等方法 +@Table(name = "xfsg_home_template_user_mapping") // MyBatis 别名 +public class HomeTemplateUserMappingDO { + + /** + * 主键 + */ + @Column(name = "id") + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 模板 ID + */ + @Column(name = "template_id") + private Long templateId; + + /** + * 用户 ID 或 Partner ID + */ + @Column(name = "user_id") + private String userId; + + /** + * 创建人 + */ + @Column(name = "create_id") + private String createId; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新人 + */ + @Column(name = "update_id") + private String updateId; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/HomeTemplateResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/HomeTemplateResponse.java new file mode 100644 index 000000000..cc81e73ae --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/HomeTemplateResponse.java @@ -0,0 +1,20 @@ +package com.cool.store.response; + +import com.cool.store.dto.HomeTemplateDTO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/09:42 + * @Version 1.0 + * @注释: + */ +@Data +public class HomeTemplateResponse { + + @ApiModelProperty(value = "小程序开源首页模板") + private HomeTemplateDTO miniOpenSourceHomeTemplate; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HomeTemplateService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HomeTemplateService.java new file mode 100644 index 000000000..9cfbe1d6f --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HomeTemplateService.java @@ -0,0 +1,15 @@ +package com.cool.store.service; + +import com.cool.store.response.HomeTemplateResponse; +import com.cool.store.utils.HomeTemplateTypeEnum; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/09:41 + * @Version 1.0 + * @注释: + */ +public interface HomeTemplateService { + + HomeTemplateResponse getHomeTemplateById(Long id); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HomeTemplateUserMappingService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HomeTemplateUserMappingService.java new file mode 100644 index 000000000..b250bb6b2 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HomeTemplateUserMappingService.java @@ -0,0 +1,16 @@ +package com.cool.store.service; + +import com.cool.store.response.HomeTemplateResponse; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/10:44 + * @Version 1.0 + * @注释: + */ +public interface HomeTemplateUserMappingService { + + HomeTemplateResponse getHomeTemplateByUserId(String userId); + + Integer insertOrUpdateHomeTemplateUserMapping(HomeTemplateResponse homeTemplateResponse,String userId); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HomeTemplateServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HomeTemplateServiceImpl.java new file mode 100644 index 000000000..93897e982 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HomeTemplateServiceImpl.java @@ -0,0 +1,50 @@ +package com.cool.store.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.HomeTemplateDAO; +import com.cool.store.dto.HomeTemplateDTO; +import com.cool.store.entity.HomeTemplateDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.response.HomeTemplateResponse; +import com.cool.store.service.HomeTemplateService; +import com.cool.store.utils.HomeTemplateTypeEnum; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/09:41 + * @Version 1.0 + * @注释: + */ +@Service +@Slf4j +public class HomeTemplateServiceImpl implements HomeTemplateService { + + @Resource + private HomeTemplateDAO homeTemplateDAO; + @Override + public HomeTemplateResponse getHomeTemplateById(Long id) { + HomeTemplateDO homeTemplateById = homeTemplateDAO.getHomeTemplateById(id); + if (homeTemplateById != null){ + ObjectMapper objectMapper = new ObjectMapper(); + // 将 JSON 字符串解析为 HomeTemplateResponse 对象 + try { + HomeTemplateResponse componentsJson = new HomeTemplateResponse(); + HomeTemplateDTO miniOpenComponentsJson = objectMapper.readValue(homeTemplateById.getMiniOpenComponentsJson(), HomeTemplateDTO.class); + componentsJson.setMiniOpenSourceHomeTemplate(miniOpenComponentsJson); + return componentsJson; + } catch (JsonProcessingException e) { + log.info("JSON解析失败:{}", JSONObject.toJSONString(e.getMessage())); + throw new ServiceException(ErrorCodeEnum.GET_HOME_TEMPLATE_ERROR); + } + } + return null; + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HomeTemplateUserMappingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HomeTemplateUserMappingServiceImpl.java new file mode 100644 index 000000000..772417aea --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HomeTemplateUserMappingServiceImpl.java @@ -0,0 +1,102 @@ +package com.cool.store.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.HomeTemplateDAO; + +import com.cool.store.dao.HomeTemplateUserMappingDAO; +import com.cool.store.entity.HomeTemplateDO; + +import com.cool.store.entity.HomeTemplateUserMappingDO; +import com.cool.store.response.HomeTemplateResponse; + +import com.cool.store.service.HomeTemplateService; +import com.cool.store.service.HomeTemplateUserMappingService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/10:44 + * @Version 1.0 + * @注释: + */ +@Service +public class HomeTemplateUserMappingServiceImpl implements HomeTemplateUserMappingService { + + @Resource + private HomeTemplateUserMappingDAO homeTemplateUserMappingDAO; + @Resource + private HomeTemplateService homeTemplateService; + @Resource + private HomeTemplateDAO homeTemplateDAO; + @Override + public HomeTemplateResponse getHomeTemplateByUserId(String userId) { + + HomeTemplateUserMappingDO homeTemplateRoleMappingById = homeTemplateUserMappingDAO.getHomeTemplateRoleMappingByUserId(userId); + if (homeTemplateRoleMappingById == null){ + //使用默认模板 id =1 + return homeTemplateService.getHomeTemplateById(1L); + }else{ + return homeTemplateService.getHomeTemplateById(homeTemplateRoleMappingById.getTemplateId()); + } + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Integer insertOrUpdateHomeTemplateUserMapping(HomeTemplateResponse homeTemplateResponse, String userId) { + + HomeTemplateUserMappingDO homeTemplateRoleMappingByUserId = homeTemplateUserMappingDAO.getHomeTemplateRoleMappingByUserId(userId); + if (homeTemplateRoleMappingByUserId == null){ + //获取默认模板 id =1 + HomeTemplateDO homeTemplate = homeTemplateDAO.getHomeTemplateById(1L); + HomeTemplateDO homeTemplateDO = new HomeTemplateDO(); + homeTemplateDO.setTemplateName(homeTemplate.getTemplateName()); + homeTemplateDO.setTemplateDescription(homeTemplate.getTemplateDescription()); + String jsonString = JSONObject.toJSONString(homeTemplateResponse.getMiniOpenSourceHomeTemplate()); + homeTemplateDO.setMiniOpenComponentsJson(jsonString); + homeTemplateDO.setIsDefault(false); + homeTemplateDO.setDeleted(0); + homeTemplateDO.setCreateId(userId); + homeTemplateDO.setCreateTime(new Date()); + Long tempId = homeTemplateDAO.insertSelective(homeTemplateDO); + homeTemplateRoleMappingByUserId = new HomeTemplateUserMappingDO(); + homeTemplateRoleMappingByUserId.setTemplateId(tempId); + homeTemplateRoleMappingByUserId.setUserId(userId); + homeTemplateRoleMappingByUserId.setCreateId(userId); + homeTemplateRoleMappingByUserId.setCreateTime(new Date()); + return homeTemplateUserMappingDAO.insertSelective(homeTemplateRoleMappingByUserId); + }else{ + HomeTemplateDO homeTemplateById = homeTemplateDAO.getHomeTemplateById(homeTemplateRoleMappingByUserId.getTemplateId()); + if (homeTemplateById == null){ + //如果模板不存在,则新建 + HomeTemplateDO homeTemplate = homeTemplateDAO.getHomeTemplateById(1L); + HomeTemplateDO homeTemplateDO = new HomeTemplateDO(); + homeTemplateDO.setTemplateName(homeTemplate.getTemplateName()); + homeTemplateDO.setTemplateDescription(homeTemplate.getTemplateDescription()); + String jsonString = JSONObject.toJSONString(homeTemplateResponse.getMiniOpenSourceHomeTemplate()); + homeTemplateDO.setMiniOpenComponentsJson(jsonString); + homeTemplateDO.setIsDefault(false); + homeTemplateDO.setDeleted(0); + homeTemplateDO.setCreateId(userId); + homeTemplateDO.setCreateTime(new Date()); + Long tempId = homeTemplateDAO.insertSelective(homeTemplateDO); + homeTemplateRoleMappingByUserId.setTemplateId(tempId); + homeTemplateRoleMappingByUserId.setUpdateId(userId); + homeTemplateRoleMappingByUserId.setUpdateTime(new Date()); + }else{ + homeTemplateById.setMiniOpenComponentsJson(JSONObject.toJSONString(homeTemplateResponse.getMiniOpenSourceHomeTemplate())); + homeTemplateById.setUpdateId(userId); + homeTemplateById.setUpdateTime(new Date()); + homeTemplateDAO.updateByPrimaryKeySelective(homeTemplateById); + } + return homeTemplateUserMappingDAO.updateByPrimaryKeySelective(homeTemplateRoleMappingByUserId); + } + + } + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java index e8462b937..bfaddb8fc 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OrderSysInfoServiceImpl.java @@ -52,7 +52,7 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService { @Transactional(rollbackFor = Exception.class) public Integer updateByShopId(OrderSysInfoRequest request, String userId) { - shopInfoDAO.updateShopCode(request.getShopCode(),request.getShopId()); + OrderSysInfoDO orderSysInfoDO = orderSysInfoDAO.selectByShopId(request.getShopId()); if (request.getType().equals(OrderSysTypeEnum.ORDER_SYS_TYPE_1.getType())) { orderSysInfoDO.setXgjVicePresident(request.getXgjVicePresident()); @@ -90,6 +90,7 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService { } } if (request.getType().equals(OrderSysTypeEnum.ORDER_SYS_TYPE_2.getType())) { + shopInfoDAO.updateShopCode(request.getShopCode(),request.getShopId()); orderSysInfoDO.setReceivingFirmName(request.getReceivingFirmName()); orderSysInfoDO.setReceivingMsBankAccount(request.getReceivingMsBankAccount()); orderSysInfoDO.setReceivingMsBankBranch(request.getReceivingMsBankBranch()); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/HomeTemplateController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/HomeTemplateController.java new file mode 100644 index 000000000..d438b3020 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/HomeTemplateController.java @@ -0,0 +1,39 @@ +package com.cool.store.controller.webc; + +import com.cool.store.context.PartnerUserHolder; +import com.cool.store.response.HomeTemplateResponse; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.HomeTemplateUserMappingService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.ibatis.annotations.Param; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @Author: WangShuo + * @Date: 2025/04/08/13:47 + * @Version 1.0 + * @注释: + */ +@RestController +@RequestMapping("/mini/homeTemp") +@Api(value = "小程序首页模板", description = "小程序首页模板") +public class HomeTemplateController { + @Resource + private HomeTemplateUserMappingService homeTemplateUserMappingService; + + @ApiOperation("获取用户小程序首页配置") + @GetMapping("/getUserMiniHomeTemp") + public ResponseResult getUserMiniHomeTemp() { + String partnerId = PartnerUserHolder.getUser().getPartnerId(); + return ResponseResult.success(homeTemplateUserMappingService.getHomeTemplateByUserId(partnerId)); + } + + @ApiOperation("保存用户小程序首页配置") + @PostMapping("/saveUserMiniHomeTemp") + public ResponseResult saveUserMiniHomeTemp(@RequestBody HomeTemplateResponse response){ + return ResponseResult.success(homeTemplateUserMappingService.insertOrUpdateHomeTemplateUserMapping(response,PartnerUserHolder.getUser().getPartnerId())); + } +}