Merge branch 'master' into cc_20251112_wallet

This commit is contained in:
苏竹红
2025-11-19 16:45:05 +08:00
21 changed files with 61 additions and 20 deletions

View File

@@ -212,7 +212,9 @@ public enum ErrorCodeEnum {
INVOICING_EXIST(109016, "当前门店发票信息已存在!", null),
SHOP_STATUS_NOT_SUPPORT_HANDLER(109016, "当前门店状态为:{0},不能进行结束跟进操作", null),
SHOP_STATUS_NOT_SUPPORT_HANDLER(109017, "当前门店状态为:{0},不能进行结束跟进操作", null),
SYSTEM_NAME_NOT__SUPPORT(109018, "请不要使用系统默认店名!", null),
INSERT_OPENING_OPERATION_PLAN_AUDIT_FALSE(103001,"插入运营方案审核信息失败",null),

View File

@@ -69,7 +69,8 @@ public enum UserRoleEnum {
JING_DONG_OPERATIONS_CUSTOMER(500000000L,"京东运营大区客服"),
JING_DONG_HEADQUARTERS_BUILD_CUSTOMER(510000000L,"京东总部建店客服"),
FRANCHISEES(530000000L,"加盟商")
FRANCHISEES(530000000L,"加盟商"),
SERVICE_PACKAGE_DEDICATED(1725431698852L,"服务包专用"),
;
private Long code;

View File

@@ -10,9 +10,9 @@ import java.util.List;
*/
public enum ModuleCodeEnum {
STORE_WORK(0,"店务日清/培训", Arrays.asList(MatterTypeEnum.QUESTION,MatterTypeEnum.LICENSE)),
PRODUCT_UPDATE(1,"营销政策/产品上新",Arrays.asList(MatterTypeEnum.SERVICE_PACKAGE)),
INVENTORY_MODULE(2,"原料订货库存管理",Arrays.asList(MatterTypeEnum.RESTOCK,MatterTypeEnum.INVENTORY,MatterTypeEnum.LOGISTICS)),
STORE_WORK(0,"店务/培训", Arrays.asList(MatterTypeEnum.QUESTION,MatterTypeEnum.LICENSE)),
PRODUCT_UPDATE(1,"营销/上新",Arrays.asList(MatterTypeEnum.SERVICE_PACKAGE)),
INVENTORY_MODULE(2,"订货/库存",Arrays.asList(MatterTypeEnum.RESTOCK,MatterTypeEnum.INVENTORY,MatterTypeEnum.LOGISTICS)),
DISH(3,"菜品",Arrays.asList(MatterTypeEnum.NOTICE)),
FRANCHISE(4,"加盟",Arrays.asList(MatterTypeEnum.NOTICE)),
//其他(投诉与客户服务、临时通知)

View File

@@ -3,6 +3,7 @@ package com.cool.store.dao;
import com.cool.store.dto.region.BigRegionDTO;
import com.cool.store.entity.BigRegionDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.FranchiseBrandEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.BigRegionMapper;
import com.cool.store.request.QueryBigRegionRequest;
@@ -12,6 +13,7 @@ import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -25,8 +27,8 @@ public class BigRegionDAO {
@Resource
BigRegionMapper bigRegionMapper;
public List<BigRegionDTO> queryAllBigRegion(String keyword){
return bigRegionMapper.queryAllBigRegion(keyword);
public List<BigRegionDTO> queryAllBigRegion(String keyword, Integer joinBrand){
return bigRegionMapper.queryAllBigRegion(keyword, joinBrand);
}
public BigRegionDO queryOrgInfoByBigRegionAndJoinMode(Long regionId, Integer joinMode){

View File

@@ -15,7 +15,7 @@ public interface BigRegionMapper extends Mapper<BigRegionDO> {
* @param keyword
* @return
*/
List<BigRegionDTO> queryAllBigRegion(String keyword);
List<BigRegionDTO> queryAllBigRegion(@Param("keyword") String keyword, @Param("joinBrand") Integer joinBrand);
/**
* 根据所属大区与加盟模式查询新管家信息

View File

@@ -38,6 +38,9 @@
<if test="keyword!=null and keyword !=''">
and region_name like CONCAT('%',#{keyword},'%')
</if>
<if test="joinBrand != null">
and join_brand = #{joinBrand}
</if>
</where>
</select>

View File

@@ -281,7 +281,9 @@
left join store_${enterpriseId} b on a.shop_code = b.store_num
where a.shop_code is not null
and a.shop_code !=''
and b.store_id is not null and a.id in
and b.store_id is not null
and b.is_delete = 'effective'
and a.id in
<foreach collection="shopIds" item="shopId" separator="," open="(" close=")">
#{shopId}
</foreach>

View File

@@ -25,6 +25,12 @@ public class RevenueDataDTO {
@ApiModelProperty("实收")
private BigDecimal receivedAmt;
@ApiModelProperty("外卖实收")
private BigDecimal takeoutReceivedAmt;
@ApiModelProperty("堂食实收")
private BigDecimal dineInReceivedAmt;
@ApiModelProperty("营业时间yyyy-MM-dd")
private String businessDate;

View File

@@ -70,6 +70,12 @@ public class BigRegionDO {
@Column(name = "hqt_region_name")
private String hqtRegionName;
/**
* 加盟品牌
*/
@Column(name = "join_brand")
private Integer joinBrand;
public String getHqtRegionName() {
return hqtRegionName;
}

View File

@@ -56,4 +56,7 @@ public class PreparationCommonPendingVO {
@ApiModelProperty("签约人2姓名")
private String partnershipSignatorySecond;
@ApiModelProperty("加盟品牌")
private String franchiseBrand;
}

View File

@@ -34,5 +34,11 @@ public class RevenueDataVO {
@ApiModelProperty("菜品列表")
private List<LaunchDataVO> otherRecipeLaunchDates;
@ApiModelProperty("外卖实收")
private BigDecimal takeoutReceivedAmt;
@ApiModelProperty("堂食实收")
private BigDecimal dineInReceivedAmt;
}

View File

@@ -21,7 +21,7 @@ public interface BigRegionService {
* @param keyword 关键字
* @return
*/
List<BigRegionDTO> queryAllBigRegion(String keyword);
List<BigRegionDTO> queryAllBigRegion(String keyword, Integer joinBrand);
/**
* 根据门店所属大区和加盟模式查询新管家对应组织信息

View File

@@ -25,8 +25,8 @@ public class BigRegionServiceImpl implements BigRegionService {
BigRegionDAO bigRegionDAO;
@Override
public List<BigRegionDTO> queryAllBigRegion(String keyword){
return bigRegionDAO.queryAllBigRegion(keyword);
public List<BigRegionDTO> queryAllBigRegion(String keyword, Integer joinBrand){
return bigRegionDAO.queryAllBigRegion(keyword, joinBrand);
}
@Override

View File

@@ -1170,7 +1170,7 @@ public class DataHandlerServerImpl implements DataHandlerServer {
shopInfoDO.setManagerRegionId(isCreateStoreDTO.getPid());
updateList.add(shopInfoDO);
}
List<BigRegionDTO> bigRegionDTOS = bigRegionDAO.queryAllBigRegion(null);
List<BigRegionDTO> bigRegionDTOS = bigRegionDAO.queryAllBigRegion(null, null);
Map<Long, BigRegionDTO> bigRegionDTOMap = bigRegionDTOS.stream().collect(Collectors.toMap(BigRegionDTO::getRegionId, x -> x));
//XX大区 正烧鸡
List<Long> storeManageIds = bigRegionDTOS.stream().filter(x -> x.getStoreManageRegionId() != null).map(BigRegionDTO::getStoreManageRegionId).collect(Collectors.toList());

View File

@@ -725,6 +725,7 @@ public class DeskServiceImpl implements DeskService {
preparationCommonPendingVO.setShopManagerUserName(userNameMap.getOrDefault(shopInfoDO.getShopManagerUserId(), ""));
preparationCommonPendingVO.setRegionNodeName(regionNameMap.getOrDefault(shopInfoDO.getRegionId(), ""));
preparationCommonPendingVO.setUpdateTime(x.getUpdateTime());
preparationCommonPendingVO.setFranchiseBrand(shopInfoDO.getFranchiseBrand());
list.add(preparationCommonPendingVO);
});
result.setList(list);

View File

@@ -1,6 +1,7 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.*;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.PosAndOrderInfoDO;
@@ -16,6 +17,7 @@ import com.cool.store.response.PosAndOrderResponse;
import com.cool.store.service.PosAndOrderInfoService;
import com.cool.store.mapper.PosAndOrderInfoMapper;
import com.cool.store.service.PreparationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -30,6 +32,7 @@ import java.util.Objects;
* @createDate 2024-10-09 14:39:11
*/
@Service
@Slf4j
public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
@Resource
private LineInfoDAO lineInfoDAO;
@@ -46,6 +49,7 @@ public class PosAndOrderInfoServiceImpl implements PosAndOrderInfoService {
@Override
@Transactional(rollbackFor = Exception.class)
public Integer submitOrUpdate(PostAndOrderRequest request, String user) {
log.info("PosAndOrderInfoService_submitOrUpdate:{}", JSONObject.toJSONString(request));
PosAndOrderInfoDO posAndOrderInfoDO = posAndOrderInfoDAO.selectOneByShopId(request.getShopId(), request.getType());
PosAndOrderInfoDO posAndOrderInfo = request.toDO();
posAndOrderInfo.setCreateUser(user);

View File

@@ -220,6 +220,7 @@ public class PreparationServiceImpl implements PreparationService {
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus());
if (flag3) {
List<ShopSubStageStatusEnum> list = new ArrayList<>();
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_160);
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_170);
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_230);
shopStageInfoDAO.batchUpdateShopStageStatus(shopId, list);
@@ -238,7 +239,6 @@ public class PreparationServiceImpl implements PreparationService {
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_3.getShopSubStage()).getShopSubStageStatus());
if (flag1 && flag2) {
List<ShopSubStageStatusEnum> list = new ArrayList<>();
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_160);
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_240);
shopStageInfoDAO.batchUpdateShopStageStatus(shopId, list);
}
@@ -361,12 +361,10 @@ public class PreparationServiceImpl implements PreparationService {
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_1.getShopSubStage()).getShopSubStageStatus());
Boolean flag3 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_156.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus());
Boolean flag4 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_33.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_3.getShopSubStage()).getShopSubStageStatus());
log.info("selectSiteAndBuildStoreComplete flag2->{} flag3->{} flag4->{}",flag2,flag3, flag4);
log.info("selectSiteAndBuildStoreComplete flag2->{} flag3->{} flag4->{}",flag2,flag3);
//都完成了 状态修改
if (flag2 && flag3 && flag4) {
if (flag2 && flag3) {
shopAccountDAO.updateStatusByShopIdAndSystemName(shopId, Arrays.asList(ShopAccountEnum.HUOMA.getSystemName()), OpenStatusEnum.OPENSTATUSENUM_2.getCode(),null,null);
}
}

View File

@@ -203,6 +203,7 @@ public class PushServiceImpl implements PushService {
//如果userRoleIds包含督导。大区总。分部负责人任何一个 使用当前门店的手机号
if (userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode()) ||
userRoleIds.contains(UserRoleEnum.HEAD_OF_DIVISION.getCode()) ||
userRoleIds.contains(UserRoleEnum.SERVICE_PACKAGE_DEDICATED.getCode()) ||
userRoleIds.contains(UserRoleEnum.REGION_MANAGER.getCode())) {
StoreDO store = storeDao.getByStoreNum(dto.getShopCode());
if (store != null&&store.getTelephone()!=null){

View File

@@ -177,6 +177,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
if (Objects.isNull(request.getShopId())) {
throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST);
}
//不要使用系统默认名称
if (StringUtils.isNotEmpty(request.getShopName())&&request.getShopName().matches("^店铺.$")) {
throw new ServiceException(ErrorCodeEnum.SYSTEM_NAME_NOT__SUPPORT);
}
SignFranchiseDO isExist = signFranchiseMapper.selectByShopId(request.getShopId());
if (Objects.nonNull(isExist) && Objects.isNull(request.getId())) {
throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION);

View File

@@ -131,6 +131,7 @@ public class StoreServiceImpl implements StoreService {
List<SysRoleDO> sysRoleDOS = roleIds.stream().filter(role -> "store_inside".equals(role.getPositionType())
||UserRoleEnum.SUPERVISION.getCode().equals(role.getId())
||UserRoleEnum.HEAD_OF_DIVISION.getCode().equals(role.getId())
||UserRoleEnum.SERVICE_PACKAGE_DEDICATED.getCode().equals(role.getId())
||UserRoleEnum.REGION_MANAGER.getCode().equals(role.getId())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sysRoleDOS)){
//获取用户管辖区域

View File

@@ -28,8 +28,9 @@ public class BigRegionController {
@PostMapping("/queryAllBigRegion")
@ApiOperation("获取所有可选择的大区")
public ResponseResult<List<BigRegionDTO>> queryContentInfo(@RequestParam(required = false) String keyword) {
return ResponseResult.success(bigRegionService.queryAllBigRegion(keyword));
public ResponseResult<List<BigRegionDTO>> queryContentInfo(@RequestParam(required = false) String keyword,
@RequestParam(required = false) Integer joinBrand) {
return ResponseResult.success(bigRegionService.queryAllBigRegion(keyword, joinBrand));
}
@PostMapping("/queryBigRegion")