Merge branch 'dev/feat/partner1.6_20231226' into pre
This commit is contained in:
@@ -9,16 +9,16 @@ import com.alibaba.fastjson.JSONObject;
|
||||
*/
|
||||
public enum FeiShuNoticeMsgEnum {
|
||||
|
||||
common_notice("工作台通知", "{0}", "img_v2_45d7a901-1eab-498b-a760-b38d287f0c1g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", ""),
|
||||
ALLOCATION_INVESTMENT_MANAGER("分配招商经理", "有新的线索于 {0} 分配给您,线索信息 {1} 手机号 {2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/mobile"),
|
||||
TRANS_INVESTMENT_MANAGER("转让招商经理", "有新的线索于 {0} 转让给您,线索信息 {1} 手机号 {2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/mobile"),
|
||||
BATCH_TRANS_INVESTMENT_MANAGER("收到新线索", "有{0}条新线索于 {1} 转让给您,请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/mobile"),
|
||||
EC_RECEIVE_LINE("收到EC新线索", "有{0}条新线索于EC同步给您,线索信息 {1},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/mobile"),
|
||||
INTENTION_APPLY("加盟意向申请", "您有一个【加盟意向申请】待审核,申请人 {0} 手机号 {1} 于 {2} 提交加盟意向申请,请及时处理", "img_v2_c909097d-67d1-4c11-a911-a2584b67ca6g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/mobile"),
|
||||
FOLLOW_TASK("线索跟进任务", "{0}", "img_v2_1960b7ef-8c4e-4c3d-8b67-3d918a85578g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/"),
|
||||
INTERVIEW_APPOINTMENT("面试预约申请", "您有一个【面试预约申请】待处理,预约人 {0} 手机号 {1} ,预约面试时间 {2} ","img_v2_107bb06b-2a7a-43e1-a6ae-e5d2f2dae17g", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/mobile"),
|
||||
common_notice("工作台通知", "{0}", "img_v2_45d7a901-1eab-498b-a760-b38d287f0c1g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
ALLOCATION_INVESTMENT_MANAGER("分配招商经理", "有新的线索于 {0} 分配给您,线索信息 {1} 手机号 {2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
TRANS_INVESTMENT_MANAGER("转让招商经理", "有新的线索于 {0} 转让给您,线索信息 {1} 手机号 {2},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
BATCH_TRANS_INVESTMENT_MANAGER("收到新线索", "有{0}条新线索于 {1} 转让给您,请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
EC_RECEIVE_LINE("收到EC新线索", "有{0}条新线索于EC同步给您,线索信息 {1},请及时跟进", "img_v2_33296002-829e-490e-bd11-0d9ae763a67g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
INTENTION_APPLY("加盟意向申请", "您有一个【加盟意向申请】待审核,申请人 {0} 手机号 {1} 于 {2} 提交加盟意向申请,请及时处理", "img_v2_c909097d-67d1-4c11-a911-a2584b67ca6g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
FOLLOW_TASK("线索跟进任务", "{0}", "img_v2_1960b7ef-8c4e-4c3d-8b67-3d918a85578g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
INTERVIEW_APPOINTMENT("面试预约申请", "您有一个【面试预约申请】待处理,预约人 {0} 手机号 {1} ,预约面试时间 {2} ","img_v2_107bb06b-2a7a-43e1-a6ae-e5d2f2dae17g", "1567d83b966f2d312fd7fcd2e72dbce9"),
|
||||
EXHIBITION_COLLABORATOR("会销协作通知", "{0} 已将您添加为【{1}】的会销协作人,日期为 {2},地点为“{3}” ","img_v3_026c_d561bb71-f085-40ca-9c36-5fe134cacd2g", "1567d83b966f2d312fd7fcd2e72dbce9", "/joint-sales/manage-detail", "/mobile/joint-sales/manage-detail"),
|
||||
PARTNER_SIGNUP_EXHIBITION("线索已报名会销", "您跟进的线索客户{0} {1} 已报名于 {2} 举办的【{3}】 ,地点为“{4}”","img_v3_026c_5bcf178d-19e6-4445-9677-f748a3f916fg", "1567d83b966f2d312fd7fcd2e72dbce9", "/work/bench", "/mobile"),
|
||||
PARTNER_SIGNUP_EXHIBITION("线索已报名会销", "您跟进的线索客户{0} {1} 已报名于 {2} 举办的【{3}】 ,地点为“{4}”","img_v3_026c_5bcf178d-19e6-4445-9677-f748a3f916fg", "1567d83b966f2d312fd7fcd2e72dbce9", "/clue/details"),
|
||||
;
|
||||
|
||||
private String title;
|
||||
@@ -29,12 +29,30 @@ public enum FeiShuNoticeMsgEnum {
|
||||
private String PCPath;
|
||||
private String mobilePath;
|
||||
|
||||
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId, String templateCode, String PCPath, String mobilePath) {
|
||||
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId, String templateCode, String pcPath) {
|
||||
this.title = title;
|
||||
this.content = content;
|
||||
this.imageMediaId = imageMediaId;
|
||||
this.templateCode = templateCode;
|
||||
this.PCPath = PCPath;
|
||||
this.PCPath = pcPath;
|
||||
this.mobilePath = "/mobile";
|
||||
}
|
||||
|
||||
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId, String templateCode) {
|
||||
this.title = title;
|
||||
this.content = content;
|
||||
this.imageMediaId = imageMediaId;
|
||||
this.templateCode = templateCode;
|
||||
this.PCPath = "/work/bench";
|
||||
this.mobilePath = "/mobile";
|
||||
}
|
||||
|
||||
FeiShuNoticeMsgEnum(String title, String content, String imageMediaId, String templateCode, String pcPath, String mobilePath) {
|
||||
this.title = title;
|
||||
this.content = content;
|
||||
this.imageMediaId = imageMediaId;
|
||||
this.templateCode = templateCode;
|
||||
this.PCPath = pcPath;
|
||||
this.mobilePath = mobilePath;
|
||||
}
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
<select id="selectByCheckMobile" resultType="com.cool.store.dto.partner.MobileCheckDTO">
|
||||
select a.partner_id as partnerId,a.mobile,a.username as partnerName,
|
||||
b.line_status as lineStatus ,b.workflow_stage as workflowStage ,b.workflow_status as workflowStatus ,close_time as closeTime,b.id as lineId,
|
||||
c.`name`as investmentManager,c.mobile as investmentManagerMobile
|
||||
c.`name`as investmentManagerName,c.mobile as investmentManagerMobile,c.user_id as investmentManager
|
||||
FROM hy_partner_user_info a left join hy_partner_line_info b on a.partner_id=b.partner_id and b.deleted=0 left join enterprise_user c on b.investment_manager=c.user_id and c.deleted=0 WHERE a.mobile=#{mobile}
|
||||
</select>
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ public class MobileCheckDTO {
|
||||
private String workflowStatus;
|
||||
private String closeTime;
|
||||
private String investmentManager;
|
||||
private String investmentManagerName;
|
||||
private Long lineId;
|
||||
private String partnerName;
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ import java.text.MessageFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author Fun Li 2023/10/23 10:01
|
||||
@@ -158,12 +157,24 @@ public class EventCenterHttpRequest {
|
||||
}
|
||||
|
||||
private String getPathVariable(FeiShuNoticeMsgEnum msgEnum, Object... objects) {
|
||||
String pathVariable = "";
|
||||
if (Objects.requireNonNull(msgEnum) == FeiShuNoticeMsgEnum.EXHIBITION_COLLABORATOR) {
|
||||
pathVariable = "?id=" + objects[0];
|
||||
System.arraycopy(objects, 1, objects, 0, objects.length - 1);
|
||||
StringBuilder pathVariable = new StringBuilder();
|
||||
switch (msgEnum) {
|
||||
case EXHIBITION_COLLABORATOR:
|
||||
pathVariable.append("?id=").append(objects[0]);
|
||||
System.arraycopy(objects, 1, objects, 0, objects.length - 1);
|
||||
break;
|
||||
case PARTNER_SIGNUP_EXHIBITION:
|
||||
pathVariable.append("?lineId=")
|
||||
.append(objects[0])
|
||||
.append("&clueType=private")
|
||||
.append("&partnerId=")
|
||||
.append(objects[1]);
|
||||
System.arraycopy(objects, 2, objects, 0, objects.length - 2);
|
||||
break;
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
return pathVariable;
|
||||
return new String(pathVariable);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -288,7 +288,7 @@ public class LineHighSeasServiceImpl implements LineHighSeasService {
|
||||
if (mobileCheckDTO.getLineStatus().equals(LineStatusEnum.PUBLIC_SEAS.getCode())) {
|
||||
throw new ServiceException(ErrorCodeEnum.PUBLIC_LINE_NOT_FOLLOW);
|
||||
} else {
|
||||
String message = MessageFormat.format(ErrorCodeEnum.LINE_EXIST_FOLLOW.getMessage(), mobileCheckDTO.getInvestmentManager(), mobileCheckDTO.getInvestmentManagerMobile());
|
||||
String message = MessageFormat.format(ErrorCodeEnum.LINE_EXIST_FOLLOW.getMessage(), mobileCheckDTO.getInvestmentManagerName(), mobileCheckDTO.getInvestmentManagerMobile());
|
||||
return new ResponseResult(ErrorCodeEnum.LINE_EXIST_FOLLOW.getCode(),message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -512,7 +513,11 @@ public class ExhibitionServiceImpl implements ExhibitionService {
|
||||
BeanUtil.copyProperties(x,exhibitionLineBaseVO);
|
||||
result.add(exhibitionLineBaseVO);
|
||||
});
|
||||
return result;
|
||||
//去重
|
||||
return result.stream()
|
||||
.collect(Collectors.toMap(ExhibitionLineBaseVO::getMobile, Function.identity(), (existing, replacement) -> existing))
|
||||
.values().stream()
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -630,8 +635,16 @@ public class ExhibitionServiceImpl implements ExhibitionService {
|
||||
whetherInExhibition(Arrays.asList(lineId),Boolean.TRUE);
|
||||
if (sendNotice){
|
||||
//发送通知
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.PARTNER_SIGNUP_EXHIBITION,Arrays.asList(investManager),mobileCheckDTO.getPartnerName(),mobileCheckDTO.getMobile(),
|
||||
DateUtils.format(hyExhibitionDO.getStartDate(),CoolDateUtils.DATE_FORMAT_DAY_2),hyExhibitionDO.getExhibitionName(),hyExhibitionDO.getLocation());
|
||||
List<String> feishuUserIdListByUserIds = enterpriseUserDAO.getFeishuUserIdListByUserIds(Arrays.asList(investManager));
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.PARTNER_SIGNUP_EXHIBITION,
|
||||
feishuUserIdListByUserIds,
|
||||
mobileCheckDTO.getLineId(),
|
||||
mobileCheckDTO.getPartnerId(),
|
||||
mobileCheckDTO.getPartnerName(),
|
||||
mobileCheckDTO.getMobile(),
|
||||
DateUtils.format(hyExhibitionDO.getStartDate(),CoolDateUtils.DATE_FORMAT_DAY_2),
|
||||
hyExhibitionDO.getExhibitionName(),
|
||||
hyExhibitionDO.getLocation());
|
||||
}
|
||||
return new SignUpExhibitionVO(Boolean.TRUE,CommonConstants.ZERO,null);
|
||||
}
|
||||
|
||||
@@ -41,22 +41,24 @@ class EventRequestTest extends AbstractJUnit4SpringContextTests {
|
||||
@Test
|
||||
void testFeishuNotice() throws ApiException {
|
||||
String userId = "34f4a9ga";
|
||||
//1. 工作台通知
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.common_notice, Arrays.asList(userId), "测试");
|
||||
//2. 分配招商经理
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER, Arrays.asList(userId), "2011-12-11 11:11:11", "测试", "1008631");
|
||||
//3. 转让招商经理
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.TRANS_INVESTMENT_MANAGER, Arrays.asList(userId), "2012-11-11 11:11:11", "测试", "1108611");
|
||||
//4. 收到新线索
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.BATCH_TRANS_INVESTMENT_MANAGER, Arrays.asList(userId), "1", "2023-01-24 16:41:07");
|
||||
//5. 加盟意向申请
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTENTION_APPLY, Arrays.asList(userId), "测试", "1007611", "2023-09-24 16:42:07");
|
||||
//6. 线索跟进任务
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.FOLLOW_TASK, Arrays.asList(userId), "测试线索跟进任务");
|
||||
//7. 面试预约申请
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT, Arrays.asList(userId), "测试", "1108611", "2023-10-24 16:43:07");
|
||||
//8. 会销协作通知
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.EXHIBITION_COLLABORATOR, Arrays.asList(userId), "4", "老大", "会销", "2023-12-31", "系东方大酒店");
|
||||
// //1. 工作台通知
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.common_notice, Arrays.asList(userId), "测试");
|
||||
// //2. 分配招商经理
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER, Arrays.asList(userId), "2011-12-11 11:11:11", "测试", "1008631");
|
||||
// //3. 转让招商经理
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.TRANS_INVESTMENT_MANAGER, Arrays.asList(userId), "2012-11-11 11:11:11", "测试", "1108611");
|
||||
// //4. 收到新线索
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.BATCH_TRANS_INVESTMENT_MANAGER, Arrays.asList(userId), "1", "2023-01-24 16:41:07");
|
||||
// //5. 加盟意向申请
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTENTION_APPLY, Arrays.asList(userId), "测试", "1007611", "2023-09-24 16:42:07");
|
||||
// //6. 线索跟进任务
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.FOLLOW_TASK, Arrays.asList(userId), "测试线索跟进任务");
|
||||
// //7. 面试预约申请
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.INTERVIEW_APPOINTMENT, Arrays.asList(userId), "测试", "1108611", "2023-10-24 16:43:07");
|
||||
// //8. 会销协作通知
|
||||
// eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.EXHIBITION_COLLABORATOR, Arrays.asList(userId), "68", "老大", "会销", "2023-12-31", "系东方大酒店");
|
||||
//9. 线索报名会销
|
||||
eventCenterHttpRequest.sendFeiShuNotice(FeiShuNoticeMsgEnum.PARTNER_SIGNUP_EXHIBITION, Arrays.asList(userId), "237298", "e2771d330ec54648841a38607f06b598", "线索客户", "1008611", "2023-10-24", "会销", "蜀山");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user