Merge remote-tracking branch 'origin/dev/feat/partner1.3_20230828' into dev/feat/partner1.3_20230828
This commit is contained in:
@@ -46,7 +46,7 @@ public enum ErrorCodeEnum {
|
|||||||
GET_INFO_ERROR(1021078, "获取信息异常", null),
|
GET_INFO_ERROR(1021078, "获取信息异常", null),
|
||||||
GET_PHONENUMBER_INFO_ERROR(1021079, "手机号归属地获取异常", null),
|
GET_PHONENUMBER_INFO_ERROR(1021079, "手机号归属地获取异常", null),
|
||||||
IDENTITY_CARD_PARSE_FAIL(1021080, "身份证解析失败", null),
|
IDENTITY_CARD_PARSE_FAIL(1021080, "身份证解析失败", null),
|
||||||
WECHAT_BIND_OTHER_MOBILE(1021081, "该微信已绑定其它手机号,请核对", null),
|
WECHAT_BIND_OTHER_MOBILE(1021081, "授权号码有误,请核对", null),
|
||||||
PARAMS_REQUIRED(400002, "参数缺失!", null),
|
PARAMS_REQUIRED(400002, "参数缺失!", null),
|
||||||
DATA_CONVERT_ERROR(400002, "日期转换异常!", null),
|
DATA_CONVERT_ERROR(400002, "日期转换异常!", null),
|
||||||
PARENT_NODE_NOT_EXIST(400002, "父节点不存在", null),
|
PARENT_NODE_NOT_EXIST(400002, "父节点不存在", null),
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.cool.store.enums;
|
package com.cool.store.enums;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: young.yu
|
* @Author: young.yu
|
||||||
* @Date: 2023-07-19 16:49
|
* @Date: 2023-07-19 16:49
|
||||||
@@ -7,34 +9,40 @@ package com.cool.store.enums;
|
|||||||
*/
|
*/
|
||||||
public enum FeiShuNoticeMsgEnum {
|
public enum FeiShuNoticeMsgEnum {
|
||||||
|
|
||||||
//分配招商经理
|
common_notice("工作台通知", "{0}", "img_v2_45d7a901-1eab-498b-a760-b38d287f0c1g"),
|
||||||
ALLOCATION_INVESTMENT_MANAGER("分配招商经理", "有新的线索 于 {0} 分配给您,线索信息{1}手机号{2},请及时跟进"),
|
ALLOCATION_INVESTMENT_MANAGER("分配招商经理", "有新的线索 于 {0} 分配给您,线索信息{1}手机号{2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g"),
|
||||||
//转让招商经理
|
TRANS_INVESTMENT_MANAGER("转让招商经理", "有新的线索 于 {0} 转让给您,线索信息{1}手机号{2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g"),
|
||||||
TRANS_INVESTMENT_MANAGER("转让招商经理", "有新的线索 于 {0} 转让给您,线索信息{1}手机号{2},请及时跟进"),
|
INTENTION_APPLY("加盟意向申请", "您有一个【加盟意向申请】待审核,申请人{0}手机号{1}于 {2} 提交加盟意向申请,请及时处理", "img_v2_69eb6e5f-bf12-4a02-a47f-b17ce24fcfeg"),
|
||||||
//意向申请通知
|
FOLLOW_TASK("线索跟进任务", "{0}", "img_v2_1960b7ef-8c4e-4c3d-8b67-3d918a85578g"),
|
||||||
INTENTION_APPLY("加盟意向申请", "您有一个【加盟意向申请】待审核,申请人{0}手机号{1}于 {2} 提交加盟意向申请,请及时处理");
|
INTERVIEW_APPOINTMENT("面试预约申请", "{0}","img_v2_107bb06b-2a7a-43e1-a6ae-e5d2f2dae17g"),
|
||||||
|
;
|
||||||
|
|
||||||
private String title;
|
private String title;
|
||||||
private String content;
|
private String content;
|
||||||
|
private String imageMediaId;
|
||||||
|
|
||||||
FeiShuNoticeMsgEnum(String title, String content) {
|
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId) {
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.content = content;
|
this.content = content;
|
||||||
|
this.imageMediaId = imageMediaId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitle() {
|
public String getTitle() {
|
||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTitle(String title) {
|
|
||||||
this.title = title;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getContent() {
|
public String getContent() {
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setContent(String content) {
|
public String getImageMediaId() {
|
||||||
this.content = content;
|
return imageMediaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONObject getMessageObject() {
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("name", this.title);
|
||||||
|
object.put("imageMediaId", this.imageMediaId);
|
||||||
|
return object;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,61 +0,0 @@
|
|||||||
package com.cool.store.enums;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author zhangchenbiao
|
|
||||||
* @FileName: MessageTypeEnum
|
|
||||||
* @Description:
|
|
||||||
* @date 2023-06-15 10:14
|
|
||||||
*/
|
|
||||||
public enum MessageTypeEnum {
|
|
||||||
|
|
||||||
SCHEDULE_REMINDER("schedule_reminder", "日历提醒事件", "img_v2_0709ece3-77a8-49a4-820f-f245b2a4fdag"),
|
|
||||||
FOLLOW_TASK("follow_task", "跟进任务提醒", "img_v2_0709ece3-77a8-49a4-820f-f245b2a4fdag")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
private String code;
|
|
||||||
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
private String imageMediaId;
|
|
||||||
|
|
||||||
MessageTypeEnum(String code, String name, String imageMediaId) {
|
|
||||||
this.code = code;
|
|
||||||
this.name = name;
|
|
||||||
this.imageMediaId = imageMediaId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCode() {
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getImageMediaId() {
|
|
||||||
return imageMediaId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getImageMediaId(String code){
|
|
||||||
for (MessageTypeEnum value : MessageTypeEnum.values()) {
|
|
||||||
if(value.code.equals(code)){
|
|
||||||
return value.imageMediaId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public JSONObject getMessageTypeObject() {
|
|
||||||
JSONObject object = new JSONObject();
|
|
||||||
object.put("code", this.code);
|
|
||||||
object.put("name", this.name);
|
|
||||||
object.put("imageMediaId", this.imageMediaId);
|
|
||||||
return object;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -122,18 +122,18 @@ public class HyFollowTaskDAO {
|
|||||||
* 分页获取任务
|
* 分页获取任务
|
||||||
* @param followUserId
|
* @param followUserId
|
||||||
* @param taskStatus
|
* @param taskStatus
|
||||||
* @param deadlineStartTIme
|
* @param deadlineStartTime
|
||||||
* @param deadlineEndTIme
|
* @param deadlineEndTime
|
||||||
* @param pageNum
|
* @param pageNum
|
||||||
* @param pageSize
|
* @param pageSize
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Page<HyFollowTaskDO> getTaskPage(String followUserId, Integer taskStatus, String deadlineStartTIme, String deadlineEndTIme, Integer pageNum, Integer pageSize){
|
public Page<HyFollowTaskDO> getTaskPage(String followUserId, Integer taskStatus, String deadlineStartTime, String deadlineEndTime, Integer pageNum, Integer pageSize){
|
||||||
if(StringUtils.isBlank(followUserId)){
|
if(StringUtils.isBlank(followUserId)){
|
||||||
return new Page<>();
|
return new Page<>();
|
||||||
}
|
}
|
||||||
PageHelper.startPage(pageNum, pageSize);
|
PageHelper.startPage(pageNum, pageSize);
|
||||||
return hyFollowTaskMapper.getTaskPage(followUserId, taskStatus, deadlineStartTIme, deadlineEndTIme);
|
return hyFollowTaskMapper.getTaskPage(followUserId, taskStatus, deadlineStartTime, deadlineEndTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -138,9 +138,10 @@ public class HyPartnerLineInfoDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<PrivateSeaLineDTO> getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, String deadlineStart, String deadlineEnd,
|
public List<PrivateSeaLineDTO> getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, String deadlineStart, String deadlineEnd,
|
||||||
String intentAreaName, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List<String> userIdList,List<String> developmentManagerList,List<Long> userPortraitIdList){
|
String intentAreaName, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List<String> userIdList,
|
||||||
|
List<String> developmentManagerList,List<Long> userPortraitIdList,List<Long> userChannelIdList){
|
||||||
return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd,
|
return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd,
|
||||||
intentAreaName, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList,userPortraitIdList);
|
intentAreaName, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList,userPortraitIdList,userChannelIdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.cool.store.dao;
|
||||||
|
|
||||||
|
import com.cool.store.entity.HyPartnerUserChannelDO;
|
||||||
|
import com.cool.store.mapper.HyPartnerUserChannelMapper;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2023/8/21 11:38
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public class HyPartnerUserChannelDAO {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
HyPartnerUserChannelMapper hyPartnerUserChannelMapper;
|
||||||
|
|
||||||
|
public Map<Integer, String> getChannelMapByIds(List<Integer> userChannelIds){
|
||||||
|
if (CollectionUtils.isEmpty(userChannelIds)){
|
||||||
|
return new HashMap<>(1);
|
||||||
|
}
|
||||||
|
List<HyPartnerUserChannelDO> userChannelList = hyPartnerUserChannelMapper.getUserChannelByIds(userChannelIds);
|
||||||
|
Map<Integer, String> channelMap = userChannelList.stream().filter(date->date.getChannelId()!=null).collect(Collectors.toMap(x->x.getChannelId().intValue(), HyPartnerUserChannelDO::getChannelName));
|
||||||
|
return channelMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -38,11 +38,11 @@ public interface HyFollowTaskMapper {
|
|||||||
* 获取任务列表
|
* 获取任务列表
|
||||||
* @param followUserId
|
* @param followUserId
|
||||||
* @param taskStatus
|
* @param taskStatus
|
||||||
* @param deadlineStartTIme
|
* @param deadlineStartTime
|
||||||
* @param deadlineEndTIme
|
* @param deadlineEndTime
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Page<HyFollowTaskDO> getTaskPage(@Param("followUserId")String followUserId, @Param("taskStatus")Integer taskStatus, @Param("deadlineStartTIme")String deadlineStartTIme, @Param("deadlineEndTIme")String deadlineEndTIme);
|
Page<HyFollowTaskDO> getTaskPage(@Param("followUserId")String followUserId, @Param("taskStatus")Integer taskStatus, @Param("deadlineStartTime")String deadlineStartTime, @Param("deadlineEndTime")String deadlineEndTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取跟进任务详情
|
* 获取跟进任务详情
|
||||||
|
|||||||
@@ -176,7 +176,8 @@ public interface HyPartnerLineInfoMapper {
|
|||||||
@Param("storeKeywordType") String storeKeywordType,
|
@Param("storeKeywordType") String storeKeywordType,
|
||||||
@Param("userIdList") List<String> userIdList,
|
@Param("userIdList") List<String> userIdList,
|
||||||
@Param("developmentManagerList") List<String> developmentManagerList,
|
@Param("developmentManagerList") List<String> developmentManagerList,
|
||||||
@Param("userPortraitIdList") List<Long> userPortraitIdList);
|
@Param("userPortraitIdList") List<Long> userPortraitIdList,
|
||||||
|
@Param("userChannelIdList") List<Long> userChannelIdList);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -151,11 +151,11 @@
|
|||||||
<if test="taskStatus != null">
|
<if test="taskStatus != null">
|
||||||
and task_status = #{taskStatus}
|
and task_status = #{taskStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="deadlineStartTIme != null">
|
<if test="deadlineStartTime != null">
|
||||||
and deadline >= #{deadlineStartTIme}
|
and deadline >= #{deadlineStartTime}
|
||||||
</if>
|
</if>
|
||||||
<if test="deadlineEndTIme != null">
|
<if test="deadlineEndTime != null">
|
||||||
<![CDATA[ and deadline <= #{deadlineEndTIme}]]>
|
<![CDATA[ and deadline <= #{deadlineEndTime}]]>
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="updateUndoTaskStatusToOverdue">
|
<update id="updateUndoTaskStatusToOverdue">
|
||||||
<![CDATA[ update hy_follow_task set task_status = '2' where task_status = '0' and deadline < now() ]]>
|
<![CDATA[ update hy_follow_task set task_status = '2' where task_status = '0' and deadline <= now() ]]>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="getFollowTaskList" resultMap="BaseResultMap">
|
<select id="getFollowTaskList" resultMap="BaseResultMap">
|
||||||
|
|||||||
@@ -552,6 +552,11 @@
|
|||||||
bi.user_portrait like concat("%,", #{userPortraitId}, ",%")
|
bi.user_portrait like concat("%,", #{userPortraitId}, ",%")
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="userChannelIdList!=null and userChannelIdList.size>0">
|
||||||
|
<foreach collection="userChannelIdList" open="and hpuinfo.user_channel_id in (" close=")" separator="," item="userChannelId">
|
||||||
|
#{userChannelId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
<if test="userIdList!=null and userIdList.size==0 and developmentManagerList!=null and developmentManagerList.size>0">
|
<if test="userIdList!=null and userIdList.size==0 and developmentManagerList!=null and developmentManagerList.size>0">
|
||||||
<foreach collection="developmentManagerList" item="developmentManager" open="and hpli.development_manager in (" close=")" separator=",">
|
<foreach collection="developmentManagerList" item="developmentManager" open="and hpli.development_manager in (" close=")" separator=",">
|
||||||
#{developmentManager}
|
#{developmentManager}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.cool.store.dto.message;
|
package com.cool.store.dto.message;
|
||||||
|
|
||||||
import com.cool.store.enums.MessageTypeEnum;
|
import com.cool.store.enums.FeiShuNoticeMsgEnum;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ public class SendCardMessageDTO {
|
|||||||
@ApiModelProperty("消息内容")
|
@ApiModelProperty("消息内容")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
@ApiModelProperty("消息类型, MessageTypeEnum")
|
@ApiModelProperty("消息类型, FeiShuNoticeMsgEnum")
|
||||||
private MessageTypeEnum messageType;
|
private FeiShuNoticeMsgEnum messageType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,5 +48,7 @@ public class PrivateSeaLineListRequest extends PageInfoRequest {
|
|||||||
|
|
||||||
private List<Long> userPortraitIdList;
|
private List<Long> userPortraitIdList;
|
||||||
|
|
||||||
|
private List<Long> userChannelIdList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ public class PartnerIntentApplyInfoVO {
|
|||||||
private String userChannelName;
|
private String userChannelName;
|
||||||
|
|
||||||
public static List<PartnerIntentApplyInfoVO> convertList(List<PartnerIntentApplyInfoDTO> list, Map<String, String> wantShopAreaNameMap, String workflowStatus,
|
public static List<PartnerIntentApplyInfoVO> convertList(List<PartnerIntentApplyInfoDTO> list, Map<String, String> wantShopAreaNameMap, String workflowStatus,
|
||||||
Map<Long, String> userChannelMap,Map<Long,String> userPortraitMap ){
|
Map<Integer, String> userChannelMap,Map<Long,String> userPortraitMap ){
|
||||||
if(CollectionUtils.isEmpty(list)){
|
if(CollectionUtils.isEmpty(list)){
|
||||||
return Lists.newArrayList();
|
return Lists.newArrayList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ public class PrivateSeaLineListVo {
|
|||||||
|
|
||||||
|
|
||||||
public static List<PrivateSeaLineListVo> convertList(List<PrivateSeaLineDTO> list, Map<String, String> finalDevManagerMap, Map<String, String> wantShopAreaNameMap,
|
public static List<PrivateSeaLineListVo> convertList(List<PrivateSeaLineDTO> list, Map<String, String> finalDevManagerMap, Map<String, String> wantShopAreaNameMap,
|
||||||
Map<Long, HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOMap,Map<Long, String> channelMap,Map<Long, String> userPortraitMap){
|
Map<Long, HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOMap,Map<Integer, String> channelMap,Map<Long, String> userPortraitMap){
|
||||||
List<PrivateSeaLineListVo> resultList = new ArrayList<>();
|
List<PrivateSeaLineListVo> resultList = new ArrayList<>();
|
||||||
for (PrivateSeaLineDTO x : list) {
|
for (PrivateSeaLineDTO x : list) {
|
||||||
PrivateSeaLineListVo privateSeaLineListVo = new PrivateSeaLineListVo();
|
PrivateSeaLineListVo privateSeaLineListVo = new PrivateSeaLineListVo();
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import com.cool.store.dto.enterprise.SysDepartmentDTO;
|
|||||||
import com.cool.store.dto.login.UserIdInfoDTO;
|
import com.cool.store.dto.login.UserIdInfoDTO;
|
||||||
import com.cool.store.dto.message.SendCardMessageDTO;
|
import com.cool.store.dto.message.SendCardMessageDTO;
|
||||||
import com.cool.store.dto.response.ResultDTO;
|
import com.cool.store.dto.response.ResultDTO;
|
||||||
import com.cool.store.enums.MessageTypeEnum;
|
import com.cool.store.enums.FeiShuNoticeMsgEnum;
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.mq.util.HttpRestTemplateService;
|
import com.cool.store.mq.util.HttpRestTemplateService;
|
||||||
@@ -357,9 +357,9 @@ public class ISVHttpRequest {
|
|||||||
String url = isvDomain + "/sendFeiShuCardMessage";
|
String url = isvDomain + "/sendFeiShuCardMessage";
|
||||||
ResultDTO responseEntity = null;
|
ResultDTO responseEntity = null;
|
||||||
try {
|
try {
|
||||||
MessageTypeEnum messageType = param.getMessageType();
|
FeiShuNoticeMsgEnum messageType = param.getMessageType();
|
||||||
JSONObject request = JSONObject.parseObject(JSONObject.toJSONString(param));
|
JSONObject request = JSONObject.parseObject(JSONObject.toJSONString(param));
|
||||||
request.put("messageType", messageType.getMessageTypeObject());
|
request.put("messageType", messageType.getMessageObject());
|
||||||
responseEntity = httpRestTemplateService.postForObject(url, request, ResultDTO.class);
|
responseEntity = httpRestTemplateService.postForObject(url, request, ResultDTO.class);
|
||||||
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
|
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -72,19 +72,19 @@ public class FollowTaskServiceImpl implements FollowTaskService {
|
|||||||
@Resource
|
@Resource
|
||||||
private RedisUtilPool redisUtilPool;
|
private RedisUtilPool redisUtilPool;
|
||||||
@Resource
|
@Resource
|
||||||
private ISVHttpRequest isvHttpRequest;
|
private NoticeService noticeService;
|
||||||
@Value("${feishu.notice.link.url:null}")
|
@Value("${feishu.notice.link.url:null}")
|
||||||
private String linkUrl;
|
private String linkUrl;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<FollowTaskPageVO> getFollowTaskPage(Integer pageNum, Integer pageSize, Integer taskStatus, String queryDate, String followUserId) {
|
public PageInfo<FollowTaskPageVO> getFollowTaskPage(Integer pageNum, Integer pageSize, Integer taskStatus, String queryDate, String followUserId) {
|
||||||
String deadlineStartTIme = null, deadlineEndTIme = null;
|
String deadlineStartTime = null, deadlineEndTIme = null;
|
||||||
if(StringUtils.isNotBlank(queryDate) && FollowTaskStatusEnum.TODO.getCode().equals(taskStatus)){
|
if(StringUtils.isNotBlank(queryDate) && FollowTaskStatusEnum.TODO.getCode().equals(taskStatus)){
|
||||||
//只有待完成的时候需要根据截止时间查询
|
//只有待完成的时候需要根据截止时间查询
|
||||||
deadlineStartTIme = queryDate + CommonConstants.DAY_START_TIME_SUFFIX;
|
deadlineStartTime = queryDate + CommonConstants.DAY_START_TIME_SUFFIX;
|
||||||
deadlineEndTIme = queryDate + CommonConstants.DAY_END_TIME_SUFFIX;
|
deadlineEndTIme = queryDate + CommonConstants.DAY_END_TIME_SUFFIX;
|
||||||
}
|
}
|
||||||
Page<HyFollowTaskDO> taskPage = hyFollowTaskDAO.getTaskPage(followUserId, taskStatus, deadlineStartTIme, deadlineEndTIme, pageNum, pageSize);
|
Page<HyFollowTaskDO> taskPage = hyFollowTaskDAO.getTaskPage(followUserId, taskStatus, deadlineStartTime, deadlineEndTIme, pageNum, pageSize);
|
||||||
PageInfo resultPage = new PageInfo(taskPage);
|
PageInfo resultPage = new PageInfo(taskPage);
|
||||||
if(CollectionUtils.isNotEmpty(taskPage)){
|
if(CollectionUtils.isNotEmpty(taskPage)){
|
||||||
List<Long> partnerLineIds = taskPage.stream().map(HyFollowTaskDO::getPartnerLineId).distinct().collect(Collectors.toList());
|
List<Long> partnerLineIds = taskPage.stream().map(HyFollowTaskDO::getPartnerLineId).distinct().collect(Collectors.toList());
|
||||||
@@ -186,6 +186,8 @@ public class FollowTaskServiceImpl implements FollowTaskService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void followTaskAnHourAgoRemind() {
|
public void followTaskAnHourAgoRemind() {
|
||||||
|
//更新过期的任务状态
|
||||||
|
hyFollowTaskDAO.updateUndoTaskStatusToOverdue();
|
||||||
//获取一个小时后的任务
|
//获取一个小时后的任务
|
||||||
Boolean hasNext = true;
|
Boolean hasNext = true;
|
||||||
int pageNum = CommonConstants.ONE, pageSize = CommonConstants.HUNDRED;
|
int pageNum = CommonConstants.ONE, pageSize = CommonConstants.HUNDRED;
|
||||||
@@ -213,23 +215,11 @@ public class FollowTaskServiceImpl implements FollowTaskService {
|
|||||||
//一小时内发送过不再发送通知
|
//一小时内发送过不再发送通知
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
SendCardMessageDTO sendCardMessage = new SendCardMessageDTO();
|
|
||||||
sendCardMessage.setMessageUrl(linkUrl);
|
|
||||||
sendCardMessage.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
|
||||||
String dateline = DateUtil.format(followTask.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
|
String dateline = DateUtil.format(followTask.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
|
||||||
String content = MessageFormat.format(MessageConstants.FOLLOW_TASK_MESSAGE_CONTENT, dateline, partnerInfo.getUsername(), partnerInfo.getMobile());
|
String content = MessageFormat.format(MessageConstants.FOLLOW_TASK_MESSAGE_CONTENT, dateline, partnerInfo.getUsername(), partnerInfo.getMobile());
|
||||||
sendCardMessage.setContent(content);
|
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.FOLLOW_TASK, Arrays.asList(followTask.getFollowUserId()), content);
|
||||||
sendCardMessage.setTitle(MessageConstants.FOLLOW_TASK_MESSAGE_TITLE);
|
|
||||||
sendCardMessage.setUserIds(Arrays.asList(followTask.getFollowUserId()));
|
|
||||||
try {
|
|
||||||
isvHttpRequest.sendFeiShuCardMessage(sendCardMessage);
|
|
||||||
} catch (ApiException e) {
|
|
||||||
log.error("跟进任务发送通知失败, {}", JSONObject.toJSONString(followTask));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//更新过期的任务状态
|
|
||||||
hyFollowTaskDAO.updateUndoTaskStatusToOverdue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -248,17 +238,7 @@ public class FollowTaskServiceImpl implements FollowTaskService {
|
|||||||
pageNum++;
|
pageNum++;
|
||||||
List<FollowTaskNumDTO> followTaskList = hyFollowTaskDAO.getUserTaskNum(remindFollowUserIds);
|
List<FollowTaskNumDTO> followTaskList = hyFollowTaskDAO.getUserTaskNum(remindFollowUserIds);
|
||||||
for (FollowTaskNumDTO followTask : followTaskList) {
|
for (FollowTaskNumDTO followTask : followTaskList) {
|
||||||
SendCardMessageDTO sendCardMessage = new SendCardMessageDTO();
|
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.FOLLOW_TASK, Arrays.asList(followTask.getFollowUserId()), FollowTaskNumDTO.getMessageContent(followTask));
|
||||||
sendCardMessage.setMessageUrl(linkUrl);
|
|
||||||
sendCardMessage.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
|
||||||
sendCardMessage.setContent(FollowTaskNumDTO.getMessageContent(followTask));
|
|
||||||
sendCardMessage.setTitle(MessageConstants.FOLLOW_TASK_MESSAGE_TITLE);
|
|
||||||
sendCardMessage.setUserIds(Arrays.asList(followTask.getFollowUserId()));
|
|
||||||
try {
|
|
||||||
isvHttpRequest.sendFeiShuCardMessage(sendCardMessage);
|
|
||||||
} catch (ApiException e) {
|
|
||||||
log.error("跟进任务发送通知失败, {}", JSONObject.toJSONString(followTask));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -293,16 +273,6 @@ public class FollowTaskServiceImpl implements FollowTaskService {
|
|||||||
}
|
}
|
||||||
String dateline = DateUtil.format(task.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
|
String dateline = DateUtil.format(task.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
|
||||||
String content = MessageFormat.format(MessageConstants.FOLLOW_TASK_MESSAGE_CONTENT, dateline, partnerInfo.getUsername(), partnerInfo.getMobile());
|
String content = MessageFormat.format(MessageConstants.FOLLOW_TASK_MESSAGE_CONTENT, dateline, partnerInfo.getUsername(), partnerInfo.getMobile());
|
||||||
SendCardMessageDTO sendCardMessage = new SendCardMessageDTO();
|
noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.FOLLOW_TASK, Arrays.asList(task.getFollowUserId()), content);
|
||||||
sendCardMessage.setMessageUrl(linkUrl);
|
|
||||||
sendCardMessage.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
|
||||||
sendCardMessage.setContent(content);
|
|
||||||
sendCardMessage.setTitle(MessageConstants.FOLLOW_TASK_MESSAGE_TITLE);
|
|
||||||
sendCardMessage.setUserIds(Arrays.asList(task.getFollowUserId()));
|
|
||||||
try {
|
|
||||||
isvHttpRequest.sendFeiShuCardMessage(sendCardMessage);
|
|
||||||
} catch (ApiException e) {
|
|
||||||
log.error("跟进任务发送通知失败, {}", JSONObject.toJSONString(task));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
|||||||
LabelService labelService;
|
LabelService labelService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private NoticeService noticeService;
|
private NoticeService noticeService;
|
||||||
|
@Resource
|
||||||
|
HyPartnerUserChannelDAO hyPartnerUserChannelDAO;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber,String keyword, Integer callStatus,
|
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber,String keyword, Integer callStatus,
|
||||||
@@ -103,12 +105,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
|||||||
}
|
}
|
||||||
List<PartnerIntentApplyInfoDTO> list = partnerIntentApplyInfo.getList();
|
List<PartnerIntentApplyInfoDTO> list = partnerIntentApplyInfo.getList();
|
||||||
List<Integer> userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PartnerIntentApplyInfoDTO::getUserChannelId).collect(Collectors.toList());
|
List<Integer> userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PartnerIntentApplyInfoDTO::getUserChannelId).collect(Collectors.toList());
|
||||||
List<HyPartnerUserChannelDO> userChannelList = new ArrayList<>();
|
Map<Integer, String> userChannelMap = hyPartnerUserChannelDAO.getChannelMapByIds(userChannelIds);
|
||||||
if (CollectionUtils.isNotEmpty(userChannelIds)){
|
|
||||||
userChannelList = hyPartnerUserChannelMapper.getUserChannelByIds(userChannelIds);
|
|
||||||
}
|
|
||||||
List<String> userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PartnerIntentApplyInfoDTO::getUserPortrait).collect(Collectors.toList());
|
List<String> userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PartnerIntentApplyInfoDTO::getUserPortrait).collect(Collectors.toList());
|
||||||
Map<Long, String> userChannelMap = userChannelList.stream().collect(Collectors.toMap(HyPartnerUserChannelDO::getChannelId, HyPartnerUserChannelDO::getChannelName));
|
|
||||||
List<Long> wantShopAreaList = list.stream().filter(x->StringUtils.isNotEmpty(x.getWantShopArea())).map(PartnerIntentApplyInfoDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList());
|
List<Long> wantShopAreaList = list.stream().filter(x->StringUtils.isNotEmpty(x.getWantShopArea())).map(PartnerIntentApplyInfoDTO::getWantShopArea).map(Long::parseLong).distinct().collect(Collectors.toList());
|
||||||
Map<String, String> wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList);
|
Map<String, String> wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList);
|
||||||
List<PartnerIntentApplyInfoVO> resultList = PartnerIntentApplyInfoVO.convertList(list, wantShopAreaNameMap, workflowStatus,userChannelMap,labelService.getUserPortraitMap(userPortraitList));
|
List<PartnerIntentApplyInfoVO> resultList = PartnerIntentApplyInfoVO.convertList(list, wantShopAreaNameMap, workflowStatus,userChannelMap,labelService.getUserPortraitMap(userPortraitList));
|
||||||
|
|||||||
@@ -8,10 +8,7 @@ import com.cool.store.dto.message.SendCardMessageDTO;
|
|||||||
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
|
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
|
||||||
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
||||||
import com.cool.store.entity.*;
|
import com.cool.store.entity.*;
|
||||||
import com.cool.store.enums.MessageTypeEnum;
|
import com.cool.store.enums.*;
|
||||||
import com.cool.store.enums.RoomStatus;
|
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
|
||||||
import com.cool.store.enums.WorkflowStatusEnum;
|
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.http.ISVHttpRequest;
|
import com.cool.store.http.ISVHttpRequest;
|
||||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||||
@@ -85,6 +82,8 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
LabelService labelService;
|
LabelService labelService;
|
||||||
@Resource
|
@Resource
|
||||||
HyPartnerUserChannelMapper hyPartnerUserChannelMapper;
|
HyPartnerUserChannelMapper hyPartnerUserChannelMapper;
|
||||||
|
@Resource
|
||||||
|
HyPartnerUserChannelDAO hyPartnerUserChannelDAO;
|
||||||
|
|
||||||
|
|
||||||
@Value("${feishu.notice.link.url:null}")
|
@Value("${feishu.notice.link.url:null}")
|
||||||
@@ -137,8 +136,8 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
List<String> partnerIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerId).collect(Collectors.toList());
|
List<String> partnerIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerId).collect(Collectors.toList());
|
||||||
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds);
|
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds);
|
||||||
List<Integer> userChannelIds = hyPartnerUserInfoDOS.stream().filter(x -> x.getUserChannelId() != null).map(HyPartnerUserInfoDO::getUserChannelId).collect(Collectors.toList());
|
List<Integer> userChannelIds = hyPartnerUserInfoDOS.stream().filter(x -> x.getUserChannelId() != null).map(HyPartnerUserInfoDO::getUserChannelId).collect(Collectors.toList());
|
||||||
List<HyPartnerUserChannelDO> userChannelList = hyPartnerUserChannelMapper.getUserChannelByIds(userChannelIds);
|
Map<Integer, String> channelMap = hyPartnerUserChannelDAO.getChannelMapByIds(userChannelIds);
|
||||||
Map<Long, String> channelMap = userChannelList.stream().collect(Collectors.toMap(HyPartnerUserChannelDO::getChannelId, HyPartnerUserChannelDO::getChannelName));
|
|
||||||
List<String> interviewerUserIds = list.stream().filter(x-> StringUtils.isNotEmpty(x.getInterviewer())).map(PartnerInterviewInfoDTO::getInterviewer).collect(Collectors.toList());
|
List<String> interviewerUserIds = list.stream().filter(x-> StringUtils.isNotEmpty(x.getInterviewer())).map(PartnerInterviewInfoDTO::getInterviewer).collect(Collectors.toList());
|
||||||
List<EnterpriseUserDO> userInfoByUserIds = enterpriseUserDAO.getUserInfoByUserIds(interviewerUserIds);
|
List<EnterpriseUserDO> userInfoByUserIds = enterpriseUserDAO.getUserInfoByUserIds(interviewerUserIds);
|
||||||
Map<String, EnterpriseUserDO> interviewerUserMap = userInfoByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, data -> data));
|
Map<String, EnterpriseUserDO> interviewerUserMap = userInfoByUserIds.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, data -> data));
|
||||||
@@ -183,8 +182,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds);
|
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds);
|
||||||
Map<String, HyPartnerUserInfoDO> userNameMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, Data->Data));
|
Map<String, HyPartnerUserInfoDO> userNameMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, Data->Data));
|
||||||
List<Integer> userChannelIds = hyPartnerUserInfoDOS.stream().filter(x -> x.getUserChannelId() != null).map(HyPartnerUserInfoDO::getUserChannelId).collect(Collectors.toList());
|
List<Integer> userChannelIds = hyPartnerUserInfoDOS.stream().filter(x -> x.getUserChannelId() != null).map(HyPartnerUserInfoDO::getUserChannelId).collect(Collectors.toList());
|
||||||
List<HyPartnerUserChannelDO> userChannelList = hyPartnerUserChannelMapper.getUserChannelByIds(userChannelIds);
|
Map<Integer, String> channelMap = hyPartnerUserChannelDAO.getChannelMapByIds(userChannelIds);
|
||||||
Map<Long, String> channelMap = userChannelList.stream().collect(Collectors.toMap(HyPartnerUserChannelDO::getChannelId, HyPartnerUserChannelDO::getChannelName));
|
|
||||||
List<Long> lineIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerLineId).collect(Collectors.toList());
|
List<Long> lineIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerLineId).collect(Collectors.toList());
|
||||||
List<HyPartnerLineInfoDO> hyPartnerLineInfoDOS= hyPartnerLineInfoDAO.getHyPartnerLineInfoListByIds(lineIds);
|
List<HyPartnerLineInfoDO> hyPartnerLineInfoDOS= hyPartnerLineInfoDAO.getHyPartnerLineInfoListByIds(lineIds);
|
||||||
Map<Long, HyPartnerLineInfoDO> hyPartnerLineInfoDOMap = hyPartnerLineInfoDOS.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getId, data -> data));
|
Map<Long, HyPartnerLineInfoDO> hyPartnerLineInfoDOMap = hyPartnerLineInfoDOS.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getId, data -> data));
|
||||||
@@ -272,7 +270,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
userIds.add(interviewMsgDTO.getInterviewerId());
|
userIds.add(interviewMsgDTO.getInterviewerId());
|
||||||
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
||||||
sendCardMessageDTO.setUserIds(userIds);
|
sendCardMessageDTO.setUserIds(userIds);
|
||||||
sendCardMessageDTO.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
sendCardMessageDTO.setMessageType(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT);
|
||||||
sendCardMessageDTO.setMessageUrl(linkUrl);
|
sendCardMessageDTO.setMessageUrl(linkUrl);
|
||||||
sendCardMessageDTO.setTitle("面试预约申请");
|
sendCardMessageDTO.setTitle("面试预约申请");
|
||||||
sendCardMessageDTO.setContent(interviewService.generateFeiShuInterviewMsg(interviewMsgDTO.getPartnerName(), interviewMsgDTO.getPartnerMobile(), interviewMsgDTO.getStartTime()));
|
sendCardMessageDTO.setContent(interviewService.generateFeiShuInterviewMsg(interviewMsgDTO.getPartnerName(), interviewMsgDTO.getPartnerMobile(), interviewMsgDTO.getStartTime()));
|
||||||
@@ -327,7 +325,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
* @param partnerInterviewInfoDTO
|
* @param partnerInterviewInfoDTO
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private PartnerInterviewInfoVO convertPartnerInterviewInfoDTOToVo(PartnerInterviewInfoDTO partnerInterviewInfoDTO,Map<Long, String> userPortraitMap, HyPartnerUserInfoDO hyPartnerUserInfoDO,Map<Long, String> channelMap){
|
private PartnerInterviewInfoVO convertPartnerInterviewInfoDTOToVo(PartnerInterviewInfoDTO partnerInterviewInfoDTO,Map<Long, String> userPortraitMap, HyPartnerUserInfoDO hyPartnerUserInfoDO,Map<Integer, String> channelMap){
|
||||||
PartnerInterviewInfoVO partnerInterviewInfoVO = new PartnerInterviewInfoVO();
|
PartnerInterviewInfoVO partnerInterviewInfoVO = new PartnerInterviewInfoVO();
|
||||||
partnerInterviewInfoVO.setInterviewId(partnerInterviewInfoDTO.getInterviewId());
|
partnerInterviewInfoVO.setInterviewId(partnerInterviewInfoDTO.getInterviewId());
|
||||||
partnerInterviewInfoVO.setInterviewPlanId(partnerInterviewInfoDTO.getId());
|
partnerInterviewInfoVO.setInterviewPlanId(partnerInterviewInfoDTO.getId());
|
||||||
|
|||||||
@@ -81,6 +81,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
HyPhoneLocationService hyPhoneLocationService;
|
HyPhoneLocationService hyPhoneLocationService;
|
||||||
@Resource
|
@Resource
|
||||||
HyPartnerUserChannelMapper hyPartnerUserChannelMapper;
|
HyPartnerUserChannelMapper hyPartnerUserChannelMapper;
|
||||||
|
@Resource
|
||||||
|
HyPartnerUserChannelDAO hyPartnerUserChannelDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private NoticeService noticeService;
|
private NoticeService noticeService;
|
||||||
@@ -529,8 +531,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
Map<String, String> wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList);
|
Map<String, String> wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList);
|
||||||
|
|
||||||
List<Integer> userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PublicSeaLineDTO::getUserChannelId).collect(Collectors.toList());
|
List<Integer> userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PublicSeaLineDTO::getUserChannelId).collect(Collectors.toList());
|
||||||
List<HyPartnerUserChannelDO> userChannelList = hyPartnerUserChannelMapper.getUserChannelByIds(userChannelIds);
|
Map<Integer, String> channelMap = hyPartnerUserChannelDAO.getChannelMapByIds(userChannelIds);
|
||||||
Map<Long, String> channelMap = userChannelList.stream().collect(Collectors.toMap(HyPartnerUserChannelDO::getChannelId, HyPartnerUserChannelDO::getChannelName));
|
|
||||||
|
|
||||||
List<String> userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PublicSeaLineDTO::getUserPortrait).collect(Collectors.toList());
|
List<String> userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PublicSeaLineDTO::getUserPortrait).collect(Collectors.toList());
|
||||||
Map<Long, String> userPortraitMap = labelService.getUserPortraitMap(userPortraitList);
|
Map<Long, String> userPortraitMap = labelService.getUserPortraitMap(userPortraitList);
|
||||||
@@ -580,12 +581,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
String intentAreaName = getIntentAreaName(request.getIntentArea());
|
String intentAreaName = getIntentAreaName(request.getIntentArea());
|
||||||
PageHelper.startPage(request.getPageNum(),request.getPageSize());
|
PageHelper.startPage(request.getPageNum(),request.getPageSize());
|
||||||
PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(),
|
PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(),
|
||||||
request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(),
|
request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(), intentAreaName, request.getAcceptAdjustType(), request.getStoreKeyword(),
|
||||||
intentAreaName, request.getAcceptAdjustType(), request.getStoreKeyword(),
|
request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(),userIdsByScope.getDevelopmentUserIds(),request.getUserPortraitIdList(),request.getUserChannelIdList()));
|
||||||
request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(),userIdsByScope.getDevelopmentUserIds(),request.getUserPortraitIdList()));
|
|
||||||
List<PrivateSeaLineDTO> list = privateLineList.getList();
|
List<PrivateSeaLineDTO> list = privateLineList.getList();
|
||||||
if (CollectionUtils.isEmpty(list)){
|
if (CollectionUtils.isEmpty(list)){
|
||||||
return new PageInfo<>();
|
return privateLineList;
|
||||||
}
|
}
|
||||||
List<Long> lindIds = list.stream().map(PrivateSeaLineDTO::getLineId).collect(Collectors.toList());
|
List<Long> lindIds = list.stream().map(PrivateSeaLineDTO::getLineId).collect(Collectors.toList());
|
||||||
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanDAO.getHyPartnerInterviewPlanByLineIds(lindIds);
|
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanDAO.getHyPartnerInterviewPlanByLineIds(lindIds);
|
||||||
@@ -601,8 +601,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
Map<String, String> wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList);
|
Map<String, String> wantShopAreaNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaList);
|
||||||
|
|
||||||
List<Integer> userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PrivateSeaLineDTO::getUserChannelId).collect(Collectors.toList());
|
List<Integer> userChannelIds = list.stream().filter(x -> x.getUserChannelId() != null).map(PrivateSeaLineDTO::getUserChannelId).collect(Collectors.toList());
|
||||||
List<HyPartnerUserChannelDO> userChannelList = hyPartnerUserChannelMapper.getUserChannelByIds(userChannelIds);
|
Map<Integer, String> channelMap = hyPartnerUserChannelDAO.getChannelMapByIds(userChannelIds);
|
||||||
Map<Long, String> channelMap = userChannelList.stream().collect(Collectors.toMap(HyPartnerUserChannelDO::getChannelId, HyPartnerUserChannelDO::getChannelName));
|
|
||||||
|
|
||||||
List<String> userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PrivateSeaLineDTO::getUserPortrait).collect(Collectors.toList());
|
List<String> userPortraitList = list.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PrivateSeaLineDTO::getUserPortrait).collect(Collectors.toList());
|
||||||
Map<Long, String> userPortraitMap = labelService.getUserPortraitMap(userPortraitList);
|
Map<Long, String> userPortraitMap = labelService.getUserPortraitMap(userPortraitList);
|
||||||
|
|||||||
@@ -455,7 +455,7 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
userIds.add(interviewrId);
|
userIds.add(interviewrId);
|
||||||
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
||||||
sendCardMessageDTO.setUserIds(userIds);
|
sendCardMessageDTO.setUserIds(userIds);
|
||||||
sendCardMessageDTO.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
sendCardMessageDTO.setMessageType(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT);
|
||||||
sendCardMessageDTO.setMessageUrl(linkUrl);
|
sendCardMessageDTO.setMessageUrl(linkUrl);
|
||||||
sendCardMessageDTO.setTitle("面试预约申请");
|
sendCardMessageDTO.setTitle("面试预约申请");
|
||||||
sendCardMessageDTO.setContent(generateFeiShuInterviewMsg(interviewVO.getPartnerName(), interviewVO.getPartnerMobile(), interviewVO.getStartTime()));
|
sendCardMessageDTO.setContent(generateFeiShuInterviewMsg(interviewVO.getPartnerName(), interviewVO.getPartnerMobile(), interviewVO.getStartTime()));
|
||||||
|
|||||||
@@ -7,10 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.cool.store.constants.ExcelErrorConstants;
|
import com.cool.store.constants.ExcelErrorConstants;
|
||||||
import com.cool.store.dao.*;
|
import com.cool.store.dao.*;
|
||||||
import com.cool.store.entity.*;
|
import com.cool.store.entity.*;
|
||||||
import com.cool.store.enums.AcceptAdjustTypeEnum;
|
import com.cool.store.enums.*;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
|
||||||
import com.cool.store.enums.LineStatusEnum;
|
|
||||||
import com.cool.store.enums.WorkflowStatusEnum;
|
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.oss.OSSServer;
|
import com.cool.store.oss.OSSServer;
|
||||||
import com.cool.store.request.AddLineRequest;
|
import com.cool.store.request.AddLineRequest;
|
||||||
@@ -98,7 +95,7 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
|||||||
hyPartnerUserInfoDAO.insertSelective(resultUser);
|
hyPartnerUserInfoDAO.insertSelective(resultUser);
|
||||||
|
|
||||||
HyPartnerLineInfoDO resultLine = new HyPartnerLineInfoDO();
|
HyPartnerLineInfoDO resultLine = new HyPartnerLineInfoDO();
|
||||||
resultLine.setPartnerId(partnerId).setCreateTime(new Date());
|
resultLine.setPartnerId(partnerId).setCreateTime(new Date()).setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
|
||||||
|
|
||||||
//判断招商经理是否为空
|
//判断招商经理是否为空
|
||||||
if (StringUtil.isNotEmpty(request.getInvestmentManager())) {
|
if (StringUtil.isNotEmpty(request.getInvestmentManager())) {
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package com.cool.store.service.impl;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cool.store.dto.message.SendCardMessageDTO;
|
import com.cool.store.dto.message.SendCardMessageDTO;
|
||||||
import com.cool.store.enums.FeiShuNoticeMsgEnum;
|
import com.cool.store.enums.FeiShuNoticeMsgEnum;
|
||||||
import com.cool.store.enums.MessageTypeEnum;
|
|
||||||
import com.cool.store.http.ISVHttpRequest;
|
import com.cool.store.http.ISVHttpRequest;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -22,11 +21,13 @@ import java.util.List;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class NoticeService {
|
public class NoticeService {
|
||||||
|
|
||||||
@Value("${feishu.notice.link.url}")
|
@Value("${feishu.notice.link.url}")
|
||||||
private String linkUrl;
|
private String linkUrl;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISVHttpRequest isvHttpRequest;
|
private ISVHttpRequest isvHttpRequest;
|
||||||
public void sendFeiShuNotice(FeiShuNoticeMsgEnum feiShuNoticeMsgEnum, List<String> userIds,Object... objects) {
|
|
||||||
|
public void sendFeiShuNotice(FeiShuNoticeMsgEnum feiShuNoticeMsgEnum, List<String> userIds, Object... objects) {
|
||||||
try{
|
try{
|
||||||
if (CollectionUtils.isEmpty(userIds)){
|
if (CollectionUtils.isEmpty(userIds)){
|
||||||
log.info("sendFeiShuNotice_feiShuNoticeMsgEnum:{} userIds:{},objects:{}",feiShuNoticeMsgEnum.getTitle(), JSONObject.toJSONString(userIds),JSONObject.toJSONString(objects));
|
log.info("sendFeiShuNotice_feiShuNoticeMsgEnum:{} userIds:{},objects:{}",feiShuNoticeMsgEnum.getTitle(), JSONObject.toJSONString(userIds),JSONObject.toJSONString(objects));
|
||||||
@@ -34,7 +35,7 @@ public class NoticeService {
|
|||||||
}
|
}
|
||||||
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
||||||
sendCardMessageDTO.setUserIds(userIds);
|
sendCardMessageDTO.setUserIds(userIds);
|
||||||
sendCardMessageDTO.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
sendCardMessageDTO.setMessageType(feiShuNoticeMsgEnum);
|
||||||
sendCardMessageDTO.setMessageUrl(linkUrl);
|
sendCardMessageDTO.setMessageUrl(linkUrl);
|
||||||
sendCardMessageDTO.setTitle(feiShuNoticeMsgEnum.getTitle());
|
sendCardMessageDTO.setTitle(feiShuNoticeMsgEnum.getTitle());
|
||||||
sendCardMessageDTO.setContent(MessageFormat.format(feiShuNoticeMsgEnum.getContent(),objects));
|
sendCardMessageDTO.setContent(MessageFormat.format(feiShuNoticeMsgEnum.getContent(),objects));
|
||||||
|
|||||||
Reference in New Issue
Block a user