Merge #33 into master from cc_20260106_point_update

铺位管理 地图

* cc_20260106_point_update: (15 commits squashed)

  - feat:铺位改造

  - Merge branch 'refs/heads/master' into cc_20260106_point_update

  - feat:铺位调整

  - feat:新增字段

  - feat:新增字段

  - feat:新增字段

  - feat:点位ID 处理校验规则

  - feat:保存铺位 返回点位ID

  - feat:根据主数据门店编码获取CRM点位数据

  - feat:铺位

  - feat:我的铺位 根据管辖

  - fix:bug 查询

  - fix:PC端点位新增直接关联铺位 bug

  - feat:过滤已开店的铺位

  - Merge branch 'master' into cc_20260106_point_update

Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/33
This commit is contained in:
正新
2026-01-23 06:48:32 +00:00
parent 44ba00dc38
commit 1b1684f373
33 changed files with 2686 additions and 80 deletions

View File

@@ -1,7 +1,10 @@
package com.cool.store.service;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dto.point.PointStatisticsDTO;
import com.cool.store.request.*;
import com.cool.store.request.point.AddPointFinancialDataRequest;
import com.cool.store.request.point.UpdatePointFinancialDataRequest;
import com.cool.store.vo.LinePointBaseInfoVO;
import com.cool.store.vo.point.*;
import com.cool.store.vo.shop.RentInfoToDoVO;
@@ -21,7 +24,7 @@ public interface PointService {
/**
* 新增铺位
* @param shopPointDetailRequest
* @param userId
* @param user
* @return
*/
Long addPointDetailInfo(AddPointDetailRequest shopPointDetailRequest, LoginUserInfo user);
@@ -41,6 +44,14 @@ public interface PointService {
*/
Long updatePointDetailInfo(UpdatePointDetailRequest shopPointDetailRequest,LoginUserInfo user);
/**
* 提交铺位
* @param shopPointDetailRequest
* @param user
*/
Long submitPoint(UpdatePointDetailRequest shopPointDetailRequest,LoginUserInfo user);
/**
* 生成铺位评估报告
* @param pointId
@@ -72,7 +83,7 @@ public interface PointService {
/**
* 提交审批
* @param pointId
* @param request
* @return
*/
Integer submitAudit(SubmitPointAuditRequest request);
@@ -149,7 +160,7 @@ public interface PointService {
* @param request
* @return
*/
PageInfo<PointPageVO> getMyPointPage(PointPageRequest request);
PageInfo<PointPageVO> getMyPointPage(PointPageRequest request, String userId);
/**
* 获取团队铺位
@@ -158,6 +169,29 @@ public interface PointService {
*/
PageInfo<PointPageVO> getTeamPointPage(AllPointPageRequest request);
/**
* 地图功能 查询所有的铺位
* @param request
* @return
*/
List<PointMapVO> getAllPointList(PointMapRequest request);
/**
* 地图功能 分页查询铺位
* @param request
* @return
*/
PageInfo<PointMapVO> getPointPageList(PointMapRequest request);
/**
* 获取点位统计数据
* @param request
* @return
*/
PointStatisticsDTO getPointStatistics(AllPointPageRequest request);
/**
* 获取审批记录
* @param pointId
@@ -305,4 +339,42 @@ public interface PointService {
Boolean linePointToShopPoint(Long lineId);
PageInfo<MiniPointPageVO> getRecommendedOrMyPointList(MiniPointRequest request);
/**
* 保存点位测算信息
* @param request
* @return
*/
Boolean savePointFinancialInfo(AddPointFinancialDataRequest request, String userId);
/**
* 修改点位测算数据
* @param request
* @return
*/
Boolean updatePointFinancialInfo(UpdatePointFinancialDataRequest request, String userId);
/**
* 提交点位测算信息
* @param request
* @return
*/
Boolean submitPointFinancialInfo(UpdatePointFinancialDataRequest request, String userId);
/**
* 根据点位ID获取点位测算信息
* @param pointId
* @return
*/
PointFinancialDataVO getPointFinancialInfo(Long pointId);
/**
* 根据门店编码获取绑定的门店铺位测算数据
* @param storeCode
* @return
*/
PointFinancialDataVO getPointFinancialInfoByStoreCode(String storeCode);
}

View File

@@ -37,9 +37,10 @@ public interface UserAuthMappingService {
/**
* 获取所有管辖下的区域ID 不包含门店
* @param userId
* @param queryInvestBigRegion 是否只查询招商所属大区 进一步过滤无关区域 因为新增铺位或者新增线索只能选择招商大区
* @return
*/
List<String> getAuthRegionIdByUserId(String userId);
List<String> getAuthRegionIdByUserId(String userId,Boolean queryInvestBigRegion);
/**
* 获取用户授权的所有门店id

View File

@@ -751,7 +751,7 @@ public class DeskServiceImpl implements DeskService {
//查询管辖范围内的数据
List<String> authRegionIds = new ArrayList<>();
if (!sysRoleService.checkIsAdmin(user.getUserId())) {
authRegionIds = userAuthMappingService.getAuthRegionIdByUserId(user.getUserId());
authRegionIds = userAuthMappingService.getAuthRegionIdByUserId(user.getUserId(),null);
}
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<OperationsConsultantAssignDO> noAssignList = operationsConsultantAssignDAO.getNoAssign(request.getKeyword(), authRegionIds);
@@ -839,7 +839,7 @@ public class DeskServiceImpl implements DeskService {
List<String> authRegionIds = new ArrayList<>();
if (filterFlag) {
if (!sysRoleService.checkIsAdmin(user.getUserId())) {
authRegionIds = userAuthMappingService.getAuthRegionIdByUserId(user.getUserId());
authRegionIds = userAuthMappingService.getAuthRegionIdByUserId(user.getUserId(),null);
}
}
PageHelper.startPage(deskRequest.getPageNum(), deskRequest.getPageSize());

View File

@@ -8,13 +8,17 @@ import com.cool.store.dao.*;
import com.cool.store.dto.PCPointListDTO;
import com.cool.store.dto.point.AuditNodeDTO;
import com.cool.store.dto.point.MiniPointPageDTO;
import com.cool.store.dto.point.PointStatisticsDTO;
import com.cool.store.dto.point.ShopPointDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.*;
import com.cool.store.enums.point.*;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.SysRoleMapper;
import com.cool.store.request.*;
import com.cool.store.request.oppty.BerthOperationRequest;
import com.cool.store.request.point.AddPointFinancialDataRequest;
import com.cool.store.request.point.UpdatePointFinancialDataRequest;
import com.cool.store.service.*;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.poi.DateUtils;
@@ -32,6 +36,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -95,11 +100,18 @@ public class PointServiceImpl implements PointService {
private CommonService commonService;
@Value("${mybatis.configuration.variables.enterpriseId}")
private String enterpriseId;
@Resource
SysRoleMapper sysRoleMapper;
@Resource
PointFinancialDataDAO pointFinancialDataDAO;
private static final String AUDIT_SETTING_KEY = "audit_setting_key:{0}";
private static final String POINT_SELECT_KEY = "point_select_key:{0}:{1}";
@Autowired
private PreparationService preparationService;
@Autowired
private PointService pointService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -196,6 +208,9 @@ public class PointServiceImpl implements PointService {
@Override
@Transactional(rollbackFor = Exception.class)
public Long updatePointDetailInfo(UpdatePointDetailRequest shopPointDetailRequest, LoginUserInfo user) {
if (shopPointDetailRequest.getPointId()==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
}
PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(shopPointDetailRequest.getPointId());
if (Objects.isNull(pointInfo)) {
log.error("铺位基本信息不存在");
@@ -230,23 +245,49 @@ public class PointServiceImpl implements PointService {
return shopPointDetailRequest.getPointId();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Long submitPoint(UpdatePointDetailRequest shopPointDetailRequest, LoginUserInfo user) {
//提交或者更新
Long pointId = shopPointDetailRequest.getPointId();
if (Objects.isNull(shopPointDetailRequest.getPointId())) {
//提交铺点位
AddPointDetailRequest add = new AddPointDetailRequest();
BeanUtils.copyProperties(shopPointDetailRequest, add);
pointId = addPointDetailInfo(add, user);
}else {
//更新点位
updatePointDetailInfo(shopPointDetailRequest, user);
}
//铺位状态变为待测算
PointInfoDO updatePoint = new PointInfoDO();
updatePoint.setId(pointId);
updatePoint.setPointStatus(PointStatusEnum.POINT_STATUS_2.getCode());
pointInfoDAO.updatePointInfo(updatePoint);
return pointId;
}
@Override
public Integer generateEvaluationReport(Long pointId) {
PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(pointId);
PointDetailInfoDO pointDetailInfo = pointDetailInfoDAO.getPointDetailInfoByPointId(pointId);
if (Objects.isNull(pointInfo) || Objects.isNull(pointDetailInfo)) {
throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST);
}
if (!pointDetailInfo.isCanSubmitEvaluable() || StringUtils.isBlank(pointInfo.getPointArea())) {
throw new ServiceException(ErrorCodeEnum.POINT_NOT_COMPLETE);
}
Integer totalPointScore = pointDetailInfo.getTotalPointScore();
PointInfoDO updatePointInfo = new PointInfoDO();
updatePointInfo.setId(pointId);
updatePointInfo.setPointScore(totalPointScore);
updatePointInfo.setPointStatus(PointStatusEnum.POINT_STATUS_2.getCode());
pointInfoDAO.updatePointInfo(updatePointInfo);
return totalPointScore;
// PointDetailInfoDO pointDetailInfo = pointDetailInfoDAO.getPointDetailInfoByPointId(pointId);
// if (Objects.isNull(pointInfo) || Objects.isNull(pointDetailInfo)) {
// throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST);
// }
// if (!pointDetailInfo.isCanSubmitEvaluable() || StringUtils.isBlank(pointInfo.getPointArea())) {
// throw new ServiceException(ErrorCodeEnum.POINT_NOT_COMPLETE);
// }
// Integer totalPointScore = pointDetailInfo.getTotalPointScore();
// PointInfoDO updatePointInfo = new PointInfoDO();
// updatePointInfo.setId(pointId);
// updatePointInfo.setPointScore(totalPointScore);
// updatePointInfo.setPointStatus(PointStatusEnum.POINT_STATUS_2.getCode());
// pointInfoDAO.updatePointInfo(updatePointInfo);
// return totalPointScore;
return null;
}
@Override
@@ -333,8 +374,7 @@ public class PointServiceImpl implements PointService {
log.error("铺位基本信息不存在");
throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST);
}
if (!pointInfo.getPointStatus().equals(PointStatusEnum.POINT_STATUS_2.getCode())
&& !pointInfo.getPointStatus().equals(PointStatusEnum.POINT_STATUS_1.getCode())) {
if (!pointInfo.getPointStatus().equals(PointStatusEnum.POINT_STATUS_2.getCode())) {
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
}
PointDetailInfoDO pointDetailInfo = pointDetailInfoDAO.getPointDetailInfoByPointId(pointId);
@@ -420,6 +460,7 @@ public class PointServiceImpl implements PointService {
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(pointInfo.getLineId());
ShopInfoDO updateShopInfo = new ShopInfoDO();
updateShopInfo.setId(pointInfo.getShopId());
updateShopInfo.setPointId(pointInfo.getId());
updateShopInfo.setRegionId(pointInfo.getRegionId());
//updateShopInfo.setShopName(pointInfo.getPointName());
shopInfoDAO.updateShopInfo(updateShopInfo);
@@ -477,8 +518,7 @@ public class PointServiceImpl implements PointService {
Long pointId = pointInfo.getId();
PointInfoDO pointInfoUpdate = new PointInfoDO();
pointInfoUpdate.setId(pointId);
pointInfoUpdate.setPointStatus(PointStatusEnum.POINT_STATUS_2.getCode());
pointInfoUpdate.setStorageStatus(StorageStatusEnum.NOT_IN_STORAGE.getCode());
pointInfoUpdate.setPointStatus(PointStatusEnum.POINT_STATUS_7.getCode());
//删除剩余未完成的审核记录
pointAuditRecordDAO.deletePointAuditRecord(pointId, pointInfo.getSubmitAuditCount());
Map<String, String> messageMap = new HashMap<>();
@@ -610,8 +650,19 @@ public class PointServiceImpl implements PointService {
return pointInfoDAO.getMyPointData(userId);
}
@Override
public PageInfo<PointPageVO> getMyPointPage(PointPageRequest request) {
public PageInfo<PointPageVO> getMyPointPage(PointPageRequest request,String userId) {
Boolean isAdmin = sysRoleService.checkIsAdmin(userId);
List<SysRoleDO> sysRoleDOList = sysRoleMapper.listRoleByUserId(userId);
//如果不是管理员 招商经理 大区经理 返回空
if (!isAdmin && !sysRoleDOList.stream().anyMatch(x -> x.getId().equals(UserRoleEnum.INVESTMENT_MANGER.getCode()) || x.getRoleEnum().equals(UserRoleEnum.REGION_MANAGER.getDesc()))) {
return new PageInfo();
}
if (!isAdmin) {
request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdByUserId(userId,Boolean.TRUE));
}
if (CollectionUtils.isNotEmpty(request.getRegionIds())) {
if (request.getRegionIds().contains(CommonConstants.ROOT_DEPT_ID_STR)) {
request.setRegionIds(null);
@@ -645,9 +696,6 @@ public class PointServiceImpl implements PointService {
request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds()));
}
}
if (Objects.nonNull(request.getPointStatus()) && PointStatusEnum.POINT_STATUS_3.getCode().equals(request.getPointStatus())) {
request.setPointStatus(PointStatusEnum.POINT_STATUS_4.getCode());
}
List<PointPageVO> resultList = new ArrayList();
Page<PCPointListDTO> pointPage = pointInfoDAO.getTeamPointPage(enterpriseId, request);
if (Objects.nonNull(pointPage) && CollectionUtils.isNotEmpty(pointPage.getResult())) {
@@ -662,6 +710,59 @@ public class PointServiceImpl implements PointService {
return resultPage;
}
@Override
public List<PointMapVO> getAllPointList(PointMapRequest request) {
if (!sysRoleService.checkIsAdmin(request.getCurrentUserId())) {
request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(request.getCurrentUserId()));
}
if (CollectionUtils.isNotEmpty(request.getRegionIds())) {
if (request.getRegionIds().contains(CommonConstants.ROOT_DEPT_ID_STR)) {
request.setRegionIds(null);
} else {
request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds()));
}
}
List<PointMapVO> allPointList = pointInfoDAO.getAllPointList(enterpriseId, request);
return allPointList;
}
@Override
public PageInfo<PointMapVO> getPointPageList(PointMapRequest request) {
if (!sysRoleService.checkIsAdmin(request.getCurrentUserId())) {
request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(request.getCurrentUserId()));
}
if (CollectionUtils.isNotEmpty(request.getRegionIds())) {
if (request.getRegionIds().contains(CommonConstants.ROOT_DEPT_ID_STR)) {
request.setRegionIds(null);
} else {
request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds()));
}
}
PageHelper.startPage(request.getPageNum(),request.getPageSize());
List<PointMapVO> allPointList = pointInfoDAO.getAllPointList(enterpriseId, request);
return new PageInfo<>(allPointList);
}
@Override
public PointStatisticsDTO getPointStatistics(AllPointPageRequest request) {
if (!sysRoleService.checkIsAdmin(request.getCurUserId())) {
request.setAuthRegionIds(userAuthMappingService.getAuthRegionIdByUserId(request.getCurUserId(),Boolean.TRUE));
}
if (CollectionUtils.isNotEmpty(request.getRegionIds())) {
if (request.getRegionIds().contains(CommonConstants.ROOT_DEPT_ID_STR)) {
request.setRegionIds(null);
} else {
request.setRegionIds(regionService.getSubRegionIdsByRegionIds(request.getRegionIds()));
}
}
PointStatisticsDTO pointStatistics = pointInfoDAO.getTeamCount(enterpriseId, request);
//如果是空 返回都是0
if (Objects.isNull(pointStatistics)) {
return new PointStatisticsDTO();
}
return pointStatistics;
}
@Override
public List<PointAuditRecordVO> getPointAllAuditRecord(Long pointId) {
List<PointAuditRecordDO> auditRecordList = pointAuditRecordDAO.getPointAllAuditRecord(pointId);
@@ -1319,6 +1420,281 @@ public class PointServiceImpl implements PointService {
}
@Override
public Boolean savePointFinancialInfo(AddPointFinancialDataRequest request, String userId) {
// 验证点位是否处于待测算状态
PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(request.getPointId());
if (Objects.isNull(pointInfo)) {
throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST);
}
if (!PointStatusEnum.POINT_STATUS_2.getCode().equals(pointInfo.getPointStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
}
// 检查是否已经保存过财务数据
PointFinancialDataDO existingData = pointFinancialDataDAO.selectByPointId(request.getPointId());
if (existingData != null) {
// 如果已存在,则调用更新方法
return updatePointFinancialInfo(convertToUpdateRequest(request, existingData.getId(),userId), userId);
} else {
// 第一次保存,直接插入
PointFinancialDataDO financialData = convertToAddDO(request, userId);
int result = pointFinancialDataDAO.insertPointFinancialData(financialData);
return result > 0;
}
}
@Override
public Boolean updatePointFinancialInfo(UpdatePointFinancialDataRequest request, String userId) {
// 验证点位是否处于待测算状态
PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(request.getPointId());
if (Objects.isNull(pointInfo)) {
throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST);
}
if (!PointStatusEnum.POINT_STATUS_2.getCode().equals(pointInfo.getPointStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
}
PointFinancialDataDO financialData = convertToUpdateDO(request, userId);
int result = pointFinancialDataDAO.updatePointFinancialData(financialData);
return result > 0;
}
@Override
public Boolean submitPointFinancialInfo(UpdatePointFinancialDataRequest request, String userId) {
// 验证点位是否处于待测算状态
PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(request.getPointId());
if (Objects.isNull(pointInfo)) {
throw new ServiceException(ErrorCodeEnum.POINT_NOT_EXIST);
}
if (!PointStatusEnum.POINT_STATUS_2.getCode().equals(pointInfo.getPointStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
}
// 检查是否已经保存过财务数据
PointFinancialDataDO existingData = pointFinancialDataDAO.selectByPointId(request.getPointId());
if (existingData != null) {
// 先更新数据
UpdatePointFinancialDataRequest updateRequest = request;
if (request.getId() == null) {
//新数据覆盖搞数据
updateRequest = convertToUpdateRequest(request, existingData.getId(),userId);
}
updatePointFinancialInfo(updateRequest, userId);
} else {
// 第一次保存
AddPointFinancialDataRequest addRequest = convertToAddRequest(request);
savePointFinancialInfo(addRequest, userId);
}
return Boolean.TRUE;
}
@Override
public PointFinancialDataVO getPointFinancialInfo(Long pointId) {
PointFinancialDataDO financialData = pointFinancialDataDAO.selectByPointId(pointId);
if (financialData != null) {
PointFinancialDataVO financialDataVO = new PointFinancialDataVO();
BeanUtils.copyProperties(financialData, financialDataVO);
return financialDataVO;
}
return null;
}
@Override
public PointFinancialDataVO getPointFinancialInfoByStoreCode(String storeCode) {
if (StringUtils.isEmpty(storeCode)){
return null;
}
ShopInfoDO shopInfo = shopInfoDAO.getShopInfoByShopCode(storeCode);
if (shopInfo!=null&&shopInfo.getPointId()!=null){
return getPointFinancialInfo(shopInfo.getPointId());
}
return null;
}
// 辅助方法:将 AddPointFinancialDataRequest 转换为 UpdatePointFinancialDataRequest
private UpdatePointFinancialDataRequest convertToUpdateRequest(AddPointFinancialDataRequest addRequest, Long existingId,String userId) {
UpdatePointFinancialDataRequest updateRequest = new UpdatePointFinancialDataRequest();
updateRequest.setId(existingId);
updateRequest.setPointId(addRequest.getPointId());
updateRequest.setEquipmentCost(addRequest.getEquipmentCost());
updateRequest.setDecorationCost(addRequest.getDecorationCost());
updateRequest.setFranchiseFee(addRequest.getFranchiseFee());
updateRequest.setManagementFee(addRequest.getManagementFee());
updateRequest.setDesignFee(addRequest.getDesignFee());
updateRequest.setFirstInventoryCost(addRequest.getFirstInventoryCost());
updateRequest.setDeposit(addRequest.getDeposit());
updateRequest.setInitialInvestment(addRequest.getInitialInvestment());
updateRequest.setAvgDailyOrders(addRequest.getAvgDailyOrders());
updateRequest.setAvgOrderPrice(addRequest.getAvgOrderPrice());
updateRequest.setOperatingDaysPerYear(addRequest.getOperatingDaysPerYear());
updateRequest.setDailySales(addRequest.getDailySales());
updateRequest.setAnnualGmv(addRequest.getAnnualGmv());
updateRequest.setMonthlySales(addRequest.getMonthlySales());
updateRequest.setGrossMarginRate(addRequest.getGrossMarginRate());
updateRequest.setAnnualIncome(addRequest.getAnnualIncome());
updateRequest.setMaterialCostAnnual(addRequest.getMaterialCostAnnual());
updateRequest.setMaterialCostMonthly(addRequest.getMaterialCostMonthly());
updateRequest.setMaterialCostRate(addRequest.getMaterialCostRate());
updateRequest.setStaffCount(addRequest.getStaffCount());
updateRequest.setAvgSalary(addRequest.getAvgSalary());
updateRequest.setStaffCostAnnual(addRequest.getStaffCostAnnual());
updateRequest.setStaffCostRate(addRequest.getStaffCostRate());
updateRequest.setRentCostAnnual(addRequest.getRentCostAnnual());
updateRequest.setRentCostRate(addRequest.getRentCostRate());
updateRequest.setTakeawayRate(addRequest.getTakeawayRate());
updateRequest.setPlatformCommissionRate(addRequest.getPlatformCommissionRate());
updateRequest.setPlatformCommission(addRequest.getPlatformCommission());
updateRequest.setUtilityCost(addRequest.getUtilityCost());
updateRequest.setUtilityCostRate(addRequest.getUtilityCostRate());
updateRequest.setOtherCost(addRequest.getOtherCost());
updateRequest.setOtherCostRate(addRequest.getOtherCostRate());
updateRequest.setOperatingProfit(addRequest.getOperatingProfit());
updateRequest.setOperatingProfitRate(addRequest.getOperatingProfitRate());
updateRequest.setPaybackPeriodYears(addRequest.getPaybackPeriodYears());
updateRequest.setPaybackPeriodMonths(addRequest.getPaybackPeriodMonths());
updateRequest.setUpdateTime(new Date());
updateRequest.setUpdateUserId(userId);
return updateRequest;
}
// 辅助方法:将 AddPointFinancialDataRequest 转换为 PointFinancialDataDO
private PointFinancialDataDO convertToAddDO(AddPointFinancialDataRequest request, String userId) {
PointFinancialDataDO financialData = new PointFinancialDataDO();
financialData.setPointId(request.getPointId());
financialData.setEquipmentCost(request.getEquipmentCost());
financialData.setDecorationCost(request.getDecorationCost());
financialData.setFranchiseFee(request.getFranchiseFee());
financialData.setManagementFee(request.getManagementFee());
financialData.setDesignFee(request.getDesignFee());
financialData.setFirstInventoryCost(request.getFirstInventoryCost());
financialData.setDeposit(request.getDeposit());
financialData.setInitialInvestment(request.getInitialInvestment());
financialData.setAvgDailyOrders(request.getAvgDailyOrders());
financialData.setAvgOrderPrice(request.getAvgOrderPrice());
financialData.setOperatingDaysPerYear(request.getOperatingDaysPerYear());
financialData.setDailySales(request.getDailySales());
financialData.setAnnualGmv(request.getAnnualGmv());
financialData.setMonthlySales(request.getMonthlySales());
financialData.setGrossMarginRate(request.getGrossMarginRate());
financialData.setAnnualIncome(request.getAnnualIncome());
financialData.setMaterialCostAnnual(request.getMaterialCostAnnual());
financialData.setMaterialCostMonthly(request.getMaterialCostMonthly());
financialData.setMaterialCostRate(request.getMaterialCostRate());
financialData.setStaffCount(request.getStaffCount());
financialData.setAvgSalary(request.getAvgSalary());
financialData.setStaffCostAnnual(request.getStaffCostAnnual());
financialData.setStaffCostRate(request.getStaffCostRate());
financialData.setRentCostAnnual(request.getRentCostAnnual());
financialData.setRentCostRate(request.getRentCostRate());
financialData.setTakeawayRate(request.getTakeawayRate());
financialData.setPlatformCommissionRate(request.getPlatformCommissionRate());
financialData.setPlatformCommission(request.getPlatformCommission());
financialData.setUtilityCost(request.getUtilityCost());
financialData.setUtilityCostRate(request.getUtilityCostRate());
financialData.setOtherCost(request.getOtherCost());
financialData.setOtherCostRate(request.getOtherCostRate());
financialData.setOperatingProfit(request.getOperatingProfit());
financialData.setOperatingProfitRate(request.getOperatingProfitRate());
financialData.setPaybackPeriodYears(request.getPaybackPeriodYears());
financialData.setPaybackPeriodMonths(request.getPaybackPeriodMonths());
financialData.setCreateTime(new Date());
financialData.setCreateUserId(userId);
financialData.setUpdateTime(new Date());
financialData.setUpdateUserId(userId);
return financialData;
}
// 辅助方法:将 UpdatePointFinancialDataRequest 转换为 PointFinancialDataDO
private PointFinancialDataDO convertToUpdateDO(UpdatePointFinancialDataRequest request, String userId) {
PointFinancialDataDO financialData = new PointFinancialDataDO();
financialData.setId(request.getId());
financialData.setPointId(request.getPointId());
financialData.setEquipmentCost(request.getEquipmentCost());
financialData.setDecorationCost(request.getDecorationCost());
financialData.setFranchiseFee(request.getFranchiseFee());
financialData.setManagementFee(request.getManagementFee());
financialData.setDesignFee(request.getDesignFee());
financialData.setFirstInventoryCost(request.getFirstInventoryCost());
financialData.setDeposit(request.getDeposit());
financialData.setInitialInvestment(request.getInitialInvestment());
financialData.setAvgDailyOrders(request.getAvgDailyOrders());
financialData.setAvgOrderPrice(request.getAvgOrderPrice());
financialData.setOperatingDaysPerYear(request.getOperatingDaysPerYear());
financialData.setDailySales(request.getDailySales());
financialData.setAnnualGmv(request.getAnnualGmv());
financialData.setMonthlySales(request.getMonthlySales());
financialData.setGrossMarginRate(request.getGrossMarginRate());
financialData.setAnnualIncome(request.getAnnualIncome());
financialData.setMaterialCostAnnual(request.getMaterialCostAnnual());
financialData.setMaterialCostMonthly(request.getMaterialCostMonthly());
financialData.setMaterialCostRate(request.getMaterialCostRate());
financialData.setStaffCount(request.getStaffCount());
financialData.setAvgSalary(request.getAvgSalary());
financialData.setStaffCostAnnual(request.getStaffCostAnnual());
financialData.setStaffCostRate(request.getStaffCostRate());
financialData.setRentCostAnnual(request.getRentCostAnnual());
financialData.setRentCostRate(request.getRentCostRate());
financialData.setTakeawayRate(request.getTakeawayRate());
financialData.setPlatformCommissionRate(request.getPlatformCommissionRate());
financialData.setPlatformCommission(request.getPlatformCommission());
financialData.setUtilityCost(request.getUtilityCost());
financialData.setUtilityCostRate(request.getUtilityCostRate());
financialData.setOtherCost(request.getOtherCost());
financialData.setOtherCostRate(request.getOtherCostRate());
financialData.setOperatingProfit(request.getOperatingProfit());
financialData.setOperatingProfitRate(request.getOperatingProfitRate());
financialData.setPaybackPeriodYears(request.getPaybackPeriodYears());
financialData.setPaybackPeriodMonths(request.getPaybackPeriodMonths());
financialData.setUpdateTime(new Date());
financialData.setUpdateUserId(userId);
return financialData;
}
// 辅助方法:将 UpdatePointFinancialDataRequest 转换为 AddPointFinancialDataRequest
private AddPointFinancialDataRequest convertToAddRequest(UpdatePointFinancialDataRequest updateRequest) {
AddPointFinancialDataRequest addRequest = new AddPointFinancialDataRequest();
addRequest.setPointId(updateRequest.getPointId());
addRequest.setEquipmentCost(updateRequest.getEquipmentCost());
addRequest.setDecorationCost(updateRequest.getDecorationCost());
addRequest.setFranchiseFee(updateRequest.getFranchiseFee());
addRequest.setManagementFee(updateRequest.getManagementFee());
addRequest.setDesignFee(updateRequest.getDesignFee());
addRequest.setFirstInventoryCost(updateRequest.getFirstInventoryCost());
addRequest.setDeposit(updateRequest.getDeposit());
addRequest.setInitialInvestment(updateRequest.getInitialInvestment());
addRequest.setAvgDailyOrders(updateRequest.getAvgDailyOrders());
addRequest.setAvgOrderPrice(updateRequest.getAvgOrderPrice());
addRequest.setOperatingDaysPerYear(updateRequest.getOperatingDaysPerYear());
addRequest.setDailySales(updateRequest.getDailySales());
addRequest.setAnnualGmv(updateRequest.getAnnualGmv());
addRequest.setMonthlySales(updateRequest.getMonthlySales());
addRequest.setGrossMarginRate(updateRequest.getGrossMarginRate());
addRequest.setAnnualIncome(updateRequest.getAnnualIncome());
addRequest.setMaterialCostAnnual(updateRequest.getMaterialCostAnnual());
addRequest.setMaterialCostMonthly(updateRequest.getMaterialCostMonthly());
addRequest.setMaterialCostRate(updateRequest.getMaterialCostRate());
addRequest.setStaffCount(updateRequest.getStaffCount());
addRequest.setAvgSalary(updateRequest.getAvgSalary());
addRequest.setStaffCostAnnual(updateRequest.getStaffCostAnnual());
addRequest.setStaffCostRate(updateRequest.getStaffCostRate());
addRequest.setRentCostAnnual(updateRequest.getRentCostAnnual());
addRequest.setRentCostRate(updateRequest.getRentCostRate());
addRequest.setTakeawayRate(updateRequest.getTakeawayRate());
addRequest.setPlatformCommissionRate(updateRequest.getPlatformCommissionRate());
addRequest.setPlatformCommission(updateRequest.getPlatformCommission());
addRequest.setUtilityCost(updateRequest.getUtilityCost());
addRequest.setUtilityCostRate(updateRequest.getUtilityCostRate());
addRequest.setOtherCost(updateRequest.getOtherCost());
addRequest.setOtherCostRate(updateRequest.getOtherCostRate());
addRequest.setOperatingProfit(updateRequest.getOperatingProfit());
addRequest.setOperatingProfitRate(updateRequest.getOperatingProfitRate());
addRequest.setPaybackPeriodYears(updateRequest.getPaybackPeriodYears());
addRequest.setPaybackPeriodMonths(updateRequest.getPaybackPeriodMonths());
return addRequest;
}
public List<AuditNodeDTO> dealAuditNode(AuditSettingVO auditSetting, Long regionId, String developmentManager) {
List<String> roleIds = new ArrayList<>();
//审核人

View File

@@ -5,10 +5,7 @@ import cn.hutool.core.util.StrUtil;
import com.cool.store.constants.CommonConstants;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.EnterpriseUserRoleDao;
import com.cool.store.dao.RegionAreaConfigDao;
import com.cool.store.dao.RegionDao;
import com.cool.store.dao.*;
import com.cool.store.dto.UserDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.*;
@@ -81,6 +78,8 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
private EnterpriseUserRoleDao enterpriseUserRoleDao;
@Autowired
private RegionDao regionDao;
@Autowired
private BigRegionDAO bigRegionDAO;
@Override
@@ -106,19 +105,20 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
}
@Override
public List<String> getAuthRegionIdByUserId(String userId) {
public List<String> getAuthRegionIdByUserId(String userId,Boolean queryInvestBigRegion) {
List<UserAuthMappingDO> userAuthMapping = listUserAuthMappingByUserId(userId);
if (CollectionUtils.isEmpty(userAuthMapping)) {
return Lists.newArrayList();
}
List<String> regionIds = userAuthMapping.stream().map(UserAuthMappingDO::getMappingId).collect(Collectors.toList());
List<String> subRegionIds = regionDao.getSubIdsByRegionIdsAndType(regionIds, "path");
List<String> subRegionIds = regionDao.getSubIdsByRegionIdsAndType(regionIds, "path",queryInvestBigRegion);
if (CollectionUtils.isNotEmpty(subRegionIds)) {
regionIds.addAll(subRegionIds);
}
return regionIds;
}
@Override
public List<String> getAuthStoreIdAndSubRegionIdByUserId(String userId) {
List<UserAuthMappingDO> userAuthMapping = listUserAuthMappingByUserId(userId);