Commit d1f5f523 by xugaojun

修复一个插入问题,修改欢迎语匹配逻辑

parent 5603028b
...@@ -30,7 +30,7 @@ public class SaveWelcomeMediaQDTO implements Serializable { ...@@ -30,7 +30,7 @@ public class SaveWelcomeMediaQDTO implements Serializable {
/** /**
* 小程序id,仅类型为5小程序时需要传 * 小程序id,仅类型为5小程序时需要传
*/ */
private String miniProgramId; private String miniprogramSettingId;
public String getMediaTitle() { public String getMediaTitle() {
return mediaTitle; return mediaTitle;
...@@ -64,12 +64,12 @@ public class SaveWelcomeMediaQDTO implements Serializable { ...@@ -64,12 +64,12 @@ public class SaveWelcomeMediaQDTO implements Serializable {
this.mediaSize = mediaSize; this.mediaSize = mediaSize;
} }
public String getMiniProgramId() { public String getMiniprogramSettingId() {
return miniProgramId; return miniprogramSettingId;
} }
public void setMiniProgramId(String miniProgramId) { public void setMiniprogramSettingId(String miniprogramSettingId) {
this.miniProgramId = miniProgramId; this.miniprogramSettingId = miniprogramSettingId;
} }
@Override @Override
......
...@@ -27,7 +27,7 @@ public class SaveWelcomeMediaBO { ...@@ -27,7 +27,7 @@ public class SaveWelcomeMediaBO {
/** /**
* 小程序id,仅类型为5小程序时需要传 * 小程序id,仅类型为5小程序时需要传
*/ */
private String miniProgramId; private String miniprogramSettingId;
public String getMediaTitle() { public String getMediaTitle() {
return mediaTitle; return mediaTitle;
...@@ -61,12 +61,12 @@ public class SaveWelcomeMediaBO { ...@@ -61,12 +61,12 @@ public class SaveWelcomeMediaBO {
this.mediaSize = mediaSize; this.mediaSize = mediaSize;
} }
public String getMiniProgramId() { public String getMiniprogramSettingId() {
return miniProgramId; return miniprogramSettingId;
} }
public void setMiniProgramId(String miniProgramId) { public void setMiniprogramSettingId(String miniprogramSettingId) {
this.miniProgramId = miniProgramId; this.miniprogramSettingId = miniprogramSettingId;
} }
@Override @Override
......
...@@ -166,7 +166,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -166,7 +166,7 @@ public class WelcomeServiceImpl implements WelcomeService {
media.setMediaType(one.getMediaType()); media.setMediaType(one.getMediaType());
media.setMediaUrl(StringUtils.isEmpty(one.getMediaUrl()) ? "-1" : one.getMediaUrl()); media.setMediaUrl(StringUtils.isEmpty(one.getMediaUrl()) ? "-1" : one.getMediaUrl());
media.setMediaSize(one.getMediaSize()); media.setMediaSize(one.getMediaSize());
media.setMiniProgramId(one.getMiniProgramId()); media.setMiniProgramId(one.getMiniprogramSettingId());
media.setCreateTime(new Date()); media.setCreateTime(new Date());
media.setDeleteFlag(0); media.setDeleteFlag(0);
return media; return media;
...@@ -363,33 +363,25 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -363,33 +363,25 @@ public class WelcomeServiceImpl implements WelcomeService {
if (StringUtils.isEmpty(staffId) || StringUtils.isEmpty(wxEnterpriseId)) { if (StringUtils.isEmpty(staffId) || StringUtils.isEmpty(wxEnterpriseId)) {
return null; return null;
} }
// 查询返回默认欢迎语 // 查询非默认欢迎语
List<TabWelcome> nonDefaultWelcomList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, null, 0);
// 查询默认欢迎语
List<TabWelcome> defaultWelcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, null, 1); List<TabWelcome> defaultWelcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, null, 1);
if (CollectionUtils.isEmpty(defaultWelcomeList)) { if (CollectionUtils.isEmpty(nonDefaultWelcomList)) {
logger.info("当前企业{}不存在默认欢迎语", wxEnterpriseId); return checkAndGetDefaultWelcome(defaultWelcomeList);
return null;
}
// 匹配欢迎语, 查询列表, 查询非默认欢迎语
List<TabWelcome> welcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, null, 0);
if (CollectionUtils.isEmpty(welcomeList)) {
logger.info("当前企业{}不存在配置欢迎语, 返回默认欢迎语", wxEnterpriseId);
return convertWelcomeToBo(defaultWelcomeList.get(0));
} }
// 匹配部门组织架构
// 匹配员工 -- 暂时不做
// 匹配员工部门,查询员工部门关联
List<TabHaobanStaffDepartmentRelated> departmentRelatedList = staffDepartmentRelatedMapper.listByWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId); List<TabHaobanStaffDepartmentRelated> departmentRelatedList = staffDepartmentRelatedMapper.listByWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
if (CollectionUtils.isEmpty(departmentRelatedList)) { if (CollectionUtils.isEmpty(departmentRelatedList)) {
logger.info("员工{}, 未设置部门", staffId); logger.info("员工{}, 未设置部门", staffId);
return null; return checkAndGetDefaultWelcome(defaultWelcomeList);
} }
List<TabHaobanStaffDepartmentRelated> filterStaffDepartmentList = departmentRelatedList.stream() List<TabHaobanStaffDepartmentRelated> filterStaffDepartmentList = departmentRelatedList.stream()
.filter(one -> StringUtils.isNotEmpty(one.getDepartmentId())) .filter(one -> StringUtils.isNotEmpty(one.getDepartmentId()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (CollectionUtils.isEmpty(filterStaffDepartmentList)) { if (CollectionUtils.isEmpty(filterStaffDepartmentList)) {
logger.info("员工{}, 部门过滤为空", staffId); logger.info("员工{}, 部门过滤为空", staffId);
return null; return checkAndGetDefaultWelcome(defaultWelcomeList);
} }
// 获取部门列表 // 获取部门列表
List<String> departmentIdList = filterStaffDepartmentList.stream() List<String> departmentIdList = filterStaffDepartmentList.stream()
...@@ -397,24 +389,42 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -397,24 +389,42 @@ public class WelcomeServiceImpl implements WelcomeService {
// 查询欢迎语适用范围 // 查询欢迎语适用范围
List<TabHaobanWelcomeSuitRang> welcomeSuitRangList = welcomeSuitRangMapper.listByWxEnterpriseIdAndDeptList(wxEnterpriseId, departmentIdList); List<TabHaobanWelcomeSuitRang> welcomeSuitRangList = welcomeSuitRangMapper.listByWxEnterpriseIdAndDeptList(wxEnterpriseId, departmentIdList);
if (CollectionUtils.isEmpty(welcomeSuitRangList)) { if (CollectionUtils.isEmpty(welcomeSuitRangList)) {
logger.info("当前员工所在部门不存在匹配欢迎语, 返回默认欢迎语"); logger.info("当前员工所在部门不存在匹配欢迎语");
return convertWelcomeToBo(defaultWelcomeList.get(0)); return checkAndGetDefaultWelcome(defaultWelcomeList);
} }
// welcomeList 已经经过时间排序, 顺序去对适用欢迎语匹配, 第一条即是匹配上的欢迎语 // welcomeList 已经经过时间排序, 顺序去对适用欢迎语匹配, 第一条即是匹配上的欢迎语
WelcomeDetailBO matchWelcome = null; WelcomeDetailBO matchWelcome = null;
Set<String> welcomeIdSet = welcomeSuitRangList.stream().map(TabHaobanWelcomeSuitRang::getWelcomeId).collect(Collectors.toSet()); Set<String> welcomeIdSet = welcomeSuitRangList.stream().map(TabHaobanWelcomeSuitRang::getWelcomeId).collect(Collectors.toSet());
for (TabWelcome welcome : welcomeList) { for (TabWelcome welcome : nonDefaultWelcomList) {
if (welcomeIdSet.contains(welcome.getWelcomeId())) { if (welcomeIdSet.contains(welcome.getWelcomeId())) {
matchWelcome = convertWelcomeToBo(welcome); matchWelcome = convertWelcomeToBo(welcome);
break; break;
} }
} }
if (Objects.isNull(matchWelcome)) { if (Objects.isNull(matchWelcome)) {
return convertWelcomeToBo(defaultWelcomeList.get(0)); return checkAndGetDefaultWelcome(defaultWelcomeList);
} }
logger.info("欢迎语已匹配");
return matchWelcome; return matchWelcome;
} }
/**
* desc: 校验并且返回默认欢迎语
* 在匹配欢迎语时, 每到需要返回默认欢迎语的地方, 就要走这段逻辑
*
* @param defaultWelcomeList 默认欢迎语列表
* @return : {@link WelcomeDetailBO}
* @author : YongEn
* @date : 2022/3/10
*/
private WelcomeDetailBO checkAndGetDefaultWelcome(List<TabWelcome> defaultWelcomeList) {
if (CollectionUtils.isEmpty(defaultWelcomeList)) {
logger.info("未配置默认欢迎语");
return null;
}
return convertWelcomeToBo(defaultWelcomeList.get(0));
}
@Override @Override
public Boolean saveDefaultWelcome(String wxEnterpriseId) { public Boolean saveDefaultWelcome(String wxEnterpriseId) {
List<TabWelcome> welcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, null, 1); List<TabWelcome> welcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, null, 1);
......
...@@ -55,8 +55,8 @@ ...@@ -55,8 +55,8 @@
media_title, media_type, media_url,media_size, mini_program_id, media_title, media_type, media_url,media_size, mini_program_id,
create_time, update_time, delete_flag) create_time, update_time, delete_flag)
values (#{welcomeMediaId}, #{wxEnterpriseId}, #{welcomeId}, values (#{welcomeMediaId}, #{wxEnterpriseId}, #{welcomeId},
#{mediaTitle}, #{mediaType}, #{mediaUrl},#{mediaSize},#{miniProgramId} #{mediaTitle}, #{mediaType}, #{mediaUrl}, #{mediaSize}, #{miniProgramId}
#{createTime}, #{updateTime},#{deleteFlag}) ,#{createTime}, #{updateTime},#{deleteFlag})
</insert> </insert>
<!--通过主键修改数据--> <!--通过主键修改数据-->
......
...@@ -30,7 +30,7 @@ public class SaveWelcomeMediaQO implements Serializable { ...@@ -30,7 +30,7 @@ public class SaveWelcomeMediaQO implements Serializable {
/** /**
* 小程序id,仅类型为5小程序时需要传 * 小程序id,仅类型为5小程序时需要传
*/ */
private String miniProgramId; private String miniprogramSettingId;
public String getMediaTitle() { public String getMediaTitle() {
return mediaTitle; return mediaTitle;
...@@ -64,12 +64,12 @@ public class SaveWelcomeMediaQO implements Serializable { ...@@ -64,12 +64,12 @@ public class SaveWelcomeMediaQO implements Serializable {
this.mediaSize = mediaSize; this.mediaSize = mediaSize;
} }
public String getMiniProgramId() { public String getMiniprogramSettingId() {
return miniProgramId; return miniprogramSettingId;
} }
public void setMiniProgramId(String miniProgramId) { public void setMiniprogramSettingId(String miniprogramSettingId) {
this.miniProgramId = miniProgramId; this.miniprogramSettingId = miniprogramSettingId;
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment