小程序首页模块自定义

This commit is contained in:
shuo.wang
2025-04-08 14:23:19 +08:00
parent 844c36caaa
commit d7869f39da
18 changed files with 587 additions and 1 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}
}

View File

@@ -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());