feat:装修配置表

This commit is contained in:
苏竹红
2025-10-29 19:31:38 +08:00
parent 5e37edfd98
commit 3f23c0ae95
18 changed files with 899 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
package com.cool.store.service;
import com.cool.store.request.decoration.AddTeamRequest;
import com.cool.store.request.decoration.UpdateTeamRequest;
/**
* @Author suzhuhong
* @Date 2025/10/29 15:54
* @Version 1.0
*/
public interface DecorationHandleService {
/**
* 新增团队
* @param request
* @return
*/
Boolean addTeam(AddTeamRequest request);
/**
* 修改团队
* @param request
* @return
*/
Boolean update(UpdateTeamRequest request);
/**
* 删除团队
* @param teamId
* @return
*/
Boolean deleteByTeamId(Long teamId);
}

View File

@@ -0,0 +1,94 @@
package com.cool.store.service.impl;
import com.cool.store.dao.decoration.DecorationTeamConfigDAO;
import com.cool.store.dao.decoration.TeamAreaMappingDAO;
import com.cool.store.entity.decoration.DecorationTeamConfigDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.decoration.AddTeamRequest;
import com.cool.store.request.decoration.UpdateTeamRequest;
import com.cool.store.service.DecorationHandleService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
* @Author suzhuhong
* @Date 2025/10/29 15:55
* @Version 1.0
*/
@Service
public class DecorationHandleServiceImpl implements DecorationHandleService {
@Resource
private DecorationTeamConfigDAO decorationTeamConfigDAO;
@Resource
private TeamAreaMappingDAO teamAreaMappingDAO;
@Resource
RedisUtilPool redisUtilPool;
@Override
public Boolean addTeam(AddTeamRequest request) {
//校验
if (Objects.isNull(request)||CollectionUtils.isEmpty(request.getOpenCityIdList()) || StringUtil.isEmpty(request.getTeamName())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
//先删除城市团队关系
teamAreaMappingDAO.deletedIds(request.getOpenCityIdList());
DecorationTeamConfigDO decorationTeamConfigDO = new DecorationTeamConfigDO();
decorationTeamConfigDO.setTeamName(request.getTeamName());
decorationTeamConfigDO.setTeamCode(getNextNumber());
decorationTeamConfigDO.setUseSystem(request.getUserSystem());
decorationTeamConfigDAO.addTeam(decorationTeamConfigDO);
teamAreaMappingDAO.batchInsert(decorationTeamConfigDO.getId(),request.getOpenCityIdList());
return Boolean.TRUE;
}
@Override
public Boolean update(UpdateTeamRequest request) {
if (request.getId() == null||CollectionUtils.isEmpty(request.getOpenCityIdList()) || StringUtil.isEmpty(request.getTeamName())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
DecorationTeamConfigDO teamConfigDO = decorationTeamConfigDAO.getById(request.getId());
if (teamConfigDO==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
}
teamConfigDO.setTeamName(request.getTeamName());
teamConfigDO.setUseSystem(request.getUserSystem());
decorationTeamConfigDAO.updateTeam(teamConfigDO);
//删除团队城市关系
teamAreaMappingDAO.deletedByTeamId(teamConfigDO.getId());
//新增更新之后的团队城市关系
teamAreaMappingDAO.batchInsert(teamConfigDO.getId(),request.getOpenCityIdList());
return Boolean.TRUE;
}
@Override
public Boolean deleteByTeamId(Long teamId) {
DecorationTeamConfigDO teamConfigDO = decorationTeamConfigDAO.getById(teamId);
if (teamConfigDO==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
}
teamConfigDO.setDeleted(1);
teamAreaMappingDAO.deletedByTeamId(teamId);
return Boolean.TRUE;
}
public String getNextNumber() {
Long current = redisUtilPool.incrby("counter_key", 1);
if (current == 1) {
// 如果是第一次,重新设置为 1因为 increment 从 0 开始)
redisUtilPool.setString("counter_key", "1");
current = 1L;
}
return String.format("TD%04d", current);
}
}