feat:V2.4

This commit is contained in:
苏竹红
2025-01-10 19:02:16 +08:00
parent 81b135bba6
commit 5d2afdf9c5
36 changed files with 702 additions and 322 deletions

View File

@@ -1,5 +1,6 @@
package com.cool.store.dao;
import com.aliyun.openservices.shade.com.google.common.collect.Lists;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.InvestmentCountDTO;
import com.cool.store.dto.PendingCountDTO;
@@ -204,4 +205,12 @@ public class LineInfoDAO {
public List<LineVO> getLines(String keyword){
return lineInfoMapper.getLinesByKeyword(keyword);
}
public List<LineInfoDO> getByLineIds(List<Long> lineIds){
if (CollectionUtils.isEmpty(lineIds)){
return Lists.newArrayList();
}
return lineInfoMapper.getByLineIds(lineIds);
}
}

View File

@@ -99,11 +99,11 @@ public class PointInfoDAO {
return pointInfoMapper.getRecommendPointList(request);
}
public Integer updateSelectedDevelopmentManager(Long lineId, String developmentManager) {
if(Objects.isNull(lineId) || StringUtils.isBlank(developmentManager)){
public Integer updateSelectedDevelopmentManager(Long shopId, String developmentManager) {
if(Objects.isNull(shopId) || StringUtils.isBlank(developmentManager)){
return null;
}
return pointInfoMapper.updateSelectedDevelopmentManager(lineId, developmentManager);
return pointInfoMapper.updateSelectedDevelopmentManager(shopId, developmentManager);
}
public Page<PointInfoDO> getTeamPointPage(AllPointPageRequest request) {

View File

@@ -3,6 +3,7 @@ package com.cool.store.dao;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.point.LineCountDTO;
import com.cool.store.dto.point.MiniPointPageDTO;
import com.cool.store.dto.point.ShopCountDTO;
import com.cool.store.entity.PointRecommendDO;
import com.cool.store.enums.point.PointRecommendStatusEnum;
import com.cool.store.mapper.PointRecommendMapper;
@@ -70,6 +71,7 @@ public class PointRecommendDAO {
* @param lineIds
* @return
*/
@Deprecated
public Map<Long, Integer> getPushShopNumMap(List<Long> lineIds) {
if(CollectionUtils.isEmpty(lineIds)){
return Maps.newHashMap();
@@ -78,6 +80,15 @@ public class PointRecommendDAO {
return pushShopNumMap.stream().collect(Collectors.toMap(k->k.getLineId(), v->v.getRecommendShopNum()));
}
public Map<Long, Integer> getShopPushPointNumMap(List<Long> shopIds) {
if(CollectionUtils.isEmpty(shopIds)){
return Maps.newHashMap();
}
List<ShopCountDTO> pushShopNumMap = pointRecommendMapper.getShopPushPointNumMap(shopIds);
return pushShopNumMap.stream().collect(Collectors.toMap(k->k.getShopId(), v->v.getRecommendShopNum()));
}
/**
* 获取推荐列表
* @param lineId
@@ -90,6 +101,13 @@ public class PointRecommendDAO {
return pointRecommendMapper.getRecommendPointList(lineId);
}
public List<PointRecommendDO> getShopRecommendPointList(Long lineId) {
if(Objects.isNull(lineId)){
return Lists.newArrayList();
}
return pointRecommendMapper.getShopRecommendPointList(lineId);
}
public Integer addRecommendPoint(List<PointRecommendDO> recommendList) {
if(CollectionUtils.isEmpty(recommendList)){
return CommonConstants.ZERO;
@@ -102,8 +120,8 @@ public class PointRecommendDAO {
* @param lineId
* @return
*/
public Integer turnLineUpdateRecommendStatus(Long lineId, String developmentManager) {
return pointRecommendMapper.turnLineUpdateRecommendStatus(lineId, developmentManager);
public Integer turnLineUpdateRecommendStatus(Long shopId, String developmentManager) {
return pointRecommendMapper.turnLineUpdateRecommendStatus(shopId, developmentManager);
}
/**
@@ -116,11 +134,11 @@ public class PointRecommendDAO {
return pointRecommendMapper.getLineRecommendPointPage(request);
}
public Integer updateStatusByPointIdAndLineId(Long pointId, Long lineId){
if(Objects.isNull(pointId) || Objects.isNull(lineId)){
public Integer updateStatusByPointIdAndLineId(Long pointId,Long shopId){
if(Objects.isNull(pointId) || Objects.isNull(shopId)){
return 0;
}
return pointRecommendMapper.updateStatusByPointIdAndLineId(pointId, lineId);
return pointRecommendMapper.updateStatusByPointIdAndLineId(pointId,shopId);
}
/**
@@ -130,11 +148,11 @@ public class PointRecommendDAO {
* @param reason
* @return
*/
public Integer rejectPoint(Long lineId, Long pointId, String reason) {
if(Objects.isNull(lineId) || Objects.isNull(pointId)){
public Integer rejectPoint(Long shopId, Long pointId, String reason) {
if(Objects.isNull(shopId) || Objects.isNull(pointId)){
return CommonConstants.ZERO;
}
return pointRecommendMapper.rejectPoint(lineId, pointId, reason);
return pointRecommendMapper.rejectPoint(shopId, pointId, reason);
}
/**
@@ -148,4 +166,16 @@ public class PointRecommendDAO {
}
return pointRecommendMapper.getRecommendPointListByPointId(pointId);
}
public List<PointRecommendDO> getAllRecommendPointList(Long lineId) {
return pointRecommendMapper.getAllRecommendPointList(lineId);
}
public Boolean batchUpdateShopId(List<PointRecommendDO> recommendList) {
if (CollectionUtils.isEmpty(recommendList)){
return Boolean.TRUE;
}
return pointRecommendMapper.batchUpdateShopId(recommendList);
}
}

View File

@@ -5,12 +5,15 @@ import com.cool.store.dto.LicenseSyncDTO;
import com.cool.store.dto.Preparation.PreparationDTO;
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
import com.cool.store.dto.point.LineCountDTO;
import com.cool.store.dto.point.ShopPointDTO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ShopInfoMapper;
import com.cool.store.request.BranchShopRequest;
import com.cool.store.request.PlanListRequest;
import com.cool.store.request.PointLinePageRequest;
import com.cool.store.request.PreparationRequest;
import com.cool.store.request.platformBuildListRequest;
import com.cool.store.response.PlatformBuildListResponse;
@@ -193,5 +196,20 @@ public class ShopInfoDAO {
return shopInfoMapper.getShopAndStoreList(eid,shopIds);
}
public List<ShopPointDTO> getShopPointListByDevelopmentManager(PointLinePageRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
return shopInfoMapper.getShopPointListByDevelopmentManager(request);
}
public List<ShopInfoDO> selectAllDataOrByShopId(Long shopId) {
return shopInfoMapper.selectAllDataOrByShopId(shopId);
}
public Boolean batchUpdate(List<ShopInfoDO> list) {
if (CollectionUtils.isEmpty(list)){
return Boolean.FALSE;
}
return shopInfoMapper.batchUpdate(list);
}
}

View File

@@ -4,6 +4,7 @@ import com.cool.store.dto.InvestmentCountDTO;
import com.cool.store.dto.PendingCountDTO;
import com.cool.store.dto.openPreparation.PlanLineDTO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.request.LineListRequest;
import com.cool.store.request.PartnerRequest;
import com.cool.store.request.PointLinePageRequest;
@@ -128,4 +129,5 @@ public interface LineInfoMapper extends Mapper<LineInfoDO> {
@Param("investmentManager") String investmentManager, @Param("regionId") Long regionId);
List<LineVO> getLinesByKeyword(@Param("keyword") String keyword);
}

View File

@@ -53,11 +53,11 @@ public interface PointInfoMapper extends Mapper<PointInfoDO> {
/**
* 更新铺位的拓展经理
* @param lineId
* @param shopId
* @param developmentManager
* @return
*/
Integer updateSelectedDevelopmentManager(@Param("lineId") Long lineId, @Param("developmentManager")String developmentManager);
Integer updateSelectedDevelopmentManager(@Param("shopId") Long shopId, @Param("developmentManager")String developmentManager);
/**
* 获取团队铺位

View File

@@ -2,6 +2,7 @@ package com.cool.store.mapper;
import com.cool.store.dto.point.LineCountDTO;
import com.cool.store.dto.point.MiniPointPageDTO;
import com.cool.store.dto.point.ShopCountDTO;
import com.cool.store.entity.PointRecommendDO;
import com.cool.store.request.MiniPointPageRequest;
import com.github.pagehelper.Page;
@@ -36,6 +37,13 @@ public interface PointRecommendMapper extends Mapper<PointRecommendDO> {
*/
List<LineCountDTO> getPushShopNumMap(@Param("lineIds") List<Long> lineIds);
/**
* 查询门店推送的铺位数量
* @param shopIds
* @return
*/
List<ShopCountDTO> getShopPushPointNumMap(@Param("shopIds") List<Long> shopIds);
/**
* 获取推荐列表
* @param lineId
@@ -43,6 +51,13 @@ public interface PointRecommendMapper extends Mapper<PointRecommendDO> {
*/
List<PointRecommendDO> getRecommendPointList(@Param("lineId") Long lineId);
/**
* 获取门店推荐列表
* @param shopId
* @return
*/
List<PointRecommendDO> getShopRecommendPointList(@Param("shopId") Long shopId);
/**
* 批量新增
* @param recommendList
@@ -55,7 +70,7 @@ public interface PointRecommendMapper extends Mapper<PointRecommendDO> {
* @param lineId
* @return
*/
Integer turnLineUpdateRecommendStatus(@Param("lineId") Long lineId, @Param("developmentManager")String developmentManager);
Integer turnLineUpdateRecommendStatus(@Param("shopId") Long shopId, @Param("developmentManager")String developmentManager);
/**
* 线索获取推荐铺位列表
@@ -70,7 +85,7 @@ public interface PointRecommendMapper extends Mapper<PointRecommendDO> {
* @param lineId
* @return
*/
Integer updateStatusByPointIdAndLineId(@Param("pointId") Long pointId, @Param("lineId") Long lineId);
Integer updateStatusByPointIdAndLineId(@Param("pointId") Long pointId, @Param("shopId") Long shopId);
/**
* 铺位拒绝
@@ -79,7 +94,7 @@ public interface PointRecommendMapper extends Mapper<PointRecommendDO> {
* @param reason
* @return
*/
Integer rejectPoint(@Param("lineId") Long lineId, @Param("pointId") Long pointId, @Param("reason") String reason);
Integer rejectPoint(@Param("shopId") Long shopId, @Param("pointId") Long pointId, @Param("reason") String reason);
/**
* 获取铺位推送过哪些线索
@@ -87,4 +102,14 @@ public interface PointRecommendMapper extends Mapper<PointRecommendDO> {
* @return
*/
List<PointRecommendDO> getRecommendPointListByPointId(@Param("pointId") Long pointId);
/**
* 数据处理
* @param lineId
* @return
*/
List<PointRecommendDO> getAllRecommendPointList(@Param("lineId") Long lineId);
Boolean batchUpdateShopId(@Param("recommendList") List<PointRecommendDO> recommendList);
}

View File

@@ -4,10 +4,12 @@ import com.cool.store.dto.LicenseSyncDTO;
import com.cool.store.dto.Preparation.PreparationDTO;
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
import com.cool.store.dto.point.LineCountDTO;
import com.cool.store.dto.point.ShopPointDTO;
import com.cool.store.entity.PointInfoDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.request.BranchShopRequest;
import com.cool.store.request.PlanListRequest;
import com.cool.store.request.PointLinePageRequest;
import com.cool.store.request.PreparationRequest;
import com.cool.store.request.platformBuildListRequest;
import com.cool.store.response.PlatformBuildListResponse;
@@ -103,4 +105,16 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
List<LicenseSyncDTO> getShopAndStoreList(@Param("enterpriseId") String eid , @Param("shopIds") List<Long> shopIds);
List<ShopPointDTO> getShopPointListByDevelopmentManager(@Param("request") PointLinePageRequest request);
/**
* selectAllDataOrByShopId
* @param shopId
* @return
*/
List<ShopInfoDO> selectAllDataOrByShopId(Long shopId);
Boolean batchUpdate(List<ShopInfoDO> list);
}

View File

@@ -139,7 +139,7 @@
set
development_manager = #{developmentManager}
where
line_id = #{lineId} and select_status = '1' and deleted = 0
shop_id = #{shopId} and select_status = '1' and deleted = 0
</update>
<select id="getTeamPointPage" resultMap="BaseResultMap">

View File

@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="com.cool.store.entity.PointRecommendDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="line_id" jdbcType="BIGINT" property="lineId" />
<result column="shop_id" jdbcType="BIGINT" property="shopId" />
<result column="point_id" jdbcType="BIGINT" property="pointId" />
<result column="development_manager" jdbcType="VARCHAR" property="developmentManager" />
<result column="status" jdbcType="TINYINT" property="status" />
@@ -14,7 +15,7 @@
</resultMap>
<sql id="allColumn">
id, line_id, point_id, development_manager, status, reason, deleted, create_time, update_time
id, line_id,shop_id, point_id, development_manager, status, reason, deleted, create_time, update_time
</sql>
<update id="updateShopPointRecommendStatus">
@@ -48,6 +49,20 @@
group by line_id
</select>
<select id="getShopPushPointNumMap" resultType="com.cool.store.dto.point.ShopCountDTO">
select
shop_id as shopId,
count(1) as recommendShopNum
from
xfsg_point_recommend
where
deleted = 0 and shop_id in
<foreach collection="shopIds" item="shopId" index="index" open="(" separator="," close=")">
#{shopId}
</foreach>
group by shop_id
</select>
<select id="getRecommendPointList" resultMap="BaseResultMap">
select
id,
@@ -62,10 +77,25 @@
line_id = #{lineId} and deleted = 0
</select>
<select id="getShopRecommendPointList" resultMap="BaseResultMap">
select
id,
point_id,
line_id,
development_manager,
status,
reason
from
xfsg_point_recommend
where
shop_id = #{shopId} and deleted = 0
</select>
<insert id="batchInsert">
<foreach collection="recommendList" item="item" index="index" separator=";">
insert into xfsg_point_recommend (line_id, point_id, development_manager, status)
values (#{item.lineId}, #{item.pointId}, #{item.developmentManager}, #{item.status})
insert into xfsg_point_recommend (shop_id, point_id, development_manager, status)
values (#{item.shopId}, #{item.pointId}, #{item.developmentManager}, #{item.status})
</foreach>
</insert>
@@ -76,7 +106,7 @@
deleted = if(status = 1, 1, deleted),
development_manager = if(status in (2,4), #{developmentManager}, development_manager)
where
line_id = #{lineId}
shop_id = #{shopId}
</update>
<select id="getLineRecommendPointPage" resultType="com.cool.store.dto.point.MiniPointPageDTO">
@@ -96,12 +126,12 @@
xfsg_point_recommend pr
inner join xfsg_point_info p on p.id = pr.point_id
where
p.deleted = 0 and pr.line_id = #{request.lineId} and pr.deleted = 0
p.deleted = 0 and pr.shop_id = #{request.shopId} and pr.deleted = 0
<if test="request.status != null and request.status == 1">
and pr.status = 1 and p.select_status = 0
</if>
<if test="request.status != null and request.status == 2">
and pr.status = 2 and p.select_status = 1 and p.line_id = #{request.lineId}
and pr.status = 2 and p.select_status = 1 and p.shop_id = #{request.shopId}
</if>
<if test="request.status != null and request.status == 3">
and pr.status in (5, 6)
@@ -112,7 +142,7 @@
update
xfsg_point_recommend
set
status = if(line_id = #{lineId}, 2, 3)
status = if(shop_id = #{shopId}, 2, 3)
where point_id = #{pointId} and deleted = 0 and status = 1
</update>
@@ -122,7 +152,7 @@
set
status = 5,
reason = #{reason}
where point_id = #{pointId} and line_id = #{lineId} and deleted = 0 and status = 1
where point_id = #{pointId} and shop_id = #{shopId} and deleted = 0 and status = 1
</update>
<select id="getRecommendPointListByPointId" resultMap="BaseResultMap">
@@ -133,4 +163,34 @@
where
point_id = #{pointId} and deleted = 0
</select>
<select id="getAllRecommendPointList" resultMap="BaseResultMap">
select
<include refid="allColumn"/>
from
xfsg_point_recommend
<where>
and (shop_id = 0 or shop_id is null)
<if test="lineId!=null">
and line_id = #{lineId}
</if>
</where>
</select>
<update id="batchUpdateShopId">
update xfsg_point_recommend
set
shop_id = case id
<foreach collection="recommendList" item="item" index="index" >
when #{item.id} then #{item.shopId}
</foreach>
end
where
id in
<foreach collection="recommendList" item="entity" open="(" separator="," close=")">
#{entity.id}
</foreach>
</update>
</mapper>

View File

@@ -332,5 +332,45 @@
</if>
</select>
<select id="getShopPointListByDevelopmentManager" resultType="com.cool.store.dto.point.ShopPointDTO">
select
a.id as shopId,
a.point_id as pointId,
a.shop_name as shopName,
a.want_shop_area_id as wantShopAreaId,
b.user_portrait as userPortrait,
b.id as lineId,
b.username as userName,
b.mobile as mobile,
b.investment_manager as investmentManager
from xfsg_shop_info a left join xfsg_line_info b on a.line_id = b.id
where a.deleted = 0 and a.development_manager = #{request.developmentManager} and shop_status in (0, 1)
<if test="request.keyword != null and request.keyword!=''">
and (b.username like #{request.keyword} or b.mobile like #{request.keyword})
</if>
</select>
<select id="selectAllDataOrByShopId" resultMap="BaseResultMap">
select * from xfsg_shop_info
<where>
<if test="shopId!=null">
and id = #{shopId}
</if>
</where>
</select>
<update id="batchUpdate" parameterType="list">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
UPDATE xfsg_shop_info
SET
development_manager = #{item.developmentManager},
join_mode = #{item.joinMode},
shop_status = #{item.shopStatus},
franchise_brand = #{item.franchiseBrand},
investment_manager = #{item.investmentManager},
want_shop_area_id = #{item.wantShopAreaId}
WHERE id = #{item.id}
</foreach>
</update>
</mapper>

View File

@@ -235,10 +235,7 @@
select
*
from xfsg_shop_stage_info a
<if test="investmentUserId!=null and investmentUserId!=''">
left join xfsg_line_info b on a.line_id = b.id
</if>
<if test="authRegionIds != null and authRegionIds.size() > 0">
<if test="(authRegionIds != null and authRegionIds.size() > 0) or (investmentUserId != null and investmentUserId != '')">
left join xfsg_shop_info si on a.shop_id = si.id
</if>
<where>
@@ -258,7 +255,7 @@
</foreach>
</if>
<if test="investmentUserId!=null and investmentUserId!='' and authRegionIds.size()==0">
and b.investment_manager = #{investmentUserId}
and si.investment_manager = #{investmentUserId}
</if>
<if test="authRegionIds != null and authRegionIds.size() > 0">
and si.region_id in