Commit e13f90ac by zzd

Merge remote-tracking branch 'origin/developer' into developer

parents 3c6e9ffa 32f2d2ba
......@@ -33,6 +33,7 @@ public class GroupChatPlanOwnerLogDTO implements Serializable{
private Integer sendStatus;
private Integer totalCount;
private Integer sendCount;
private Integer failCount ;
private java.util.Date createTime;
private java.util.Date updateTime;
private String remark ;
......@@ -40,7 +41,15 @@ public class GroupChatPlanOwnerLogDTO implements Serializable{
private Date expireDate ;
private Date sendTime ;
public String getPlanName() {
public Integer getFailCount() {
return failCount;
}
public void setFailCount(Integer failCount) {
this.failCount = failCount;
}
public String getPlanName() {
return planName;
}
......
......@@ -23,7 +23,16 @@ public class GroupChatPlanSearchQDTO implements Serializable {
private Date endDate;
private String clerkId ;
private String storeId ;
private Long ownLogId ;
public Long getOwnLogId() {
return ownLogId;
}
public void setOwnLogId(Long ownLogId) {
this.ownLogId = ownLogId;
}
public String getStoreId() {
return storeId;
}
......
......@@ -10,7 +10,7 @@ public enum PendingTaskTypeEnum {
TEL_TASK(1, "话务任务", "您收到了新的话务任务【{}】,赶紧去执行吧~"),
GROUP_TASK(3, "客户群发", "您收到了新的企微群发任务【{}】,赶紧到企业微信-消息-群发助手中执行吧~"),
ACTIVITY(4, "活动", "您报名的{}活动已经开始啦,快去转发赚佣金吧~"),
GROUP_CHAT(5, "社群群发", "您收到了新的企微群发任务【{}】,赶紧到企业微信-消息-群发助手中执行吧~"),
GROUP_CHAT(5, "社群群发", "您收到了新的社群群发任务【{}】,赶紧到企业微信-消息-群发助手中执行吧~"),
;
private int type;
private String name;
......
......@@ -38,6 +38,10 @@ public interface GroupChatPlanApiService {
* @throws
*/
public ServiceResponse<Void> doPlanTimer(String params);
public ServiceResponse<Void> doPlanSendInfoTimer(String params) ;
public ServiceResponse<Void> reflushSendInfo(Long ownerLogId) ;
public ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> listOwnerLogPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo);
......
......@@ -25,7 +25,7 @@ public interface GroupChatPlanOwnerLogMapper {
public TabGroupChatPlanOwnerLog selectById(Long ownerLogId);
public void updateSendCount(@Param("id") Long id, @Param("sendCount") int sendCount,
public void updateSendCount(@Param("id") Long id, @Param("sendCount") int sendCount, @Param("failCount") int failCount,
@Param("sendTime") Date sendTime);
public List<GroupChatPlanOwnerLogDTO> listPage(GroupChatPlanSearchQDTO qdto);
......
......@@ -25,6 +25,7 @@ public class TabGroupChatPlanOwnerLog implements Serializable {
private String clerkId;
/**1已发送 0待发送*/
private Integer sendStatus;
private Integer failCount ;
private Integer totalCount;
private Integer sendCount;
private java.util.Date createTime;
......@@ -36,6 +37,14 @@ public class TabGroupChatPlanOwnerLog implements Serializable {
private Date sendTime;
private Date expireDate;
public Integer getFailCount() {
return failCount;
}
public void setFailCount(Integer failCount) {
this.failCount = failCount;
}
public Date getExpireDate() {
return expireDate;
}
......
......@@ -12,9 +12,9 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog;
public interface GroupChatPlanOwnerLogService {
public void save(GroupChatPlanOwnerLogDTO dto);
public GroupChatPlanOwnerLogDTO save(GroupChatPlanOwnerLogDTO dto);
public void updateSendCount(Long id, int sendCount, Date sendTime);
public void updateSendCount(Long id, int sendCount, Date sendTime, int failCount);
TabGroupChatPlanOwnerLog getById(Long ownerLogId);
......
......@@ -18,6 +18,8 @@ public interface GroupChatPlanService {
public void doPlan(Long planId);
public void doPlanSendInfoTimer(String params) ;
public void doPlanSendInfo(Long ownerLogId) ;
public Page<GroupChatPlanLogDTO> listLogPage(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo);
......
......@@ -56,8 +56,8 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
}
@Override
public void updateSendCount(Long id, int sendCount, Date sendTime) {
this.groupChatPlanOwnerLogMapper.updateSendCount(id, sendCount, sendTime);
public void updateSendCount(Long id, int sendCount, Date sendTime , int failCount) {
this.groupChatPlanOwnerLogMapper.updateSendCount(id, sendCount, failCount ,sendTime);
}
@Override
......@@ -108,7 +108,7 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
}
@Override
public void save(GroupChatPlanOwnerLogDTO dto) {
public GroupChatPlanOwnerLogDTO save(GroupChatPlanOwnerLogDTO dto) {
TabGroupChatPlanOwnerLog log = EntityUtil.changeEntityByJSON(TabGroupChatPlanOwnerLog.class, dto);
log.setOwnerLogId(UniqueIdUtils.uniqueLong());
log.setSendStatus(0);
......@@ -133,6 +133,7 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
}
}
this.groupChatPlanOwnerLogMapper.insert(log);
return EntityUtil.changeEntityByJSON(GroupChatPlanOwnerLogDTO.class, log) ;
}
@Override
......@@ -173,8 +174,6 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
}
qdto.setStoreId(storeId);
List<GroupChatPlanOwnerLogDTO> list = this.groupChatPlanOwnerLogMapper.listOwnerLogPageForWxa(qdto);
Page<GroupChatPlanOwnerLogDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list,
GroupChatPlanOwnerLogDTO.class);
if (CollectionUtils.isNotEmpty(list)) {
Set<String> clerkIdList = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getClerkId()))
.map(dto -> dto.getClerkId()).collect(Collectors.toSet());
......@@ -193,6 +192,8 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
}
}
}
Page<GroupChatPlanOwnerLogDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list,
GroupChatPlanOwnerLogDTO.class);
return retPage;
}
......
......@@ -63,6 +63,18 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService {
}
@Override
public ServiceResponse<Void> doPlanSendInfoTimer(String params) {
this.groupChatPlanService.doPlanSendInfoTimer(params);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> reflushSendInfo(Long ownerLogId) {
this.groupChatPlanService.doPlanSendInfo(ownerLogId);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Page<GroupChatPlanLogDTO>> listLogPage(Long planId, GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo) {
Page<GroupChatPlanLogDTO> page = this.groupChatPlanService.listLogPage(qdto, basePageInfo);
......
......@@ -269,7 +269,7 @@
<update id="updateChatEnterpriseId">
update tab_haoban_group_chat set enterprise_id = #{enterpriseId} , update_time=now() , gic_flag = 1 where wx_enterprise_id=#{wxEnterpriseId}
<if test="null != groupChatIdList and groupChatIdList.size > 0">
and group_chat_id
and group_chat_id in
<foreach collection="groupChatIdList" item="id" index="index" separator="," open="(" close=")">
#{id}
</foreach>
......
......@@ -79,6 +79,9 @@
LEFT JOIN tab_haoban_group_chat_plan_owner_log b ON a.`own_log_id` = b.`owner_log_id`
LEFT JOIN tab_haoban_staff c ON a.`staff_id` = c.`staff_id`
LEFT JOIN tab_haoban_group_chat d ON a.group_chat_id = d.group_chat_id
where a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId}
where a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId}
<if test="null != ownLogId">
and a.own_log_id = #{ownLogId}
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -20,6 +20,7 @@
<result column="done_flag" property="doneFlag"/>
<result column="send_time" property="sendTime"/>
<result column="expire_date" property="expireDate"/>
<result column="fail_count" property="failCount"/>
</resultMap>
<sql id="Base_Column_List">
owner_log_id,
......@@ -33,7 +34,7 @@
total_count,
send_count,
create_time,
update_time , remark , msgid , delete_flag , done_flag , send_time , expire_date
update_time , remark , msgid , delete_flag , done_flag , send_time , expire_date , fail_count
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.chat.TabGroupChatPlanOwnerLog">
......@@ -71,7 +72,7 @@
<!-- ==================更新 ========== -->
<update id="updateSendCount">
<![CDATA[
UPDATE tab_haoban_group_chat_plan_owner_log SET send_count = #{sendCount} ,
UPDATE tab_haoban_group_chat_plan_owner_log SET send_count = #{sendCount} , fail_count =#{failCount} ,
send_status = 2 , send_time = #{sendTime} ,
update_time = now() where owner_log_id = #{id}
]]>
......@@ -107,6 +108,7 @@
<select id="listOwnerLogPageForWxaTotal" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO">
select
b.plan_id planId ,
b.name planName ,
b.start_time startTime ,
b.end_time end_time ,
......
......@@ -3,6 +3,7 @@ package com.gic.haoban.manage.web.controller.chat;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -54,11 +55,12 @@ public class GroupChatController {
* @throws
*/
@RequestMapping("set-gic-enterprise")
public RestResponse<Object> save(List<Long> groupChatIdList) {
public RestResponse<Object> save(@RequestBody GroupChatSearchQDTO qdto) {
List<Long> groupChatIdList = qdto.getGroupChatIdList();
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId();
String enterpriseId = loginUser.getEnterpriseId();
this.groupChatApiService.updateChatEnterpriseId(wxEnterpriseId, enterpriseId, null);
this.groupChatApiService.updateChatEnterpriseId(wxEnterpriseId, enterpriseId, groupChatIdList);
return RestResponse.successResult();
}
......
......@@ -8,6 +8,7 @@ import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.content.api.dto.column.ContentColumnListDTO;
import com.gic.content.api.dto.material.ContentMaterialFrontDTO;
import com.gic.content.api.dto.material.ContentMaterialShareInfoDTO;
import com.gic.content.api.enums.ColumnEnum;
import com.gic.content.api.qdto.material.ContentMaterialPageFrontQDTO;
import com.gic.content.api.qdto.material.ContentMaterialShareQDTO;
import com.gic.content.api.service.ContentColumnApiService;
......@@ -68,8 +69,16 @@ public class ContentMaterialController {
* @return
*/
@RequestMapping(path = "/column-list")
public RestResponse<List<ContentColumnInfoVO>> queryContentColumn(String enterpriseId){
ServiceResponse<List<ContentColumnListDTO>> serviceResponse = contentColumnApiService.listColumn(enterpriseId, 1);
public RestResponse<List<ContentColumnInfoVO>> queryContentColumn(String enterpriseId,String storeId,String wxEnterpriseId,String clerkId){
List<String> storeIdList = new ArrayList<>();
if (StringUtils.isBlank(storeId)){
// 区经 获取管辖的权限
List<String> storeIds = this.queryClerkStoreIds(clerkId, wxEnterpriseId);
storeIdList.addAll(storeIds);
}else {
storeIdList.add(storeId);
}
ServiceResponse<List<ContentColumnListDTO>> serviceResponse = contentColumnApiService.listColumnFront(enterpriseId, ColumnEnum.MATERIAL.value, storeIdList);
if (!serviceResponse.isSuccess() || CollectionUtils.isEmpty(serviceResponse.getResult())){
return RestResponse.successResult(Collections.emptyList());
}
......
package com.gic.haoban.manage.web.controller.haoban;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.api.dto.MaterialDTO;
import com.gic.haoban.manage.api.dto.chat.ChatOwnerTotalDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanLogDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO;
import com.gic.haoban.manage.api.service.MaterialApiService;
import com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService;
/**
......@@ -30,43 +41,67 @@ public class GroupChatPlanController {
@Autowired
private GroupChatPlanApiService groupChatPlanApiService;
@Autowired
private MaterialApiService materialApiService;
@RequestMapping("total-list")
public RestResponse<Object> totalList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
public RestResponse<Object> totalList(String clerkId, String wxEnterpriseId, String enterpriseId,
BasePageInfo basePageInfo) {
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId);
qdto.setPlanId(planId);
ServiceResponse<Page<ChatOwnerTotalDTO>> page = this.groupChatPlanApiService.listOwnerLogPageForWxaTotal(qdto,
basePageInfo);
return RestResponse.successResult(page.getResult());
}
@RequestMapping("owner-list")
public RestResponse<Object> ownerList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
BasePageInfo basePageInfo) {
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId);
qdto.setPlanId(planId);
public RestResponse<Object> ownerList(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) {
ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> page = this.groupChatPlanApiService.listOwnerLogPageForWxa(qdto,
basePageInfo);
return RestResponse.successResult(page.getResult());
}
@RequestMapping("reflush-send-msg")
public RestResponse<Object> reflush(String wxEnterpriseId, String enterpriseId, Long ownLogId) {
this.groupChatPlanApiService.reflushSendInfo(ownLogId);
return RestResponse.successResult();
}
@RequestMapping("detail")
public RestResponse<Object> detail(Long planId) {
ServiceResponse<GroupChatPlanDTO> linkResp = this.groupChatPlanApiService.detail(planId);
if (!linkResp.isSuccess()) {
return RestResponse.failure("1", "计划不存在");
}
GroupChatPlanDTO plan = linkResp.getResult();
String content = plan.getChatContent();
JSONArray array = JSONArray.parseArray(content);
List<String> materialIdList = new ArrayList<>();
for (int i = 0; i < array.size(); i++) {
JSONObject json = array.getJSONObject(i);
materialIdList.add(json.getString("relation_id"));
}
// 查询素材列表
List<MaterialDTO> materials = materialApiService.listMaterialByIds(materialIdList);
Map<String, Object> retMap = new HashMap<>();
retMap.put("plan", plan);
retMap.put("materialList", materials);
return RestResponse.successResult(retMap);
}
@RequestMapping("owner-do-list")
public RestResponse<Object> ownerDoList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
BasePageInfo basePageInfo) {
Long ownLogId, BasePageInfo basePageInfo) {
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId);
qdto.setPlanId(planId);
ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> page = this.groupChatPlanApiService.listOwnerLogPage(planId,
qdto, basePageInfo);
qdto.setOwnLogId(ownLogId);
ServiceResponse<Page<GroupChatPlanLogDTO>> page = this.groupChatPlanApiService.listLogPage(planId, qdto,
basePageInfo);
return RestResponse.successResult(page.getResult());
}
......
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