店员+状态码修改

This commit is contained in:
苏竹红
2023-06-15 11:36:51 +08:00
parent 81f74c54d6
commit 4356655dfd
15 changed files with 302 additions and 81 deletions

View File

@@ -30,8 +30,8 @@ public enum WorkflowStageEnum {
public static final HashMap<String,String> getWorkflowStageMap(){
HashMap<String, String> result = new HashMap<>();
result.put(INTENT.getCode(),WorkflowStatusEnum.INTENT_3.getCode());
result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_6.getCode());
result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_6.getCode());
result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_7.getCode());
result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_7.getCode());
return result;
}

View File

@@ -14,16 +14,17 @@ public enum WorkflowStatusEnum {
//预约面试阶段
RESERVATION_0("0","待预约"),
RESERVATION_6("6","到期未预约"),
RESERVATION_1("1","待审核"),
RESERVATION_7("7","到期未预约"),
//合格资格面试
INTERVIEW_1("1","待面试"),
INTERVIEW_2("2","已开始"),
INTERVIEW_3("3","待审核"),
INTERVIEW_4("4","审核中"),
INTERVIEW_5("5","审核通过"),
INTERVIEW_6("6","拒绝"),
INTERVIEW_2("2","待面试"),
INTERVIEW_3("3","已开始"),
INTERVIEW_4("4","待审核"),
INTERVIEW_5("5","审核中"),
INTERVIEW_6("6","审核通过"),
INTERVIEW_7("7","拒绝"),
;

View File

@@ -0,0 +1,34 @@
package com.cool.store.dao;
import com.cool.store.entity.HyPartnerClerkDO;
import com.cool.store.mapper.HyPartnerClerkMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 10:09
* @Version 1.0
*/
@Repository
public class HyPartnerClerkDAO {
@Resource
HyPartnerClerkMapper hyPartnerClerkMapper;
public int insertSelective( HyPartnerClerkDO record){
return hyPartnerClerkMapper.insertSelective(record);
}
public int updateByPrimaryKeySelective(HyPartnerClerkDO record){
return hyPartnerClerkMapper.updateByPrimaryKeySelective(record);
}
public List<HyPartnerClerkDO> getHyPartnerClerkList(Long lineId){
return hyPartnerClerkMapper.getHyPartnerClerkList(lineId);
}
}

View File

@@ -3,6 +3,8 @@ package com.cool.store.mapper;
import com.cool.store.entity.HyPartnerClerkDO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author zhangchenbiao
* @date 2023-05-29 03:51
@@ -22,4 +24,7 @@ public interface HyPartnerClerkMapper {
* dateTime:2023-05-29 03:51
*/
int updateByPrimaryKeySelective(@Param("record") HyPartnerClerkDO record);
List<HyPartnerClerkDO> getHyPartnerClerkList(@Param("lineId") Long lineId);
}

View File

@@ -101,4 +101,11 @@
</set>
where id = #{record.id}
</update>
<select id="getHyPartnerClerkList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"></include>
from hy_partner_clerk
where partner_line_id = #{lineId}
</select>
</mapper>

View File

@@ -0,0 +1,25 @@
package com.cool.store.service;
import com.cool.store.vo.PartnerClerkVO;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 11:05
* @Version 1.0
*/
public interface HyPartnerClerkService {
/**
* 通过线索ID查询店员信息
* @param lineId
* @return
*/
List<PartnerClerkVO> getPartnerClerkList(Long lineId);
}

View File

@@ -24,6 +24,15 @@ public interface OpenAreaService {
List<OpenAreaTreeVO> queryByKeyword(String keyword,Boolean flag);
/**
* 查询所有的开放区域 城市树
* @param keyword
* @param flag
* @return
*/
List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean flag);
/**
* 查询字列表
* @param type

View File

@@ -0,0 +1,41 @@
package com.cool.store.service.impl;
import com.cool.store.dao.HyPartnerClerkDAO;
import com.cool.store.entity.HyPartnerClerkDO;
import com.cool.store.service.HyPartnerClerkService;
import com.cool.store.vo.PartnerClerkVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 11:05
* @Version 1.0
*/
@Service
public class HyPartnerClerkImpl implements HyPartnerClerkService {
@Resource
HyPartnerClerkDAO hyPartnerClerkDAO;
@Override
public List<PartnerClerkVO> getPartnerClerkList(Long lineId) {
List<HyPartnerClerkDO> hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId);
List<PartnerClerkVO> result= new ArrayList<>();
hyPartnerClerkList.forEach(x->{
PartnerClerkVO partnerClerkVO = new PartnerClerkVO();
partnerClerkVO.setPartnerId(x.getPartnerId());
partnerClerkVO.setPartnerLineId(x.getPartnerLineId());
partnerClerkVO.setAge(x.getAge());
partnerClerkVO.setChooseReason(x.getChooseReason());
partnerClerkVO.setUsername(x.getUsername());
partnerClerkVO.setRelationship(x.getRelationship());
result.add(partnerClerkVO);
});
return result;
}
}

