Commit cf4e6b13 by xugaojun

新增默认欢迎语字段,修改方法名称

parent aea883e7
......@@ -32,6 +32,10 @@ public class WelcomeDetailDTO implements Serializable {
*/
private Integer openFlag;
/**
* 默认欢迎语标记 1是 0否
*/
private Integer defaultWelcomeFlag;
/**
* 适用部门列表
*/
private List<WelcomeSuitDepartmentDTO> suitDepartmentList;
......@@ -108,6 +112,14 @@ public class WelcomeDetailDTO implements Serializable {
this.welcomeMediaList = welcomeMediaList;
}
public Integer getDefaultWelcomeFlag() {
return defaultWelcomeFlag;
}
public void setDefaultWelcomeFlag(Integer defaultWelcomeFlag) {
this.defaultWelcomeFlag = defaultWelcomeFlag;
}
@Override
public String toString() {
return "WelcomeDetailDTO{" +
......
......@@ -396,7 +396,7 @@ public class EnterpriseController extends WebBaseController {
}
/**
* desc: 发送群发
* desc: 发送存量会员关联消息
*
* @param wxEnterpriseId 微信企业id
* @param content 文本内容
......@@ -404,10 +404,10 @@ public class EnterpriseController extends WebBaseController {
* @author : YongEn
* @date : 2022/2/17
*/
@RequestMapping("/send-mass")
@RequestMapping("/send-stock-member-relation-message")
public HaobanResponse sendMass(String wxEnterpriseId, String content) {
// 异步调用
groupSendOperateApiService.sendMbrFriendRelationMassBefore(wxEnterpriseId, content);
groupSendOperateApiService.sendStockMemberRelationMessage(wxEnterpriseId, content);
return resultResponse(HaoBanErrCode.ERR_1);
}
......
......@@ -32,7 +32,7 @@ public interface TabHaobanWelcomeMapper {
* @author : YongEn
* @date : 2022/2/9
*/
List<TabWelcome> listByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("title") String title);
List<TabWelcome> listByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("title") String title, @Param("defaultWelcomeFlag") Integer defaultWelcomeFlag);
/**
* desc: 根据微信企业id查询数量
......
......@@ -67,6 +67,11 @@ public class TabWelcome implements Serializable {
*/
private String operatorName;
/**
* 默认欢迎语标记 1是 0否
*/
private Integer defaultWelcomeFlag;
public String getWelcomeId() {
return welcomeId;
}
......@@ -154,4 +159,12 @@ public class TabWelcome implements Serializable {
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public Integer getDefaultWelcomeFlag() {
return defaultWelcomeFlag;
}
public void setDefaultWelcomeFlag(Integer defaultWelcomeFlag) {
this.defaultWelcomeFlag = defaultWelcomeFlag;
}
}
\ No newline at end of file
......@@ -30,6 +30,10 @@ public class WelcomeDetailBO {
*/
private Integer openFlag;
/**
* 默认欢迎语标记 1是 0否
*/
private Integer defaultWelcomeFlag;
/**
* 适用部门列表
*/
private List<WelcomeSuitDepartmentBO> suitDepartmentList;
......@@ -106,6 +110,14 @@ public class WelcomeDetailBO {
this.suitStaffList = suitStaffList;
}
public Integer getDefaultWelcomeFlag() {
return defaultWelcomeFlag;
}
public void setDefaultWelcomeFlag(Integer defaultWelcomeFlag) {
this.defaultWelcomeFlag = defaultWelcomeFlag;
}
@Override
public String toString() {
return "WelcomeDetailBO{" +
......
......@@ -128,6 +128,8 @@ public class WelcomeServiceImpl implements WelcomeService {
welcome.setUpdateTime(new Date());
welcome.setOperatorId(bo.getOperatorId());
welcome.setOperatorName(bo.getOperatorName());
// 通过外部新增的统一走非默认
welcome.setDefaultWelcomeFlag(0);
welcomeMapper.insert(welcome);
return welcome;
}
......@@ -173,7 +175,8 @@ public class WelcomeServiceImpl implements WelcomeService {
@Override
public List<WelcomeListBO> listWelcome(String wxEnterpriseId, String title) {
List<TabWelcome> welcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, title);
// 查询所有类型 默认 非默认
List<TabWelcome> welcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, title, null);
if (CollectionUtils.isEmpty(welcomeList)) {
return Collections.emptyList();
}
......@@ -229,6 +232,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcomeDetail.setTitle(welcome.getTitle());
welcomeDetail.setWelcomeContent(welcome.getWelcomeContent());
welcomeDetail.setOpenFlag(welcome.getOpenFlag());
welcomeDetail.setDefaultWelcomeFlag(welcome.getDefaultWelcomeFlag());
// 媒体列表
welcomeDetail.setWelcomeMediaList(
convertWelcomeMedia(welcomeMediaMapper.listByWelcomeId(welcome.getWelcomeId()))
......@@ -326,13 +330,21 @@ public class WelcomeServiceImpl implements WelcomeService {
if (StringUtils.isEmpty(staffId) || StringUtils.isEmpty(wxEnterpriseId)) {
return null;
}
// 匹配欢迎语, 查询列表
List<TabWelcome> welcomeList = welcomeMapper.listByWxEnterpriseId(wxEnterpriseId, null);
if (CollectionUtils.isEmpty(welcomeList)) {
logger.info("当前企业{}不存在欢迎语", wxEnterpriseId);
// 查询返回默认欢迎语
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));
}
// 匹配员工 -- 暂时不做
// 匹配员工部门,查询员工部门关联
List<TabHaobanStaffDepartmentRelated> departmentRelatedList = staffDepartmentRelatedMapper.listByWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
if (CollectionUtils.isEmpty(departmentRelatedList)) {
......@@ -352,37 +364,46 @@ public class WelcomeServiceImpl implements WelcomeService {
// 查询欢迎语适用范围
List<TabHaobanWelcomeSuitRang> welcomeSuitRangList = welcomeSuitRangMapper.listByWxEnterpriseIdAndDeptList(wxEnterpriseId, departmentIdList);
if (CollectionUtils.isEmpty(welcomeSuitRangList)) {
logger.info("当前员工所在部门不存在匹配欢迎语");
return null;
logger.info("当前员工所在部门不存在匹配欢迎语, 返回默认欢迎语");
return convertWelcomeToBo(defaultWelcomeList.get(0));
}
// welcomeList 已经经过时间排序, 顺序去对适用欢迎语匹配, 第一条即是匹配上的欢迎语
WelcomeDetailBO matchWelcome = null;
Set<String> welcomeIdSet = welcomeSuitRangList.stream().map(TabHaobanWelcomeSuitRang::getWelcomeId).collect(Collectors.toSet());
for (TabWelcome welcome : welcomeList) {
if (welcomeIdSet.contains(welcome.getWelcomeId())) {
matchWelcome = new WelcomeDetailBO();
matchWelcome.setWelcomeId(welcome.getWelcomeId());
matchWelcome.setWxEnterpriseId(welcome.getWxEnterpriseId());
matchWelcome.setTitle(welcome.getTitle());
matchWelcome.setWelcomeContent(welcome.getWelcomeContent());
matchWelcome.setOpenFlag(welcome.getOpenFlag());
// 媒体列表
matchWelcome.setWelcomeMediaList(
convertWelcomeMedia(welcomeMediaMapper.listByWelcomeId(welcome.getWelcomeId()))
);
if (StringUtils.isNotEmpty(welcome.getWelcomeImg())) {
// 兼容老的欢迎语图片
WelcomeMediaBO bo = new WelcomeMediaBO();
bo.setWelcomeId(welcome.getWelcomeId());
bo.setWxEnterpriseId(welcome.getWxEnterpriseId());
bo.setMediaTitle("图片");
bo.setMediaType(WelcomeMediaTypeEnum.IMAGE.getCode());
bo.setMediaUrl(welcome.getWelcomeImg());
matchWelcome.getWelcomeMediaList().add(bo);
}
matchWelcome = convertWelcomeToBo(welcome);
break;
}
}
if (Objects.isNull(matchWelcome)) {
return convertWelcomeToBo(defaultWelcomeList.get(0));
}
return matchWelcome;
}
private WelcomeDetailBO convertWelcomeToBo(TabWelcome welcome) {
WelcomeDetailBO matchWelcome = new WelcomeDetailBO();
matchWelcome.setWelcomeId(welcome.getWelcomeId());
matchWelcome.setWxEnterpriseId(welcome.getWxEnterpriseId());
matchWelcome.setTitle(welcome.getTitle());
matchWelcome.setWelcomeContent(welcome.getWelcomeContent());
matchWelcome.setOpenFlag(welcome.getOpenFlag());
matchWelcome.setDefaultWelcomeFlag(welcome.getDefaultWelcomeFlag());
// 媒体列表
matchWelcome.setWelcomeMediaList(
convertWelcomeMedia(welcomeMediaMapper.listByWelcomeId(welcome.getWelcomeId()))
);
if (StringUtils.isNotEmpty(welcome.getWelcomeImg())) {
// 兼容老的欢迎语图片
WelcomeMediaBO bo = new WelcomeMediaBO();
bo.setWelcomeId(welcome.getWelcomeId());
bo.setWxEnterpriseId(welcome.getWxEnterpriseId());
bo.setMediaTitle("图片");
bo.setMediaType(WelcomeMediaTypeEnum.IMAGE.getCode());
bo.setMediaUrl(welcome.getWelcomeImg());
matchWelcome.getWelcomeMediaList().add(bo);
}
return matchWelcome;
}
......
......@@ -95,6 +95,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService {
dto.setTitle(welcome.getTitle());
dto.setWelcomeContent(welcome.getWelcomeContent());
dto.setOpenFlag(welcome.getOpenFlag());
dto.setDefaultWelcomeFlag(welcome.getDefaultWelcomeFlag());
// 媒体列表
dto.setWelcomeMediaList(
CollectionUtils.isEmpty(welcome.getWelcomeMediaList()) ? Collections.emptyList()
......
......@@ -13,12 +13,13 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="operator_id" jdbcType="VARCHAR" property="operatorId"/>
<result column="operator_name" jdbcType="VARCHAR" property="operatorName"/>
<result column="default_welcome_flag" jdbcType="INTEGER" property="defaultWelcomeFlag"/>
</resultMap>
<sql id="Base_Column_List">
welcome_id
, wx_enterprise_id, title, welcome_content,welcome_img,open_flag, status_flag,
create_time, update_time, operator_id, operator_name
create_time, update_time, operator_id, operator_name, default_welcome_flag
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
......@@ -37,7 +38,7 @@
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabWelcome">
insert into tab_haoban_welcome (welcome_id, wx_enterprise_id, title,
welcome_content, welcome_img, open_flag, status_flag, create_time,
update_time, operator_id, operator_name)
update_time, operator_id, operator_name, default_welcome_flag)
values (#{welcomeId,jdbcType=VARCHAR},
#{wxEnterpriseId,jdbcType=VARCHAR},
#{title,jdbcType=VARCHAR},
......@@ -48,7 +49,9 @@
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
#{operatorId,jdbcType=VARCHAR},
#{operatorName,jdbcType=VARCHAR})
#{operatorName,jdbcType=VARCHAR},
#{defaultWelcomeFlag,jdbcType=INTEGER}
)
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabWelcome">
......@@ -104,6 +107,9 @@
<if test="title != null and title != ''">
title = #{title,jdbcType=VARCHAR}
</if>
<if test="defaultWelcomeFlag != null and title != ''">
default_welcome_flag = #{defaultWelcomeFlag,jdbcType=INTEGER}
</if>
and status_flag = 1
order by create_time desc
</select>
......
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