Merge #43 into master from cc_20251208_visit
拜访记录和铺位导出
* cc_20251208_visit: (37 commits squashed)
- feat:拜访记录
- fix:拜访详情接口新增字段
- fix:新增状态转义字段
- fix:惩处单查询提供惩处待处理、惩处已处理状态筛选
- fix
- fix:管理员能查看所有加盟商
- fix:去掉部分字段非空校验
- fix:空校验
- Merge branch 'master' into cc_20251208_visit
# Conflicts:
#	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
#	coolstore-partner-dao/src/main/java/com/cool/store/dao/store/StoreMasterSignerInfoDAO.java
#	coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java
- fix
- fix:拜访记录失效延时消息
- fix:拜访记录统计
- fix:拜访记录统计新增筛选条件
- fix:字段转义
- feat:拜访调整
- feat:拜访调整_过滤我的
- feat:拜访调整_过滤我的
- feat:拜访字段调整
- feat:拜访字段调整
- Merge branch 'master' into cc_20251208_visit
- fix:拜访我的加盟商取消管辖权限过滤
- Merge branch 'master' into cc_20251208_visit
- fix:新增已分配招商经理的线索查询接口;拜访记录列表接口新增字段
- fix:新增字段
- fix:新老加盟商判断逻辑修复;统计接口新增筛选条件
- fix:过滤未分配招商经理的线索
- Merge branch 'master' into cc_20251208_visit
# Conflicts:
#	coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml
- Merge branch 'master' into cc_20251208_visit
- Merge branch 'master' into cc_20251208_visit
- fix:拜访记录导出
- fix:拜访记录导出限制
- fix:拜访记录导出限制
- fix:铺位导出
- fix:铺位及拜访记录导出加锁时机修改
- fix:铺位导出新增字段
- fix:铺位导出新增字段
- fix
Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/43
This commit is contained in:
@@ -1,11 +1,17 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import com.cool.store.entity.PointFinancialDataDO;
|
||||
import com.cool.store.mapper.PointFinancialDataMapper;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import tk.mybatis.mapper.entity.Example;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
@@ -44,6 +50,14 @@ public class PointFinancialDataDAO {
|
||||
return pointFinancialDataDOMapper.selectByPointId(pointId);
|
||||
}
|
||||
|
||||
|
||||
public Map<Long, PointFinancialDataDO> getMapByPointIds(List<Long> pointIds) {
|
||||
if (CollectionUtils.isEmpty(pointIds)) {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
Example example = new Example(PointFinancialDataDO.class);
|
||||
example.createCriteria().andIn("pointId", pointIds);
|
||||
List<PointFinancialDataDO> list = pointFinancialDataDOMapper.selectByExample(example);
|
||||
return CollStreamUtil.toMap(list, PointFinancialDataDO::getPointId, v -> v);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -129,6 +129,10 @@ public class PointInfoDAO {
|
||||
return pointInfoMapper.getTeamPointPage(eid,request);
|
||||
}
|
||||
|
||||
public Long getTeamPointCount(String eid, AllPointPageRequest request) {
|
||||
return pointInfoMapper.getTeamPointCount(eid, request);
|
||||
}
|
||||
|
||||
public List<PointMapVO> getAllPointList(String eid, PointMapRequest request) {
|
||||
return pointInfoMapper.getAllPointList(eid,request);
|
||||
}
|
||||
|
||||
@@ -108,6 +108,15 @@ public class VisitRecordDAO {
|
||||
return visitRecordMapper.getVisitRecordList(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拜访记录数量
|
||||
* @param request 拜访记录查询Request
|
||||
* @return 数量
|
||||
*/
|
||||
public Long getVisitRecordCount(VisitRecordQueryRequest request) {
|
||||
return visitRecordMapper.getVisitRecordCount(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据线索id查询已完成拜访数量
|
||||
* @param lineId 线索id
|
||||
|
||||
@@ -70,6 +70,13 @@ public interface PointInfoMapper extends Mapper<PointInfoDO> {
|
||||
*/
|
||||
Page<PCPointListDTO> getTeamPointPage(@Param("eid")String eid,@Param("request") AllPointPageRequest request);
|
||||
|
||||
/**
|
||||
* 获取团队铺位数量
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Long getTeamPointCount(@Param("eid")String eid, @Param("request") AllPointPageRequest request);
|
||||
|
||||
/**
|
||||
* 获取所有的铺位 地图
|
||||
* @param eid
|
||||
|
||||
@@ -29,6 +29,11 @@ public interface VisitRecordMapper extends Mapper<VisitRecordDO> {
|
||||
*/
|
||||
List<VisitRecordListVO> getVisitRecordList(@Param("request") VisitRecordQueryRequest request);
|
||||
|
||||
/**
|
||||
* 拜访记录数量
|
||||
*/
|
||||
Long getVisitRecordCount(@Param("request") VisitRecordQueryRequest request);
|
||||
|
||||
/**
|
||||
* 查询拜访加盟商线索id
|
||||
* @param regionIds 加盟商所属大区id
|
||||
|
||||
@@ -238,6 +238,50 @@
|
||||
order by a.id desc
|
||||
</select>
|
||||
|
||||
<select id="getTeamPointCount" resultType="java.lang.Long">
|
||||
select count(1)
|
||||
from xfsg_point_info a
|
||||
left join xfsg_shop_info b on a.shop_id = b.id
|
||||
left join store_${eid} c on b.shop_code = c.store_num
|
||||
where a.deleted = 0 and a.point_status in (4,5,6,7)
|
||||
<if test="request.keyword != null and request.keyword != ''">
|
||||
and (a.point_code like concat('%', #{request.keyword}, '%') or a.point_name like concat('%',
|
||||
#{request.keyword},
|
||||
'%'))
|
||||
</if>
|
||||
<if test="request.developmentManager != null and request.developmentManager != ''">
|
||||
and a.development_manager = #{request.developmentManager}
|
||||
</if>
|
||||
<if test="request.pointStatus != null and request.pointStatus != ''">
|
||||
and a.point_status = #{request.pointStatus}
|
||||
</if>
|
||||
<if test="request.createStartTime != null and request.createStartTime != ''">
|
||||
and a.create_time >= #{request.createStartTime}
|
||||
</if>
|
||||
<if test="request.createEndTime != null and request.createEndTime != ''">
|
||||
<![CDATA[and a.create_time <= #{request.createEndTime}]]>
|
||||
</if>
|
||||
<if test="request.regionIds != null and request.regionIds.size() > 0">
|
||||
and a.region_id in
|
||||
<foreach collection="request.regionIds" item="regionId" index="index" open="(" separator="," close=")">
|
||||
#{regionId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.authRegionIds != null and request.authRegionIds.size() > 0">
|
||||
and a.region_id in
|
||||
<foreach collection="request.authRegionIds" item="regionId" index="index" open="(" separator="," close=")">
|
||||
#{regionId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.storageStatus != null ">
|
||||
and a.storage_status = #{request.storageStatus}
|
||||
</if>
|
||||
<if test="request.areaCode!=null and request.areaCode!=''">
|
||||
and (a.province_code = #{request.areaCode} or a.city_code = #{request.areaCode} or a.district_code =
|
||||
#{request.areaCode})
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getAllPointList" resultType="com.cool.store.vo.point.PointMapVO">
|
||||
select
|
||||
|
||||
@@ -28,6 +28,39 @@
|
||||
<result column="user_id" jdbcType="VARCHAR" property="userId" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="Visit_Record_Query">
|
||||
<if test="request.visitUserId!=null and request.visitUserId!=''">
|
||||
and a.user_id = #{request.visitUserId}
|
||||
</if>
|
||||
<if test="request.lineId != null">
|
||||
AND a.line_id = #{request.lineId}
|
||||
</if>
|
||||
<if test="request.keyword != null and request.keyword != ''">
|
||||
AND (b.mobile LIKE CONCAT('%', #{request.keyword}, '%') OR b.username LIKE CONCAT('%', #{request.keyword}, '%'))
|
||||
</if>
|
||||
<if test="request.visitNo != null and request.visitNo != ''">
|
||||
AND a.visit_no LIKE CONCAT('%', #{request.visitNo}, '%')
|
||||
</if>
|
||||
<if test="request.visitStartDate != null">
|
||||
AND a.visit_date >= #{request.visitStartDate}
|
||||
</if>
|
||||
<if test="request.visitEndDate != null">
|
||||
AND a.visit_date <= #{request.visitEndDate}
|
||||
</if>
|
||||
<if test="request.status != null">
|
||||
AND a.status = #{request.status}
|
||||
</if>
|
||||
<if test="request.userId != null">
|
||||
AND a.user_id = #{request.userId}
|
||||
</if>
|
||||
<if test="request.desire != null and request.desire != ''">
|
||||
AND a.desire = #{request.desire}
|
||||
</if>
|
||||
<if test="request.investRegionId != null">
|
||||
AND b.invest_region_id = #{request.investRegionId}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<select id="getPartnerList" resultType="com.cool.store.vo.visit.VisitPartnerListVO">
|
||||
SELECT a.line_id, a.visit_num, b.username name, b.mobile
|
||||
<if test="userId != null and userId != ''">
|
||||
@@ -66,40 +99,20 @@
|
||||
FROM zxjp_visit_record a
|
||||
INNER JOIN xfsg_line_info b ON a.line_id = b.id AND b.deleted = 0
|
||||
<where>
|
||||
<if test="request.visitUserId!=null and request.visitUserId!=''">
|
||||
and a.user_id = #{request.visitUserId}
|
||||
</if>
|
||||
<if test="request.lineId != null">
|
||||
AND a.line_id = #{request.lineId}
|
||||
</if>
|
||||
<if test="request.keyword != null and request.keyword != ''">
|
||||
AND (b.mobile LIKE CONCAT('%', #{request.keyword}, '%') OR b.username LIKE CONCAT('%', #{request.keyword}, '%'))
|
||||
</if>
|
||||
<if test="request.visitNo != null and request.visitNo != ''">
|
||||
AND a.visit_no LIKE CONCAT('%', #{request.visitNo}, '%')
|
||||
</if>
|
||||
<if test="request.visitStartDate != null">
|
||||
AND a.visit_date >= #{request.visitStartDate}
|
||||
</if>
|
||||
<if test="request.visitEndDate != null">
|
||||
AND a.visit_date <= #{request.visitEndDate}
|
||||
</if>
|
||||
<if test="request.status != null">
|
||||
AND a.status = #{request.status}
|
||||
</if>
|
||||
<if test="request.userId != null">
|
||||
AND a.user_id = #{request.userId}
|
||||
</if>
|
||||
<if test="request.desire != null and request.desire != ''">
|
||||
AND a.desire = #{request.desire}
|
||||
</if>
|
||||
<if test="request.investRegionId != null">
|
||||
AND b.invest_region_id = #{request.investRegionId}
|
||||
</if>
|
||||
<include refid="Visit_Record_Query"/>
|
||||
</where>
|
||||
ORDER BY a.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getVisitRecordCount" resultType="java.lang.Long">
|
||||
SELECT COUNT(1)
|
||||
FROM zxjp_visit_record a
|
||||
INNER JOIN xfsg_line_info b ON a.line_id = b.id AND b.deleted = 0
|
||||
<where>
|
||||
<include refid="Visit_Record_Query"/>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getPartnerLineId" resultType="java.lang.Long">
|
||||
SELECT DISTINCT a.line_id
|
||||
FROM zxjp_visit_record a
|
||||
@@ -147,36 +160,7 @@
|
||||
FROM zxjp_visit_record a
|
||||
INNER JOIN xfsg_line_info b ON a.line_id = b.id AND b.deleted = 0
|
||||
<where>
|
||||
<if test="request.visitUserId!=null and request.visitUserId!=''">
|
||||
and a.user_id = #{request.visitUserId}
|
||||
</if>
|
||||
<if test="request.lineId != null">
|
||||
AND a.line_id = #{request.lineId}
|
||||
</if>
|
||||
<if test="request.keyword != null and request.keyword != ''">
|
||||
AND (b.mobile LIKE CONCAT('%', #{request.keyword}, '%') OR b.username LIKE CONCAT('%', #{request.keyword}, '%'))
|
||||
</if>
|
||||
<if test="request.visitNo != null and request.visitNo != ''">
|
||||
AND a.visit_no LIKE CONCAT('%', #{request.visitNo}, '%')
|
||||
</if>
|
||||
<if test="request.visitStartDate != null">
|
||||
AND a.visit_date >= #{request.visitStartDate}
|
||||
</if>
|
||||
<if test="request.visitEndDate != null">
|
||||
AND a.visit_date <= #{request.visitEndDate}
|
||||
</if>
|
||||
<if test="request.status != null">
|
||||
AND a.status = #{request.status}
|
||||
</if>
|
||||
<if test="request.userId != null">
|
||||
AND a.user_id = #{request.userId}
|
||||
</if>
|
||||
<if test="request.desire != null and request.desire != ''">
|
||||
AND a.desire = #{request.desire}
|
||||
</if>
|
||||
<if test="request.investRegionId != null">
|
||||
AND b.invest_region_id = #{request.investRegionId}
|
||||
</if>
|
||||
<include refid="Visit_Record_Query"/>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user