View File

@@ -50,7 +50,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
workflowStatus = WorkflowStatusEnum.RESERVATION_0.getCode();
}
if (CommonConstants.FOLLOW.equals(type)) {
workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode();
workflowStatus = WorkflowStatusEnum.INTERVIEW_5.getCode();
}
PageHelper.startPage(pageNumber,pageSize);
PageInfo partnerIntentApplyInfo = hyPartnerIntentInfoDAO.selectPartnerIntentApplyInfoList(userId, WorkflowStageEnum.INTENT.getCode(), workflowStatus);

View File

@@ -84,10 +84,10 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
public PageInfo<PartnerInterviewInfoVO> getQualifiedInterviewList(String userId, String type, Integer pageSize, Integer pageNumber) {
String workflowStatus = "";
if (CommonConstants.PENDING.equals(type)) {
workflowStatus = WorkflowStatusEnum.INTERVIEW_3.getCode();
workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode();
}
if (CommonConstants.FOLLOW.equals(type)) {
workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode();
workflowStatus = WorkflowStatusEnum.INTERVIEW_5.getCode();
}
PageHelper.startPage(pageNumber,pageSize);

View File

@@ -12,13 +12,11 @@ import com.cool.store.vo.OpenAreaVO;
import com.cool.store.vo.OpenProvinceVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -59,6 +57,53 @@ public class OpenAreaServiceImpl implements OpenAreaService {
return openAreaTreeVOS;
}
@Override
public List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword, Boolean flag) {
//先查出所有的一级菜单
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag);
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
Set list = new HashSet();
hyOpenAreaInfoDOS.stream().forEach(x->{
Long parentId = x.getParentId();
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId);
if (hyOpenAreaInfoDO==null&&parentId!=null){
//添加到集合中
list.add(x.getParentId());
}
});
if (CollectionUtils.isNotEmpty(list)){
//二级采单
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByIdsExcludeFirstLevel(new ArrayList<>(list));
hyOpenAreaInfoDOS.addAll(hyOpenAreaInfoDOList);
//如果二级采单是空 说明list全部是一级采单
if (CollectionUtils.isEmpty(hyOpenAreaInfoDOList)){
list.stream().forEach(x->{
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(x);
if (hyOpenAreaInfoDO==null){
hyOpenAreaInfoDOS.add(longHyOpenAreaInfoDOMap.get(x));
}
});
}
hyOpenAreaInfoDOList.stream().forEach(x->{
Long parentId = x.getParentId();
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId);
if (hyOpenAreaInfoDO==null){
HyOpenAreaInfoDO infoDO = longHyOpenAreaInfoDOMap.get(parentId);
hyOpenAreaInfoDOS.add(infoDO);
}
});
}
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
return openAreaTreeVOS;
}
@Override
public List<OpenAreaVO> getChildrenList(String type, Long parentId) {
List<HyOpenAreaInfoDO> childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId);

View File

