|
@@ -99,6 +99,76 @@ public class ClubServiceImpl implements ClubService {
|
|
|
club.setProvinceId(province.getProvinceId());
|
|
|
club.setProvincialAddress(province.getName() + "" + city.getName() + "" + town.getName());
|
|
|
}
|
|
|
+ // 机构咨询记录信息
|
|
|
+ ClubRemarksPo remarksInfo = clubMapper.getRemarksInfo(club.getUserId());
|
|
|
+ if (null != remarksInfo) {
|
|
|
+ club.setCommunicationSituation(remarksInfo.getCommunicationSituation());
|
|
|
+ club.setCommunicationMethods(remarksInfo.getCommunicationMethods());
|
|
|
+ club.setCustomerSource(remarksInfo.getCustomerSource());
|
|
|
+ club.setCustomerGender(remarksInfo.getCustomerGender());
|
|
|
+ club.setCustomerAge(remarksInfo.getCustomerAge());
|
|
|
+ club.setGroupAddition(remarksInfo.getGroupAddition());
|
|
|
+ if (StringUtils.isNotBlank(remarksInfo.getCommunicationMethods())) {
|
|
|
+ if (remarksInfo.getCommunicationMethods().contains("1")) {
|
|
|
+ club.setWx("已触达");
|
|
|
+ } else {
|
|
|
+ club.setWx("未触达");
|
|
|
+ }
|
|
|
+ if (remarksInfo.getCommunicationMethods().contains("2")) {
|
|
|
+ club.setMob("已触达");
|
|
|
+ } else {
|
|
|
+ club.setMob("未触达");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 资料完整度
|
|
|
+ Integer number = 0;
|
|
|
+ if (null != club) {
|
|
|
+ // 计算资料完整度
|
|
|
+ if (StringUtils.isNotBlank(club.getName())) {
|
|
|
+ number += 10;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getLinkMan())) {
|
|
|
+ number += 10;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getContractMobile())) {
|
|
|
+ number += 10;
|
|
|
+ }
|
|
|
+ if (null != club.getLinkManIdentity()) {
|
|
|
+ number += 10;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getAddress())) {
|
|
|
+ number += 10;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getBusinessLicense())) {
|
|
|
+ number += 10;
|
|
|
+ }
|
|
|
+ if (null != club.getUserIdentity()) {
|
|
|
+ number += 10;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getShortName())) {
|
|
|
+ number += 3;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getContractEmail())) {
|
|
|
+ number += 5;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getContractPhone())) {
|
|
|
+ number += 4;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getFax())) {
|
|
|
+ number += 3;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getShopPhoto())) {
|
|
|
+ number += 5;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getSocialCreditCode())) {
|
|
|
+ number += 5;
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(club.getProfile())) {
|
|
|
+ number += 5;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ club.setNumber(number);
|
|
|
Map<String, Object> map = new HashMap(2);
|
|
|
map.put("user", user);
|
|
|
map.put("club", club);
|
|
@@ -901,6 +971,43 @@ public class ClubServiceImpl implements ClubService {
|
|
|
return ResponseJson.success("抵扣成功");
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 优先展示标签 -- 咨询记录 -》 标签记录
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<List<Map<String, String>>> getPriorKeyword() {
|
|
|
+ return ResponseJson.success(clubMapper.getPriorKeywordList());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询机构历史填写信息
|
|
|
+ *
|
|
|
+ * @param userId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Map<String, Object>> getHistoryInfo(Integer userId) {
|
|
|
+ ClubRemarksPo remarksInfo = clubMapper.getRemarksInfo(userId);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ if (null != remarksInfo) {
|
|
|
+ if (null != remarksInfo.getCustomerSource()) {
|
|
|
+ map.put("customerSource", remarksInfo.getCustomerSource());
|
|
|
+ }
|
|
|
+ if (null != remarksInfo.getCustomerGender()) {
|
|
|
+ map.put("customerGender", remarksInfo.getCustomerGender());
|
|
|
+ }
|
|
|
+ if (null != remarksInfo.getCustomerAge()) {
|
|
|
+ map.put("customerAge", remarksInfo.getCustomerAge());
|
|
|
+ }
|
|
|
+ if (null != remarksInfo.getGroupAddition()) {
|
|
|
+ map.put("groupAddition", remarksInfo.getGroupAddition());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ResponseJson.success(map);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 保存机构资料备注
|
|
|
*
|
|
@@ -933,6 +1040,22 @@ public class ClubServiceImpl implements ClubService {
|
|
|
String extra = jsonObject.getString("extra");
|
|
|
Integer productID = jsonObject.getInteger("productId");
|
|
|
Integer reportID = jsonObject.getInteger("reportId");
|
|
|
+ // 沟通情况
|
|
|
+ Integer communicationSituation = jsonObject.getInteger("communicationSituation");
|
|
|
+ // 沟通方式
|
|
|
+ String communicationMethods = jsonObject.getString("communicationMethods");
|
|
|
+ /// 客户来源
|
|
|
+ Integer customerSource = jsonObject.getInteger("customerSource");
|
|
|
+ // 客户性别
|
|
|
+ Integer customerGender = jsonObject.getInteger("customerGender");
|
|
|
+ // 客户年龄
|
|
|
+ String customerAge = jsonObject.getString("customerAge");
|
|
|
+ // 加群情况
|
|
|
+ Integer groupAddition = jsonObject.getInteger("groupAddition");
|
|
|
+ // 动态标签
|
|
|
+ String trendsKeyword = jsonObject.getString("trendsKeyword");
|
|
|
+ // 静态标签
|
|
|
+ String stateKeyword = jsonObject.getString("stateKeyword");
|
|
|
if (null == clubId) {
|
|
|
return ResponseJson.error("参数异常,机构id不能为空");
|
|
|
}
|
|
@@ -955,8 +1078,47 @@ public class ClubServiceImpl implements ClubService {
|
|
|
} else {
|
|
|
strings.add(rk);
|
|
|
}
|
|
|
- if (strings == null) {
|
|
|
- return ResponseJson.error("添加关键词为空!", null);
|
|
|
+ List<String> trendsKeywordList = new ArrayList<>();
|
|
|
+ // 保存动态标签
|
|
|
+ if (StringUtils.isNotBlank(trendsKeyword)) {
|
|
|
+ trendsKeyword = StringUtils.strip(trendsKeyword, "[]").replaceAll("\"", "");
|
|
|
+ if (trendsKeyword.contains(",")) {
|
|
|
+ String[] split = trendsKeyword.split(",");
|
|
|
+ for (String keyword : split) {
|
|
|
+ trendsKeywordList.add(keyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(keyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(keyword, serviceProviderId, 1, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ trendsKeywordList.add(trendsKeyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(trendsKeyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(trendsKeyword, serviceProviderId, 1,0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<String> stateKeywordList = new ArrayList<>();
|
|
|
+ // 保存静态标签
|
|
|
+ if (StringUtils.isNotBlank(stateKeyword)) {
|
|
|
+ stateKeyword = StringUtils.strip(stateKeyword, "[]").replaceAll("\"", "");
|
|
|
+ if (stateKeyword.contains(",")) {
|
|
|
+ String[] split = stateKeyword.split(",");
|
|
|
+ for (String keyword : split) {
|
|
|
+ stateKeywordList.add(keyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(keyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(keyword, serviceProviderId, 0, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ stateKeywordList.add(stateKeyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(stateKeyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(stateKeyword, serviceProviderId, 0, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
// clubRemarksPo.setRemarks(StringUtils.strip(strings.toString(), "[]"));
|
|
|
// }
|
|
@@ -974,6 +1136,14 @@ public class ClubServiceImpl implements ClubService {
|
|
|
clubRemarksPo.setExtra(extra);
|
|
|
clubRemarksPo.setProductID(productID);
|
|
|
clubRemarksPo.setReportID(reportID);
|
|
|
+ clubRemarksPo.setCommunicationSituation(communicationSituation);
|
|
|
+ clubRemarksPo.setCommunicationMethods(communicationMethods);
|
|
|
+ clubRemarksPo.setCustomerSource(customerSource);
|
|
|
+ clubRemarksPo.setCustomerGender(customerGender);
|
|
|
+ clubRemarksPo.setCustomerAge(customerAge);
|
|
|
+ clubRemarksPo.setGroupAddition(groupAddition);
|
|
|
+ clubRemarksPo.setTrendsKeyword(StringUtils.strip(trendsKeywordList.toString(), "[]"));
|
|
|
+ clubRemarksPo.setStateKeyword(StringUtils.strip(stateKeywordList.toString(), "[]"));
|
|
|
if (newRemarks) {
|
|
|
// 新增备注
|
|
|
clubMapper.insertRemarks(clubRemarksPo);
|
|
@@ -1009,6 +1179,7 @@ public class ClubServiceImpl implements ClubService {
|
|
|
if (newRemarks && pushMessage) {
|
|
|
asyncService.sendChoseServiceMessage(2, clubId, serviceProviderId, clubRemarksPo.getRemarksId());
|
|
|
}
|
|
|
+
|
|
|
return ResponseJson.success("保存资料备注成功");
|
|
|
} catch (Exception e) {
|
|
|
log.info("保存机构资料备注参数:" + jsonParamsDto.toString());
|
|
@@ -1403,26 +1574,75 @@ public class ClubServiceImpl implements ClubService {
|
|
|
RemarkVo remarkVo = new RemarkVo();
|
|
|
List<Map<String, String>> strings = new ArrayList<>();
|
|
|
String rk = null == r.getRemarks() ? "" : r.getRemarks();
|
|
|
+ String trend = null == r.getTrendsKeyword() ? "" : r.getTrendsKeyword();
|
|
|
+ String state = null == r.getStateKeyword() ? "" : r.getStateKeyword();
|
|
|
if (rk.contains(",")) {
|
|
|
String[] split = rk.split(",");
|
|
|
split = rk.split(",");
|
|
|
for (String remark : split) {
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
map.put("label", remark);
|
|
|
- strings.add(map);
|
|
|
+ if (strings.size() < 10 && StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
} else if (rk.contains(",")) {
|
|
|
String[] split = rk.split(",");
|
|
|
for (String remark : split) {
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
map.put("label", remark);
|
|
|
- strings.add(map);
|
|
|
+ if (strings.size() < 10 && StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
map.put("label", rk);
|
|
|
- strings.add(map);
|
|
|
+ if (strings.size() < 10 && StringUtils.isNotBlank(rk)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 动态标签
|
|
|
+ if (trend.contains(",")) {
|
|
|
+ String[] split = trend.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ if (strings.size() < 10 && StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", trend);
|
|
|
+ if (strings.size() < 10 && StringUtils.isNotBlank(trend)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
+ // 静态标签
|
|
|
+ if (state.contains(",")) {
|
|
|
+ String[] split = state.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ if (strings.size() < 10 && StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", state);
|
|
|
+ if (strings.size() < 10 && StringUtils.isNotBlank(state)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 数据为空时 返回为null
|
|
|
+ if ((StringUtils.isBlank(rk) || StringUtils.isEmpty(rk)) &&
|
|
|
+ (StringUtils.isBlank(trend) || StringUtils.isEmpty(trend)) &&
|
|
|
+ (StringUtils.isBlank(state) || StringUtils.isEmpty(state))) {
|
|
|
+ strings = null;
|
|
|
+ }
|
|
|
+
|
|
|
if (StringUtils.isNotBlank(r.getConsult())) {
|
|
|
if (r.getConsult().contains(",")) {
|
|
|
String[] split = r.getConsult().split(",");
|
|
@@ -1487,8 +1707,10 @@ public class ClubServiceImpl implements ClubService {
|
|
|
List<RemarksFileVo> fileList = clubMapper.getRemarksFileList(remarksId);
|
|
|
fileList.forEach(file -> file.setFileUrl(OssUtil.getOssUrl(file.getOssName())));
|
|
|
List<Map<String, String>> strings = new ArrayList<>();
|
|
|
+ List<Map<String, String>> trends = new ArrayList<>();
|
|
|
+ List<Map<String, String>> state = new ArrayList<>();
|
|
|
if (remarksVo != null) {
|
|
|
- String rk = null == remarksVo.getRemarks() ? "" : remarksVo.getRemarks();
|
|
|
+ String rk = StringUtils.isBlank(remarksVo.getRemarks()) ? "" : remarksVo.getRemarks();
|
|
|
if (rk.contains(",")) {
|
|
|
String[] split = rk.split(",");
|
|
|
for (String remark : split) {
|
|
@@ -1501,7 +1723,44 @@ public class ClubServiceImpl implements ClubService {
|
|
|
map.put("label", rk);
|
|
|
strings.add(map);
|
|
|
}
|
|
|
-
|
|
|
+ if (StringUtils.isBlank(remarksVo.getRemarks()) || StringUtils.isEmpty(remarksVo.getRemarks())) {
|
|
|
+ strings = null;
|
|
|
+ }
|
|
|
+ // 动态标签
|
|
|
+ String trendsKeywords = StringUtils.isBlank(remarksVo.getTrendsKeyword()) ? "" : remarksVo.getTrendsKeyword();
|
|
|
+ if (trendsKeywords.contains(",")) {
|
|
|
+ String[] split = trendsKeywords.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ trends.add(map);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", trendsKeywords);
|
|
|
+ trends.add(map);
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(remarksVo.getTrendsKeyword()) || StringUtils.isEmpty(remarksVo.getTrendsKeyword())) {
|
|
|
+ trends = null;
|
|
|
+ }
|
|
|
+ // 静态标签
|
|
|
+ String stateKeywords = StringUtils.isBlank(remarksVo.getStateKeyword()) ? "" : remarksVo.getStateKeyword();
|
|
|
+ if (stateKeywords.contains(",")) {
|
|
|
+ String[] split = stateKeywords.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ state.add(map);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", stateKeywords);
|
|
|
+ state.add(map);
|
|
|
+ }
|
|
|
+ // 数据为空时 返回null
|
|
|
+ if (StringUtils.isBlank(remarksVo.getStateKeyword()) || StringUtils.isEmpty(remarksVo.getStateKeyword())) {
|
|
|
+ state = null;
|
|
|
+ }
|
|
|
RemarkVo remarkVo = new RemarkVo();
|
|
|
remarkVo.setClubId(remarksVo.getClubId());
|
|
|
remarkVo.setUserId(remarksVo.getUserId());
|
|
@@ -1526,6 +1785,14 @@ public class ClubServiceImpl implements ClubService {
|
|
|
remarkVo.setNewDeal(remarksVo.getNewDeal());
|
|
|
remarkVo.setProductId(remarksVo.getProductId());
|
|
|
remarkVo.setReportId(remarksVo.getReportId());
|
|
|
+ remarkVo.setCommunicationSituation(remarksVo.getCommunicationSituation());
|
|
|
+ remarkVo.setCommunicationMethods(remarksVo.getCommunicationMethods());
|
|
|
+ remarkVo.setCustomerSource(remarksVo.getCustomerSource());
|
|
|
+ remarkVo.setCustomerGender(remarksVo.getCustomerGender());
|
|
|
+ remarkVo.setCustomerAge(remarksVo.getCustomerAge());
|
|
|
+ remarkVo.setGroupAddition(remarksVo.getGroupAddition());
|
|
|
+ remarkVo.setTrendsKeyword(trends);
|
|
|
+ remarkVo.setStateKeyword(state);
|
|
|
if (StringUtils.isNotBlank(remarksVo.getConsult())) {
|
|
|
if (remarkVo.getConsult().contains(",")) {
|
|
|
List<String> cons = Arrays.asList(remarkVo.getConsult().split(","));
|
|
@@ -1661,7 +1928,8 @@ public class ClubServiceImpl implements ClubService {
|
|
|
visitor.setQuestionManId(uuid);
|
|
|
visitor.setServiceProviderId(Integer.valueOf(serviceProviderId));
|
|
|
clubMapper.insertQuestionMan(visitor);
|
|
|
- HashMap<String, String> result = new HashMap<>(2);
|
|
|
+ HashMap<String, String> result = new HashMap<>(3);
|
|
|
+ result.put("remarksId", visitor.getRemarksId().toString());
|
|
|
result.put("questionManId", uuid);
|
|
|
result.put("questionMan", name);
|
|
|
return ResponseJson.success("添加成功", result);
|
|
@@ -1740,20 +2008,28 @@ public class ClubServiceImpl implements ClubService {
|
|
|
String extra = jsonObject.getString("extra");
|
|
|
Integer productID = jsonObject.getInteger("productId");
|
|
|
Integer reportID = jsonObject.getInteger("reportId");
|
|
|
-
|
|
|
+ // 沟通情况
|
|
|
+ Integer communicationSituation = jsonObject.getInteger("communicationSituation");
|
|
|
+ // 沟通方式
|
|
|
+ String communicationMethods = jsonObject.getString("communicationMethods");
|
|
|
+ /// 客户来源
|
|
|
+ Integer customerSource = jsonObject.getInteger("customerSource");
|
|
|
+ // 客户性别
|
|
|
+ Integer customerGender = jsonObject.getInteger("customerGender");
|
|
|
+ // 客户年龄
|
|
|
+ String customerAge = jsonObject.getString("customerAge");
|
|
|
+ // 加群情况
|
|
|
+ Integer groupAddition = jsonObject.getInteger("groupAddition");
|
|
|
+ // 动态标签
|
|
|
+ String trendsKeyword = jsonObject.getString("trendsKeyword");
|
|
|
+ // 静态标签
|
|
|
+ String stateKeyword = jsonObject.getString("stateKeyword");
|
|
|
if (null == questionManId) {
|
|
|
return ResponseJson.error("参数异常,咨询人id不能为空");
|
|
|
}
|
|
|
if (null == serviceProviderId) {
|
|
|
return ResponseJson.error("参数异常,协销id不能为空");
|
|
|
}
|
|
|
-// JSONArray remarks;
|
|
|
-//
|
|
|
-// remarks = parseArray(visitor.getParams());
|
|
|
-
|
|
|
- if (remarks.isEmpty()) {
|
|
|
- return ResponseJson.error("添加关键词异常!", null);
|
|
|
- }
|
|
|
boolean newRemarks = null == remarksId;
|
|
|
VisitorRemarkVo visitorRemarkVo = new VisitorRemarkVo();
|
|
|
List<String> strings = new ArrayList<>();
|
|
@@ -1767,6 +2043,48 @@ public class ClubServiceImpl implements ClubService {
|
|
|
if (strings == null) {
|
|
|
return ResponseJson.error("strings添加关键词为空!", null);
|
|
|
}
|
|
|
+ List<String> trendsKeywordList = new ArrayList<>();
|
|
|
+ // 保存动态标签
|
|
|
+ if (StringUtils.isNotBlank(trendsKeyword)) {
|
|
|
+ trendsKeyword = StringUtils.strip(trendsKeyword, "[]").replaceAll("\"", "");
|
|
|
+ if (trendsKeyword.contains(",")) {
|
|
|
+ String[] split = trendsKeyword.split(",");
|
|
|
+ for (String keyword : split) {
|
|
|
+ trendsKeywordList.add(keyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(keyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(keyword, serviceProviderId, 1, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ trendsKeywordList.add(trendsKeyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(trendsKeyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(trendsKeyword, serviceProviderId, 1,0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<String> stateKeywordList = new ArrayList<>();
|
|
|
+ // 保存静态标签
|
|
|
+ if (StringUtils.isNotBlank(stateKeyword)) {
|
|
|
+ stateKeyword = StringUtils.strip(stateKeyword, "[]").replaceAll("\"", "");
|
|
|
+ if (stateKeyword.contains(",")) {
|
|
|
+ String[] split = stateKeyword.split(",");
|
|
|
+ for (String keyword : split) {
|
|
|
+ stateKeywordList.add(keyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(keyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(keyword, serviceProviderId, 0, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ stateKeywordList.add(stateKeyword);
|
|
|
+ Integer keywordExist = clubMapper.findKeywordExist(stateKeyword);
|
|
|
+ if(null == keywordExist) {
|
|
|
+ clubMapper.insertLabel(stateKeyword, serviceProviderId, 0, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
visitorRemarkVo.setRemarks(StringUtils.strip(strings.toString(), "[]").replace("\"", ""));//去除符号
|
|
|
// }
|
|
|
// 是否新增备注
|
|
@@ -1784,6 +2102,14 @@ public class ClubServiceImpl implements ClubService {
|
|
|
visitorRemarkVo.setExtra(extra);
|
|
|
visitorRemarkVo.setReportId(reportID);
|
|
|
visitorRemarkVo.setProductId(productID);
|
|
|
+ visitorRemarkVo.setCommunicationSituation(communicationSituation);
|
|
|
+ visitorRemarkVo.setCommunicationMethods(communicationMethods);
|
|
|
+ visitorRemarkVo.setCustomerSource(customerSource);
|
|
|
+ visitorRemarkVo.setCustomerGender(customerGender);
|
|
|
+ visitorRemarkVo.setCustomerAge(customerAge);
|
|
|
+ visitorRemarkVo.setGroupAddition(groupAddition);
|
|
|
+ visitorRemarkVo.setTrendsKeyword(StringUtils.strip(trendsKeywordList.toString(), "[]"));
|
|
|
+ visitorRemarkVo.setStateKeyword(StringUtils.strip(stateKeywordList.toString(), "[]"));
|
|
|
if (newRemarks) {
|
|
|
// 新增备注
|
|
|
clubMapper.insertVisitorRemark(visitorRemarkVo);
|
|
@@ -1832,6 +2158,8 @@ public class ClubServiceImpl implements ClubService {
|
|
|
List<RemarksFileVo> fileList = clubMapper.getVisitRemarksFileList(remarksId);
|
|
|
fileList.forEach(file -> file.setFileUrl(OssUtil.getOssUrl(file.getOssName())));
|
|
|
List<Map<String, String>> strings = new ArrayList<>();
|
|
|
+ List<Map<String, String>> trends = new ArrayList<>();
|
|
|
+ List<Map<String, String>> state = new ArrayList<>();
|
|
|
if (visitRemarksVo != null) {
|
|
|
String rk = null == visitRemarksVo.getRemarks() ? "" : visitRemarksVo.getRemarks();
|
|
|
if (rk.contains(",")) {
|
|
@@ -1846,6 +2174,45 @@ public class ClubServiceImpl implements ClubService {
|
|
|
map.put("label", rk);
|
|
|
strings.add(map);
|
|
|
}
|
|
|
+ if (StringUtils.isBlank(visitRemarksVo.getRemarks()) || StringUtils.isEmpty(visitRemarksVo.getRemarks())) {
|
|
|
+ strings = null;
|
|
|
+ }
|
|
|
+ // 动态标签
|
|
|
+ String trendsKeywords = StringUtils.isBlank(visitRemarksVo.getTrendsKeyword()) ? "" : visitRemarksVo.getTrendsKeyword();
|
|
|
+ if (trendsKeywords.contains(",")) {
|
|
|
+ String[] split = trendsKeywords.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ trends.add(map);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", trendsKeywords);
|
|
|
+ trends.add(map);
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(visitRemarksVo.getTrendsKeyword()) || StringUtils.isEmpty(visitRemarksVo.getTrendsKeyword())) {
|
|
|
+ trends = null;
|
|
|
+ }
|
|
|
+ // 静态标签
|
|
|
+ String stateKeywords = StringUtils.isBlank(visitRemarksVo.getStateKeyword()) ? "" : visitRemarksVo.getStateKeyword();
|
|
|
+ if (stateKeywords.contains(",")) {
|
|
|
+ String[] split = stateKeywords.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ state.add(map);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", stateKeywords);
|
|
|
+ state.add(map);
|
|
|
+ }
|
|
|
+ // 数据为空时 返回null
|
|
|
+ if ( StringUtils.isBlank(visitRemarksVo.getStateKeyword()) || StringUtils.isEmpty(visitRemarksVo.getStateKeyword())) {
|
|
|
+ state = null;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
VisitRemarkVo visit = new VisitRemarkVo();
|
|
|
visit.setConsult(visitRemarksVo.getConsult());
|
|
@@ -1870,6 +2237,14 @@ public class ClubServiceImpl implements ClubService {
|
|
|
visit.setAuditText(visitRemarksVo.getAuditText());
|
|
|
visit.setProductId(visitRemarksVo.getProductId());
|
|
|
visit.setReportId(visitRemarksVo.getReportId());
|
|
|
+ visit.setCommunicationSituation(visitRemarksVo.getCommunicationSituation());
|
|
|
+ visit.setCommunicationMethods(visitRemarksVo.getCommunicationMethods());
|
|
|
+ visit.setCustomerSource(visitRemarksVo.getCustomerSource());
|
|
|
+ visit.setCustomerGender(visitRemarksVo.getCustomerGender());
|
|
|
+ visit.setCustomerAge(visitRemarksVo.getCustomerAge());
|
|
|
+ visit.setGroupAddition(visitRemarksVo.getGroupAddition());
|
|
|
+ visit.setTrendsKeyword(trends);
|
|
|
+ visit.setStateKeyword(state);
|
|
|
|
|
|
if (StringUtils.isNotBlank(visitRemarksVo.getConsult())) {
|
|
|
if (visitRemarksVo.getConsult().contains(",")) {
|
|
@@ -1923,20 +2298,69 @@ public class ClubServiceImpl implements ClubService {
|
|
|
for (String remark : split) {
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
map.put("label", remark);
|
|
|
- strings.add(map);
|
|
|
+ if (StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
} else if (rk.contains(",")) {
|
|
|
String[] split = rk.split(",");
|
|
|
for (String remark : split) {
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
map.put("label", remark);
|
|
|
- strings.add(map);
|
|
|
+ if (StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
HashMap<String, String> map = new HashMap<>();
|
|
|
map.put("label", rk);
|
|
|
- strings.add(map);
|
|
|
+ if (StringUtils.isNotBlank(rk)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
+ // 动态标签
|
|
|
+ String trendsKeywords = StringUtils.isBlank(r.getTrendsKeyword()) ? "" : r.getTrendsKeyword();
|
|
|
+ if (trendsKeywords.contains(",")) {
|
|
|
+ String[] split = trendsKeywords.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ if (StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", trendsKeywords);
|
|
|
+ if (StringUtils.isNotBlank(trendsKeywords)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 静态标签
|
|
|
+ String stateKeywords = StringUtils.isBlank(r.getStateKeyword()) ? "" : r.getStateKeyword();
|
|
|
+ if (stateKeywords.contains(",")) {
|
|
|
+ String[] split = stateKeywords.split(",");
|
|
|
+ for (String remark : split) {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", remark);
|
|
|
+ if (StringUtils.isNotBlank(remark)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("label", stateKeywords);
|
|
|
+ if (StringUtils.isNotBlank(stateKeywords)) {
|
|
|
+ strings.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 数据为空时 返回null
|
|
|
+ if ( (StringUtils.isBlank(rk) || StringUtils.isEmpty(rk)) &&
|
|
|
+ (StringUtils.isBlank(r.getTrendsKeyword()) || StringUtils.isEmpty(r.getTrendsKeyword())) &&
|
|
|
+ (StringUtils.isBlank(r.getStateKeyword()) || StringUtils.isEmpty(r.getStateKeyword()))) {
|
|
|
+ strings = null;
|
|
|
+ }
|
|
|
+
|
|
|
if (StringUtils.isNotBlank(r.getConsult())) {
|
|
|
if (r.getConsult().contains(",")) {
|
|
|
String[] split = r.getConsult().split(",");
|
|
@@ -1969,6 +2393,7 @@ public class ClubServiceImpl implements ClubService {
|
|
|
visit.setFollowup(r.getFollowup());
|
|
|
visit.setExtra(r.getExtra());
|
|
|
visit.setStatus(r.getStatus());
|
|
|
+ visit.setCreateServiceProviderId(r.getCreateServiceProviderId());
|
|
|
remarkVos.add(visit);
|
|
|
});
|
|
|
PaginationVo<VisitRemarkVo> pageVo = new PaginationVo<>(remarkVos);
|
|
@@ -2082,8 +2507,8 @@ public class ClubServiceImpl implements ClubService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResponseJson getCmRemarksList(String remarks) {
|
|
|
- List<CmRemarksVo> remarklist = clubMapper.getCmRemarksList(remarks);
|
|
|
+ public ResponseJson getCmRemarksList(String remarks, Integer type) {
|
|
|
+ List<String> remarklist = clubMapper.getCmRemarksList(remarks, type);
|
|
|
return ResponseJson.success(remarklist);
|
|
|
}
|
|
|
|
|
@@ -2161,6 +2586,92 @@ public class ClubServiceImpl implements ClubService {
|
|
|
return ResponseJson.success(cmPortraitDto);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 用户需求
|
|
|
+ * @param clubId
|
|
|
+ * @param dateType
|
|
|
+ * @param startTime
|
|
|
+ * @param endTime
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Map<String, Object>> getCustomDemand(Integer clubId, Integer dateType, String startTime, String endTime) {
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date date = new Date();
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(date);
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
+ Date time = calendar.getTime();
|
|
|
+ boolean expty = StringUtils.isEmpty(startTime) && StringUtils.isEmpty(endTime);
|
|
|
+ if (expty) {
|
|
|
+ endTime = dateFormat.format(time);
|
|
|
+ Date start = null;
|
|
|
+ // 日期参数为 日
|
|
|
+ if (0 == dateType) {
|
|
|
+ startTime = endTime;
|
|
|
+ }
|
|
|
+ if (1 == dateType) {
|
|
|
+ calendar.setTime(time);
|
|
|
+ calendar.add(Calendar.MONTH, -1);
|
|
|
+ start = calendar.getTime();
|
|
|
+ startTime = dateFormat.format(start);
|
|
|
+ }
|
|
|
+ if (2 == dateType) {
|
|
|
+ calendar.setTime(time);
|
|
|
+ calendar.add(Calendar.MONTH, -6);
|
|
|
+ start = calendar.getTime();
|
|
|
+ startTime = dateFormat.format(start);
|
|
|
+ }
|
|
|
+ if (3 == dateType) {
|
|
|
+ calendar.setTime(time);
|
|
|
+ calendar.add(Calendar.YEAR, -1);
|
|
|
+ start = calendar.getTime();
|
|
|
+ startTime = dateFormat.format(start);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 用户需求
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ // 咨询记录
|
|
|
+ List<String> clubRemarksInfo = clubMapper.getClubRemarksInfo(clubId, startTime, endTime);
|
|
|
+ for (String remark : clubRemarksInfo) {
|
|
|
+ if (remark.contains(",")) {
|
|
|
+ String[] split = remark.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ if (list.size() < 10 && StringUtils.isNotBlank(s)) {
|
|
|
+ list.add(s);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (list.size() < 10 && StringUtils.isNotBlank(remark)) {
|
|
|
+ list.add(remark);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 访问记录
|
|
|
+ List<String> clubBehaviors = clubMapper.getClubBehavior(clubId, startTime, endTime);
|
|
|
+ if (clubBehaviors.size() > 0) {
|
|
|
+ for (String clubBehavior : clubBehaviors) {
|
|
|
+ if (clubBehavior.contains(",")) {
|
|
|
+ String[] split = clubBehavior.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ if (list.size() < 10 && StringUtils.isNotBlank(s)) {
|
|
|
+ list.add(s);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (list.size() < 10 && StringUtils.isNotBlank(clubBehavior)) {
|
|
|
+ list.add(clubBehavior);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("startTime", startTime);
|
|
|
+ map.put("endTime", endTime);
|
|
|
+ map.put("list", list);
|
|
|
+ return ResponseJson.success(map);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public ResponseJson dataList(CmPortraitDto cmPortrait) {
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
@@ -2233,24 +2744,24 @@ public class ClubServiceImpl implements ClubService {
|
|
|
// 普通订单
|
|
|
if (("0".equals(order.getSecondHandOrderFlag()) || StringUtils.isEmpty(order.getSecondHandOrderFlag()))
|
|
|
&& (!"1".equals(order.getRebateFlag()) || "".equals(order.getRebateFlag()) || StringUtils.isEmpty(order.getRebateFlag()))
|
|
|
- && ((!"1".equals(order.getRefundType()) && !"2".equals(order.getRefundType())) || "".equals(order.getRefundType()) || StringUtils.isEmpty(order.getRefundType()))
|
|
|
- && !"6".equals(order.getStatus())) {
|
|
|
+ && (!"2".equals(order.getRefundType()) || "".equals(order.getRefundType()) || StringUtils.isEmpty(order.getRefundType()))
|
|
|
+ && !"4".equals(order.getStatus())) {
|
|
|
ordinary++;
|
|
|
}
|
|
|
// 二手订单
|
|
|
if ("1".equals(order.getSecondHandOrderFlag()) && !"1".equals(order.getRebateFlag())
|
|
|
- && (!"1".equals(order.getRefundType()) && !"2".equals(order.getRefundType())) && !"6".equals(order.getStatus())) {
|
|
|
+ && (!"2".equals(order.getRefundType())) && !"4".equals(order.getStatus())) {
|
|
|
secondHand++;
|
|
|
}
|
|
|
// 返佣订单
|
|
|
- if ("1".equals(order.getRebateFlag()) &&
|
|
|
- (!"1".equals(order.getRefundType()) && !"2".equals(order.getRefundType()) || StringUtils.isEmpty(order.getRefundType())) && !"6".equals(order.getStatus())) {
|
|
|
+ /*if ("1".equals(order.getRebateFlag()) &&
|
|
|
+ (!"2".equals(order.getRefundType()) || StringUtils.isEmpty(order.getRefundType())) && !"4".equals(order.getStatus())) {
|
|
|
rebate++;
|
|
|
- }
|
|
|
+ }*/
|
|
|
// 部分退款
|
|
|
- if ("1".equals(order.getRefundType()) && !"6".equals(order.getStatus())) {
|
|
|
+ /*if ("1".equals(order.getRefundType()) && !"4".equals(order.getStatus())) {
|
|
|
partialRefund++;
|
|
|
- }
|
|
|
+ }*/
|
|
|
// 全部退款
|
|
|
/*if ("2".equals(order.getRefundType()) && !"6".equals(order.getStatus())) {
|
|
|
fullRefund++;
|
|
@@ -2287,7 +2798,7 @@ public class ClubServiceImpl implements ClubService {
|
|
|
orderPortrait.setPer("0");
|
|
|
}
|
|
|
orderPortraits.add(orderPortrait);
|
|
|
- orderPortrait = new PortraitMap();
|
|
|
+ /*orderPortrait = new PortraitMap();
|
|
|
orderPortrait.setValue(rebate);
|
|
|
if (rebate != 0) {
|
|
|
orderPortrait.setName("返佣");
|
|
@@ -2296,8 +2807,8 @@ public class ClubServiceImpl implements ClubService {
|
|
|
orderPortrait.setName("返佣");
|
|
|
orderPortrait.setPer("0");
|
|
|
}
|
|
|
- orderPortraits.add(orderPortrait);
|
|
|
- orderPortrait = new PortraitMap();
|
|
|
+ orderPortraits.add(orderPortrait);*/
|
|
|
+ /*orderPortrait = new PortraitMap();
|
|
|
orderPortrait.setValue(partialRefund);
|
|
|
if (partialRefund != 0) {
|
|
|
orderPortrait.setName("部分退款");
|
|
@@ -2306,7 +2817,7 @@ public class ClubServiceImpl implements ClubService {
|
|
|
orderPortrait.setName("部分退款");
|
|
|
orderPortrait.setPer("0");
|
|
|
}
|
|
|
- orderPortraits.add(orderPortrait);
|
|
|
+ orderPortraits.add(orderPortrait);*/
|
|
|
/*orderPortrait = new PortraitMap();
|
|
|
orderPortrait.setValue(fullRefund);
|
|
|
if (fullRefund != 0) {
|