Commit d1f5f523 by xugaojun

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

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