@@ -0,0 +1,41 @@
package com.cool.store.controller;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.HyPartnerClerkService;
import com.cool.store.vo.PartnerClerkVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 11:13
* @Version 1.0
*/
@RestController
@Slf4j
public class ClerkController {
@Resource
HyPartnerClerkService hyPartnerClerkService;
@GetMapping(path = "/queryPartnerClerkInfoList")
@ApiOperation("根据线索ID 查询店员列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
})
public ResponseResult<List<PartnerClerkVO>> queryPartnerClerkInfoList(@RequestParam(value = "lineId",required = false)Long lineId){
return ResponseResult.success(hyPartnerClerkService.getPartnerClerkList(lineId));
}
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.controller;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.request.*;
import com.cool.store.response.ResponseResult;
@@ -35,15 +36,14 @@ public class DeskController {
HyPartnerLineInfoService hyPartnerLineInfoService;
@Resource
HyPartnerBaseInfoService hyPartnerBaseInfoService;
@Resource
OpenAreaService openAreaService;
@GetMapping(path = "/interviewSchedule")
@ApiOperation("面试日程信息 面试信息有限 不做分页")
public ResponseResult<InterviewScheduleInfoVO> interviewSchedule(@RequestParam(value = "userId",required = false) String userId,
@RequestParam(value = "selectedData",required = false) Date selectedData){
public ResponseResult<InterviewScheduleInfoVO> interviewSchedule(@RequestParam(value = "selectedData",required = false) Date selectedData){
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(deskService.interviewSchedule(userId,selectedData));
}
@@ -60,10 +60,8 @@ public class DeskController {
@GetMapping(path = "/queryInterviewPlan")
@ApiOperation("是否有面试与临期线索")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "招商经理ID", required = false),
})
public ResponseResult<InterviewPlanVO> queryInterviewPlanVO(@RequestParam(value = "userId",required = false)String userId){
public ResponseResult<InterviewPlanVO> queryInterviewPlanVO(){
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(deskService.getInterviewPlan(userId));
}
@@ -78,7 +76,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerIntentApplyInfoVO>> queryIntentApplyList(@RequestParam(value = "type",required = false)String type,
@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = "";
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyList(userId,type,pageSize,pageNumber));
}
@@ -88,7 +86,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerInterviewInfoVO>> querySubscribeInterviewTimeList(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = "";
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerInterviewPlanService.getPartnerInterviewInfoList(userId,pageSize,pageNumber));
}
@@ -100,7 +98,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerInterviewInfoVO>> queryQualifiedInterviewList(@RequestParam(value = "type",required = false)String type,
@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = "";
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerInterviewPlanService.getQualifiedInterviewList(userId,type,pageSize,pageNumber));
}
@@ -158,7 +156,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerLineInfoVO>> lastMonthCloseLine(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = "";
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerLineInfoService.lastMonthCloseLine(userId,pageSize,pageNumber));
}
@@ -242,56 +240,4 @@ public class DeskController {
return ResponseResult.success(hyPartnerBaseInfoService.addTags(addTagsRequest));
}
// TODO: 2023/6/13 添加根据线索查询店员接口列表接口
// @GetMapping(path = "/queryPartnerIntentApplyInfo")
// @ApiOperation("查看意向审核信息")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
// })
// public ResponseResult<PartnerSummaryInfoVO> queryPartnerIntentApplyInfo(@RequestParam(value = "lineId",required = false)Long lineId){
//
// return ResponseResult.success();
// }
@GetMapping(path = "/getOpenAreaTree")
@ApiOperation("开放城市树-搜索城市")
@ApiImplicitParams({
@ApiImplicitParam(name = "keyWord", value = "搜索关键字", required = false)
})
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaTree(@RequestParam(value = "keyWord",required = false)String keyWord){
return ResponseResult.success(openAreaService.queryByKeyword(keyWord,Boolean.TRUE));
}
@GetMapping(path = "/getOpenAreaList")
@ApiOperation("开放城市树-子列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "parentId", value = "父区域名称", required = false),
@ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false)
})
public ResponseResult<List<OpenAreaVO>> getOpenAreaList(@RequestParam(value = "parentId",required = false)Long parentId,
@RequestParam(value = "type",required = false)String type){
return ResponseResult.success(openAreaService.getChildrenList(type,parentId));
}
@PostMapping(path = "/changeOpenAreaStatus")
@ApiOperation("变更开放区域状态")
public ResponseResult<Boolean> changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){
String userId = "";
return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest));
}
}

View File

@@ -0,0 +1,67 @@
package com.cool.store.controller;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.request.OpenAreaRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.OpenAreaService;
import com.cool.store.vo.OpenAreaTreeVO;
import com.cool.store.vo.OpenAreaVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 9:49
* @Version 1.0
*/
@RestController
public class OpenAreaController {
@Resource
OpenAreaService openAreaService;
@GetMapping(path = "/getOpenAreaTree")
@ApiOperation("开放城市树-搜索城市 到第二节点")
@ApiImplicitParams({
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false)
})
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){
return ResponseResult.success(openAreaService.queryByKeyword(keyword,Boolean.TRUE));
}
@GetMapping(path = "/getAllOpenAreaTree")
@ApiOperation("开放城市树-所有节点")
@ApiImplicitParams({
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false)
})
public ResponseResult<List<OpenAreaTreeVO>> getAllOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){
return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE));
}
@GetMapping(path = "/getOpenAreaList")
@ApiOperation("开放城市树-子列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "parentId", value = "父区域名称", required = false),
@ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false)
})
public ResponseResult<List<OpenAreaVO>> getOpenAreaList(@RequestParam(value = "parentId",required = false)Long parentId,
@RequestParam(value = "type",required = false)String type){
return ResponseResult.success(openAreaService.getChildrenList(type,parentId));
}
@PostMapping(path = "/changeOpenAreaStatus")
@ApiOperation("变更开放区域状态")
public ResponseResult<Boolean> changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest));
}
}

View File

@@ -51,7 +51,7 @@ public class OpenAreaController {
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false),
})
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword){
List<OpenAreaTreeVO> openAreaTreeVOS = openAreaService.queryByKeyword(keyword,Boolean.FALSE);
List<OpenAreaTreeVO> openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE);
return ResponseResult.success(openAreaTreeVOS);
}