Commit afb9043d by 徐高华

群发

parent cff3a63c
......@@ -18,6 +18,7 @@ public class GroupChatDataDTO implements Serializable{
private Long dataId;
private String wxEnterpriseId;
private String staffId;
private String staffName ;
/**统计日期*/
private java.util.Date date;
/**新增客户群数量*/
......@@ -38,7 +39,15 @@ public class GroupChatDataDTO implements Serializable{
private Integer migrateTraineeChatCnt;
private java.util.Date createTime;
public void setDataId(Long dataId){
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public void setDataId(Long dataId){
this.dataId = dataId;
}
......
......@@ -43,6 +43,16 @@ public class GroupChatHmDTO implements Serializable {
private List<Long> chatIdList;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效
private Integer statusFlag ;
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public void setChatHmId(Long chatHmId) {
this.chatHmId = chatHmId;
......
......@@ -21,7 +21,7 @@ public class GroupChatSearchQDTO implements Serializable {
private List<String> staffIdList;
private String staffId ;
private int gicFlag = 1 ;
private String sortColumn = "";
private String sortColumn ;
private String sortType = "desc" ;
public String getSortColumn() {
......
......@@ -40,8 +40,18 @@ public class TabGroupChatHm implements Serializable{
private Integer chatCount;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效
private Integer statusFlag ;
public void setChatHmId(Long chatHmId){
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
......
......@@ -40,8 +40,18 @@ public class GroupChatHmBO implements Serializable{
private Integer chatCount;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效
private Integer statusFlag ;
public void setChatHmId(Long chatHmId){
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public void setChatHmId(Long chatHmId){
this.chatHmId = chatHmId;
}
......
package com.gic.haoban.manage.service.service.chat;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO;
public interface GroupChatDataService {
/**
......@@ -11,4 +16,8 @@ public interface GroupChatDataService {
* @throws
*/
public void chatDataTimer(String params) ;
public Page<GroupChatDataDTO> listPage(ChatDataSearchQDTO qdto, BasePageInfo basePageInfo);
}
\ No newline at end of file
......@@ -49,16 +49,35 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
@Autowired
private WxEnterpriseRelatedService wxEnterpriseRelatedService;
@Autowired
private StaffClerkRelationService staffClerkRelationService ;
private StaffClerkRelationService staffClerkRelationService;
@Override
public ServiceResponse<Page<GroupChatDTO>> listPage(GroupChatSearchQDTO qdto, BasePageInfo basePageInfo) {
String sortColumn = qdto.getSortColumn();
if (StringUtils.isBlank(sortColumn)) {
sortColumn = null;
} else if ("totalCount".equals(sortColumn)) {
sortColumn = "total_count";
} else if ("totalMemberCount".equals(sortColumn)) {
sortColumn = "total_member_count";
} else if ("addMemberCount".equals(sortColumn)) {
sortColumn = "add_member_count";
} else if ("addCount".equals(sortColumn)) {
sortColumn = "add_count";
} else if ("quitCount".equals(sortColumn)) {
sortColumn = "quit_count";
} else if ("quitMemberCount".equals(sortColumn)) {
sortColumn = "quit_member_count";
}
Page<GroupChatBO> page = this.groupChatService.listPage(qdto, basePageInfo);
Page<GroupChatDTO> resultPage = PageHelperUtils.changePageToCurrentPage(page, GroupChatDTO.class);
List<GroupChatDTO> dtoList = resultPage.getResult() ;
if(CollectionUtils.isNotEmpty(dtoList)) {
List<String> staffIdList = dtoList.stream().filter(dto->StringUtils.isNotBlank(dto.getStaffId())).map(dto->dto.getStaffId()).collect(Collectors.toList()) ;
List<String> relationIdList = this.staffClerkRelationService.listRelationsStaffId(new HashSet<>(staffIdList));
List<GroupChatDTO> dtoList = resultPage.getResult();
// 处理关联状态
if (CollectionUtils.isNotEmpty(dtoList) && qdto.getStatus() == 1) {
List<String> staffIdList = dtoList.stream().filter(dto -> StringUtils.isNotBlank(dto.getStaffId()))
.map(dto -> dto.getStaffId()).collect(Collectors.toList());
List<String> relationIdList = this.staffClerkRelationService
.listRelationsStaffId(new HashSet<>(staffIdList));
dtoList.forEach(one -> {
one.setClerkRelationFlag(relationIdList.contains(one.getStaffId()) ? 1 : 0);
});
......@@ -141,13 +160,13 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
this.groupChatService.transfer(wxEnterpriseId, staffId, groupChatIdList);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Boolean> getSetGicFlag(String wxEnterpriseId) {
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId) ;
if(CollectionUtils.isNotEmpty(list) && list.size()==1) {
return ServiceResponse.success(Boolean.TRUE) ;
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtils.isNotEmpty(list) && list.size() == 1) {
return ServiceResponse.success(Boolean.TRUE);
}
return ServiceResponse.success(Boolean.FALSE) ;
return ServiceResponse.success(Boolean.FALSE);
}
}
......@@ -24,6 +24,7 @@
<result column="update_time" property="updateTime" />
<result column="chat_count" property="chatCount" />
<result column="link_count" property="linkCount" />
<result column="status_flag" property="statusFlag"/>
</resultMap>
<sql id="Base_Column_List">
chat_hm_id,
......@@ -45,7 +46,7 @@
create_time,
update_time,
chat_count,
link_count
link_count , status_flag
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert"
......@@ -71,12 +72,12 @@
create_time,
update_time,
chat_count,
link_count
link_count , status_flag
)VALUES(
#{chatHmId,jdbcType=BIGINT},
#{chatHmId},
#{chatHmCode},
#{wxEnterpriseId,jdbcType=CHAR},
#{enterpriseId,jdbcType=CHAR},
#{wxEnterpriseId},
#{enterpriseId},
#{name},
#{remark},
#{autoCreateRoom},
......@@ -89,17 +90,19 @@
#{modifierId},
#{modifierName},
#{deleteFlag},
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
#{createTime},
#{updateTime},
#{chatCount},
0
0 , 1
)
]]>
</insert>
<!-- =====================删除==================== -->
<update id="deleteById" parameterType="long">
UPDATE tab_haoban_group_chat_hm SET delete_flag = 1 WHERE chat_hm_id = #{chatHmId}
UPDATE
tab_haoban_group_chat_hm SET delete_flag = 1 WHERE chat_hm_id =
#{chatHmId}
</update>
......@@ -122,19 +125,26 @@
</update>
<!-- ============ 查询============= -->
<select id="selectById" parameterType="long" resultMap="result-map-tabHaobanGroupChatHm">
SELECT
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat_hm WHERE chat_hm_id = #{chatHmId} and delete_flag = 0
<select id="selectById" parameterType="long"
resultMap="result-map-tabHaobanGroupChatHm">
SELECT
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat_hm WHERE chat_hm_id = #{chatHmId} and
delete_flag = 0
</select>
<select id="list" resultMap="result-map-tabHaobanGroupChatHm">
<select id="list" resultMap="result-map-tabHaobanGroupChatHm">
SELECT
<include refid="Base_Column_List" /> FROM tab_haoban_group_chat_hm WHERE
wx_enterprise_id =#{wxEnterpriseId} and enterprise_id=#{enterpriseId}
and delete_flag = 0
<include refid="Base_Column_List" />
FROM tab_haoban_group_chat_hm WHERE wx_enterprise_id =#{wxEnterpriseId} and enterprise_id=#{enterpriseId}
and delete_flag = 0
<if test="null != startDate">
and create_time >= #{startDate} and create_time <![CDATA[<=]]> #{endDate}
</if>
<if test="null != searchParams">
and plan like '%${searchParams}%'
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -217,8 +217,12 @@
and gic_flag = 1
</if>
and delete_flag = 0
order by #{sortColumn} #{sortType}
<if test="null == sortColumn">
order by chat_add_time desc
</if>
<if test="null != sortColumn">
order by #{sortColumn} #{sortType}
</if>
</select>
<update id="updateChatEnterpriseId">
......
......@@ -137,6 +137,22 @@
<select id="list" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO"
resultMap="result-map-tabHaobanGroupChatPlan">
select <include refid="Base_Column_List" /> from tab_haoban_group_chat_plan
select <include refid="Base_Column_List" /> from tab_haoban_group_chat_plan where wx_enterprise_id =#{wxEnterpriseId}
and enterprise_id = #{enterpriseId} and delete_flag = 0
<if test="null != status and status==1">
and start_time <![CDATA[<= ]]> now() and end_time >= now()
</if>
<if test="null != status and status==2">
and start_time > now()
</if>
<if test="null != status and status==3">
and end_time <![CDATA[<]]> now()
</if>
<if test="null != searchParams">
and name like '%#{searchParams}%'
</if>
<if test="null != startDate">
and create_time <![CDATA[>=]]> #{startDate} and create_time <![CDATA[<=]]> #{endDate}
</if>
</select>
</mapper>
\ No newline at end of file
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