feat:装修配置表
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user