This commit is contained in:
zhangchenbiao
2024-04-07 15:41:12 +08:00
parent bb1ef733c6
commit ca87658f5e
38 changed files with 1664 additions and 74 deletions

View File

@@ -11,7 +11,9 @@ import com.cool.store.request.LineListRequest;
import com.cool.store.request.PartnerRequest;
import com.cool.store.request.PublicLineListRequest;
import com.cool.store.vo.PublicLineListVO;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -64,6 +66,15 @@ public class LineInfoDAO {
return lineInfoMapper.updateByPrimaryKeySelective(lineInfo);
}
public Integer batchUpdateInterviewWorkflowStage(List<Long> lineIds, WorkflowSubStageEnum workflowSubStage, WorkflowSubStageStatusEnum workflowSubStageStatus) {
if(Objects.isNull(workflowSubStageStatus) || CollectionUtils.isEmpty(lineIds)){
log.info("更新线索阶段,子阶段 和 子阶段状态不能同时为空");
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
return lineInfoMapper.batchUpdateInterviewWorkflowStage(lineIds, workflowSubStage.getCode(), workflowSubStageStatus.getCode());
}
public Integer updateWorkflowStageAndInterviewer(Long lineId, WorkflowSubStageStatusEnum workflowSubStageStatus, String firstInterviewer, String secondInterviewer) {
LineInfoDO lineInfo = new LineInfoDO();
lineInfo.setId(lineId);
@@ -115,4 +126,8 @@ public class LineInfoDAO {
public void insertOrUpdate(LineInfoDO lineInfoParam){
lineInfoMapper.insertOrUpdate(lineInfoParam);
}
public List<LineInfoDO> getLineListByDevelopmentManager(String developmentManager) {
return Lists.newArrayList();
}
}

View File

@@ -2,6 +2,7 @@ package com.cool.store.dao;
import com.cool.store.dto.interview.LineInterviewPageDTO;
import com.cool.store.entity.LineInterviewDO;
import com.cool.store.enums.InterviewStatusEnum;
import com.cool.store.enums.InterviewTypeEnum;
import com.cool.store.mapper.LineInterviewMapper;
import com.cool.store.request.LineInterviewPageRequest;
@@ -82,4 +83,15 @@ public class LineInterviewDAO {
public List<LineInterviewDO> getInterviewByLineId(Long lineId){
return lineInterviewMapper.getInterviewByLineId(lineId);
}
public List<LineInterviewDO> getWaitAuditInterview(){
return lineInterviewMapper.getWaitAuditInterview();
}
public Integer batchUpdateInterviewStatus(List<Long> interviewIds, InterviewStatusEnum interviewStatus) {
if(CollectionUtils.isEmpty(interviewIds) || Objects.isNull(interviewIds)){
return null;
}
return lineInterviewMapper.batchUpdateInterviewStatus(interviewIds, interviewStatus.getCode());
}
}

View File

@@ -0,0 +1,60 @@
package com.cool.store.dao;
import com.cool.store.entity.PointAuditRecordDO;
import com.cool.store.enums.AuditStatusEnum;
import com.cool.store.enums.NodeNoEnum;
import com.cool.store.mapper.PointAuditRecordMapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Repository
public class PointAuditRecordDAO {
@Resource
private PointAuditRecordMapper pointAuditRecordMapper;
/**
* 新增审批记录
* @param historyList
*/
public void addPointAuditRecord(List<PointAuditRecordDO> recordList) {
pointAuditRecordMapper.batchInsertSelective(recordList);
}
public List<PointAuditRecordDO> getPointAuditRecord(Long pointId, Integer cycleCount) {
if(Objects.isNull(pointId)){
return Lists.newArrayList();
}
return pointAuditRecordMapper.getPointAuditRecord(pointId, cycleCount);
}
public Map<Integer, PointAuditRecordDO> getPointAuditRecordMap(Long pointId, Integer cycleCount) {
if(Objects.isNull(pointId) || Objects.isNull(cycleCount)){
return Maps.newHashMap();
}
List<PointAuditRecordDO> pointAuditRecord = pointAuditRecordMapper.getPointAuditRecord(pointId, cycleCount);
return pointAuditRecord.stream().collect(Collectors.toMap(k->k.getNodeNo(), v->v));
}
public Integer updatePointAuditRecord(PointAuditRecordDO param) {
if(Objects.isNull(param) || Objects.isNull(param.getId())){
return null;
}
return pointAuditRecordMapper.updateByPrimaryKeySelective(param);
}
public Integer deletePointAuditRecord(Long pointId, Integer cycleCount) {
if(Objects.isNull(pointId) || Objects.isNull(cycleCount)){
return null;
}
return pointAuditRecordMapper.deletePointAuditRecord(pointId, cycleCount);
}
}

View File

@@ -0,0 +1,45 @@
package com.cool.store.dao;
import com.cool.store.entity.PointTodoInfoDO;
import com.cool.store.enums.NodeNoEnum;
import com.cool.store.mapper.PointTodoInfoMapper;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
@Repository
public class PointTodoInfoDAO {
@Resource
private PointTodoInfoMapper pointTodoInfoMapper;
public Integer addPointTodoInfo(List<PointTodoInfoDO> todoList) {
if(CollectionUtils.isEmpty(todoList)){
return null;
}
return pointTodoInfoMapper.batchInsertSelective(todoList);
}
public List<String> getTodoUserList(Long pointId) {
return pointTodoInfoMapper.getTodoUserList(pointId);
}
public List<PointTodoInfoDO> getTodoList(Long pointId) {
return pointTodoInfoMapper.getTodoList(pointId);
}
public Integer updatePointTodoInfo(Long pointId, Integer nodeNo, Integer cycleCount, String handlerUserId) {
return pointTodoInfoMapper.updatePointTodoInfo(pointId, nodeNo, cycleCount, handlerUserId);
}
public PointTodoInfoDO getPointToDoByUserIdAndPointId(String userId, Long pointId){
if(StringUtils.isBlank(userId) || Objects.isNull(pointId)){
return null;
}
return pointTodoInfoMapper.getPointToDoByUserIdAndPointId(userId, pointId);
}
}

View File

@@ -62,4 +62,6 @@ public interface LineInfoMapper extends Mapper<LineInfoDO> {
void toExperiencing(@Param("lineIds") List<Long> lineIds,
@Param("code") Integer code);
Integer batchUpdateInterviewWorkflowStage(@Param("lineIds") List<Long> lineIds, @Param("workflowSubStage")Integer workflowSubStage, @Param("workflowSubStageStatus")Integer workflowSubStageStatus);
}

View File

@@ -48,5 +48,24 @@ public interface LineInterviewMapper extends Mapper<LineInterviewDO> {
*/
Integer deleteInterviewInfo(@Param("interviewId")Long interviewId);
/**
* 获取面试信息
* @param lineId
* @return
*/
List<LineInterviewDO> getInterviewByLineId(@Param("lineId") Long lineId);
/**
* 获取待审核面试信息
* @return
*/
List<LineInterviewDO> getWaitAuditInterview();
/**
* 批量更新面试状态
* @param interviewIds
* @param interviewStatus
* @return
*/
Integer batchUpdateInterviewStatus(@Param("interviewIds") List<Long> interviewIds, @Param("interviewStatus") Integer interviewStatus);
}

View File

@@ -0,0 +1,34 @@
package com.cool.store.mapper;
import com.cool.store.entity.PointAuditRecordDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.Date;
import java.util.List;
public interface PointAuditRecordMapper extends Mapper<PointAuditRecordDO> {
/**
* 批量插入
* @param addList
* @return
*/
Integer batchInsertSelective(@Param("addList") List<PointAuditRecordDO> addList);
/**
* 获取处理记录
* @param pointId
* @param cycleCount
* @return
*/
List<PointAuditRecordDO> getPointAuditRecord(@Param("pointId") Long pointId, @Param("cycleCount")Integer cycleCount);
/**
* 删除未完成的处理记录
* @param pointId
* @param cycleCount
* @return
*/
Integer deletePointAuditRecord(@Param("pointId") Long pointId, @Param("cycleCount") Integer cycleCount);
}

View File

@@ -0,0 +1,49 @@
package com.cool.store.mapper;
import com.cool.store.entity.PointTodoInfoDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface PointTodoInfoMapper extends Mapper<PointTodoInfoDO> {
/**
* 批量插入
* @param addList
* @return
*/
Integer batchInsertSelective(@Param("addList") List<PointTodoInfoDO> addList);
/**
* 获取待办用户列表
* @param pointId
* @return
*/
List<String> getTodoUserList(@Param("pointId") Long pointId);
/**
* 获取待办列表
* @param pointId
* @return
*/
List<PointTodoInfoDO> getTodoList(@Param("pointId") Long pointId);
/**
* 更新待办
* @param pointId
* @param code
* @param cycleCount
* @param handlerUserId
* @return
*/
Integer updatePointTodoInfo(@Param("pointId") Long pointId, @Param("nodeNo") Integer nodeNo, @Param("cycleCount") Integer cycleCount, @Param("handlerUserId") String handlerUserId);
/**
* 获取用户关于某个铺位的待办
* @param userId
* @param pointId
* @return
*/
PointTodoInfoDO getPointToDoByUserIdAndPointId(String userId, Long pointId);
}

View File

@@ -427,5 +427,13 @@
and investment_manager = #{request.lastInvestmentManagerUserId}
</if>
</select>
<update id="batchUpdateInterviewWorkflowStage">
update xfsg_line_info set workflow_sub_stage = #{workflowSubStage}, workflow_sub_stage_status = #{workflowSubStageStatus} where id in
<foreach collection="lineIds" item="lineId" open="(" separator="," close=")">
#{lineId}
</foreach>
and workflow_sub_stage_status = 15 and workflow_sub_stage = 5
</update>
</mapper>

View File

@@ -112,4 +112,15 @@
and deleted = '0'
</select>
<select id="getWaitAuditInterview" resultMap="BaseResultMap">
select id, line_id from xfsg_line_interview where interview_status = 1 and deleted = '0' and interview_type = 0 and now() >= end_time
</select>
<update id="batchUpdateInterviewStatus">
update xfsg_line_interview set interview_status = #{interviewStatus} where id in
<foreach collection="interviewIds" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</update>
</mapper>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.PointAuditRecordMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.PointAuditRecordDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="point_id" jdbcType="BIGINT" property="pointId" />
<result column="node_no" jdbcType="INTEGER" property="nodeNo" />
<result column="cycle_count" jdbcType="TINYINT" property="cycleCount" />
<result column="action_remark" jdbcType="VARCHAR" property="actionRemark" />
<result column="handler_user_id" jdbcType="VARCHAR" property="handlerUserId" />
<result column="handler_user_ids" jdbcType="VARCHAR" property="handlerUserIds" />
<result column="receive_task_time" jdbcType="TIMESTAMP" property="receiveTaskTime" />
<result column="finish_task_time" jdbcType="TIMESTAMP" property="finishTaskTime" />
<result column="audit_status" jdbcType="TINYINT" property="auditStatus" />
<result column="sign_time" jdbcType="TIMESTAMP" property="signTime" />
<result column="sign_address" jdbcType="VARCHAR" property="signAddress" />
<result column="picture_url" jdbcType="VARCHAR" property="pictureUrl" />
<result column="reason" jdbcType="VARCHAR" property="reason" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<insert id="batchInsertSelective">
<foreach collection="addList" item="item" separator=";">
insert into xfsg_point_audit_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="item.pointId != null">
point_id,
</if>
<if test="item.nodeNo != null">
node_no,
</if>
<if test="item.cycleCount != null">
cycle_count,
</if>
<if test="item.actionRemark != null">
action_remark,
</if>
<if test="item.handlerUserId != null">
handler_user_id,
</if>
<if test="item.handlerUserIds != null">
handler_user_ids,
</if>
<if test="item.receiveTaskTime != null">
receive_task_time,
</if>
<if test="item.finishTaskTime != null">
finish_task_time,
</if>
<if test="item.auditStatus != null">
audit_status,
</if>
<if test="item.signTime != null">
sign_time,
</if>
<if test="item.signAddress != null">
sign_address,
</if>
<if test="item.pictureUrl != null">
picture_url,
</if>
<if test="item.reason != null">
reason,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="item.pointId != null">
#{item.pointId},
</if>
<if test="item.nodeNo != null">
#{item.nodeNo},
</if>
<if test="item.cycleCount != null">
#{item.cycleCount},
</if>
<if test="item.actionRemark != null">
#{item.actionRemark},
</if>
<if test="item.handlerUserId != null">
#{item.handlerUserId},
</if>
<if test="item.handlerUserIds != null">
#{item.handlerUserIds},
</if>
<if test="item.receiveTaskTime != null">
#{item.receiveTaskTime},
</if>
<if test="item.finishTaskTime != null">
#{item.finishTaskTime},
</if>
<if test="item.auditStatus != null">
#{item.auditStatus},
</if>
<if test="item.signTime != null">
#{item.signTime},
</if>
<if test="item.signAddress != null">
#{item.signAddress},
</if>
<if test="item.pictureUrl != null">
#{item.pictureUrl},
</if>
<if test="item.reason != null">
#{item.reason},
</if>
</trim>
</foreach>
</insert>
<select id="getPointAuditRecord" resultMap="BaseResultMap">
select
id, point_id, node_no, cycle_count, action_remark, handler_user_id, handler_user_ids, receive_task_time, finish_task_time, audit_status, sign_time, sign_address, picture_url, reason
from
xfsg_point_audit_record
where
point_id = #{pointId} and deleted = 0
<if test="cycleCount != null">
and cycle_count = #{cycleCount}
</if>
order by node_no asc
</select>
<update id="deletePointAuditRecord">
update xfsg_point_audit_record set deleted = 1 where point_id = #{pointId} and cycle_count = #{cycleCount} and audit_status = 0
</update>
</mapper>

View File

@@ -44,10 +44,10 @@
<result column="brand_use_rate" jdbcType="VARCHAR" property="brandUseRate" />
<result column="brand_use_fee" jdbcType="VARCHAR" property="brandUseFee" />
<result column="staff_fee" jdbcType="VARCHAR" property="staffFee" />
<result column="shop_manager_num" jdbcType="VARCHAR" property="shopManagerNum" />
<result column="shop_manager_fee" jdbcType="VARCHAR" property="shopManagerFee" />
<result column="clerk_num" jdbcType="VARCHAR" property="clerkNum" />
<result column="clerk_fee" jdbcType="VARCHAR" property="clerkFee" />
<result column="shop_manager_num" jdbcType="INTEGER" property="shopManagerNum" />
<result column="shop_manager_fee" jdbcType="INTEGER" property="shopManagerFee" />
<result column="clerk_num" jdbcType="INTEGER" property="clerkNum" />
<result column="clerk_fee" jdbcType="INTEGER" property="clerkFee" />
<result column="bonus" jdbcType="VARCHAR" property="bonus" />
<result column="month_rent" jdbcType="VARCHAR" property="monthRent" />
<result column="other_fee" jdbcType="VARCHAR" property="otherFee" />

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.PointTodoInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.PointTodoInfoDO">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="point_id" jdbcType="BIGINT" property="pointId" />
<result column="node_no" jdbcType="INTEGER" property="nodeNo" />
<result column="handler_user_id" jdbcType="VARCHAR" property="handlerUserId" />
<result column="status" jdbcType="TINYINT" property="status" />
<result column="cycle_count" jdbcType="TINYINT" property="cycleCount" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<insert id="batchInsertSelective">
<foreach collection="addList" separator=";" item="item">
insert into xfsg_point_todo_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="item.pointId != null">
point_id,
</if>
<if test="item.nodeNo != null">
node_no,
</if>
<if test="item.handlerUserId != null">
handler_user_id,
</if>
<if test="item.status != null">
status,
</if>
<if test="item.cycleCount != null">
cycle_count,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="item.pointId != null">
#{item.pointId},
</if>
<if test="item.nodeNo != null">
#{item.nodeNo},
</if>
<if test="item.handlerUserId != null">
#{item.handlerUserId},
</if>
<if test="item.status != null">
#{item.status},
</if>
<if test="item.cycleCount != null">
#{item.cycleCount},
</if>
</trim>
</foreach>
</insert>
<select id="getTodoUserList" resultType="java.lang.String">
select handler_user_id from xfsg_point_todo_info where point_id = #{pointId} and status = 0 and deleted = 0
</select>
<select id="getTodoList" resultMap="BaseResultMap">
select * from xfsg_point_todo_info where point_id = #{pointId} and status = 0 and deleted = 0
</select>
<select id="getPointToDoByUserIdAndPointId" resultMap="BaseResultMap">
select * from xfsg_point_todo_info where point_id = #{pointId} and handler_user_id = #{userId} and status = 0 and deleted = 0
</select>
<update id="updatePointTodoInfo">
update xfsg_point_todo_info set status = if(handler_user_id = #{handlerUserId}, 1, 2), update_time = now() where point_id = #{pointId} and node_no = #{nodeNo} and cycle_count = #{cycleCount} and deleted = 0
</update>
</mapper>

View File

@@ -3,6 +3,6 @@ jdbc.url = jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcoll
jdbc.user= coolstore
jdbc.password = CSCErYcXniNYm7bT
table.name = xfsg_shop_point_recommend
table.object.class = ShopPointRecommendDO
table.mapper = ShopPointRecommendMapper
table.name = xfsg_point_deal_record
table.object.class = PointDealRecordDO
table.mapper = PointDealRecordMapper