Commit 8ad2e645 by 徐高华

Merge branch 'feature/社群' into 'test_branch'

Feature/社群

See merge request !802
parents 3147404b 079baf52
......@@ -65,6 +65,34 @@ public class GroupChatDTO implements Serializable {
private String ownerRemark;
// 群主所有群能加到活码标识1可以0不可以
private int ownerAddFlag = 1;
// 活码加人状态1正常 2已满不可以加人>200
private int hmAddStatus = 1 ;
private String chatRemark ;
private int initFlag ;
public int getInitFlag() {
return initFlag;
}
public void setInitFlag(int initFlag) {
this.initFlag = initFlag;
}
public String getChatRemark() {
return chatRemark;
}
public void setChatRemark(String chatRemark) {
this.chatRemark = chatRemark;
}
public int getHmAddStatus() {
return hmAddStatus;
}
public void setHmAddStatus(int hmAddStatus) {
this.hmAddStatus = hmAddStatus;
}
public String getOwnerRemark() {
return ownerRemark;
......
......@@ -15,14 +15,22 @@ public class ChatHmSearchQDTO extends PageQo implements Serializable {
private String wxEnterpriseId;
private String enterpriseId;
private String searchParams;
private String searchParamsCode;
// 1有效 2作废
private Integer status ;
private Integer status;
private Long linkId;
private List<Long> chatHmIdList;
private List<String> creatorIdList ;
private Integer linkCount ;
private int allFlag ;
private List<String> creatorIdList;
private Integer linkCount;
private int allFlag;
public String getSearchParamsCode() {
return searchParamsCode;
}
public void setSearchParamsCode(String searchParamsCode) {
this.searchParamsCode = searchParamsCode;
}
public int getAllFlag() {
return allFlag;
}
......
......@@ -26,7 +26,16 @@ public class GroupChatPlanSearchQDTO implements Serializable {
private String storeId ;
private Long ownLogId ;
private List<String> creatorIdList ;
private String wxChatId;
public String getWxChatId() {
return wxChatId;
}
public void setWxChatId(String wxChatId) {
this.wxChatId = wxChatId;
}
public List<String> getCreatorIdList() {
return creatorIdList;
}
......
......@@ -24,6 +24,8 @@ public class GroupChatSearchQDTO extends PageQo implements Serializable {
private String staffId ;
private int gicFlag = 1 ;
private Long chatHmId ;
// 查询活码关联是否包含下线的1是0否
private int includeOff ;
private List<Long> groupChatIdList ;
private String sortColumn ;
private String sortType = "desc" ;
......@@ -33,7 +35,33 @@ public class GroupChatSearchQDTO extends PageQo implements Serializable {
private List<String> departmentIdList ;
// 筛选激活或者开启联系我的群主
private Integer canUseFlag ;
private String wxChatId ;
private String searchPage ;
public String getSearchPage() {
return searchPage;
}
public void setSearchPage(String searchPage) {
this.searchPage = searchPage;
}
public String getWxChatId() {
return wxChatId;
}
public void setWxChatId(String wxChatId) {
this.wxChatId = wxChatId;
}
public int getIncludeOff() {
return includeOff;
}
public void setIncludeOff(int includeOff) {
this.includeOff = includeOff;
}
public String getDepartmentId() {
return departmentId;
}
......
......@@ -16,6 +16,13 @@ public class GroupChatUserSearchQDTO implements Serializable {
private String searchParams;
// 群状态 1有效2已退群
private Integer status = 1;
private String wxChatId ;
public String getWxChatId() {
return wxChatId;
}
public void setWxChatId(String wxChatId) {
this.wxChatId = wxChatId;
}
public Date getStartDate() {
return startDate;
}
......
......@@ -28,6 +28,7 @@ public class HmQrcodeListQDTO extends BasePageInfo implements Serializable {
private String enterpriseId;
private String hmSelect;
private String hmSelectLike ;
private String storeSelect;
......@@ -52,6 +53,14 @@ public class HmQrcodeListQDTO extends BasePageInfo implements Serializable {
private List<String> storeId;
public String getHmSelectLike() {
return hmSelectLike;
}
public void setHmSelectLike(String hmSelectLike) {
this.hmSelectLike = hmSelectLike;
}
public Long getHmId() {
return hmId;
}
......
......@@ -24,6 +24,8 @@ public interface GroupChatHmRelationMapper {
@Param("statusFlag") int statusFlag);
public List<TabGroupChatHmRelation> listByChatHmId(@Param("chatHmId") Long chatHmId);
public List<TabGroupChatHmRelation> listByChatHmIdIncludeOff(@Param("chatHmId") Long chatHmId);
/**
*
......
......@@ -2,6 +2,8 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatInit;
/**
......@@ -22,7 +24,7 @@ public interface GroupChatInitMapper {
* @Param @param TabHaobanGroupChatInit
* @Throws
*/
public int update(String wxEnterprseId, int status);
public int update(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("statusFlag") int status);
/**
* 通过主键查询
......
......@@ -20,7 +20,9 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChat;
* @CopyRight
*/
public interface GroupChatMapper {
public int updateChatErrorRemark(@Param("groupChatId")Long groupChatId , @Param("chatRemark")String chatRemark) ;
public int getCountByStaffId(String staffId);
public int insert(TabGroupChat chat);
......
......@@ -21,7 +21,7 @@ public interface HmLinkChatMapper {
public int insert(TabHmLinkChat tabHaobanHmLinkChat);
public int delete(@Param("linkId") Long linkId, @Param("idList") List<Long> idList,
public int delete(@Param("linkId") Long linkId, @Param("notDelIdList") List<Long> notDelIdList,
@Param("otherFlag") int otherFlag);
public int update(TabHmLinkChat entity);
......
......@@ -26,14 +26,6 @@ public interface TabHaobanHmQrcodeMapper {
TabHaobanHmQrcode queryById(@Param("hmId") Long hmId);
/**
* 分页列表
*
* @param hmQrcodeListQDTO 查询条件
* @return 对象列表
*/
List<TabHaobanHmQrcode> queryListByPage(HmQrcodeListQDTO hmQrcodeListQDTO);
/**
* 新增数据
*
* @param tabHaobanHmQrcode 实例对象
......
......@@ -56,14 +56,14 @@ public class TabGroupChat implements Serializable{
private String wxChatIdDk;
private Date offTime ;
private String originalStaffId ;
private int hmAddStatus = 1 ;
private String chatRemark ;
public int getHmAddStatus() {
return hmAddStatus;
public String getChatRemark() {
return chatRemark;
}
public void setHmAddStatus(int hmAddStatus) {
this.hmAddStatus = hmAddStatus;
public void setChatRemark(String chatRemark) {
this.chatRemark = chatRemark;
}
public Date getOffTime() {
......
......@@ -54,6 +54,15 @@ public class TabGroupChatUser implements Serializable {
private String joinState;
// 0 成员 1群主 2管理员
private Integer adminFlag = 0;
private String quitStaffId ;
public String getQuitStaffId() {
return quitStaffId;
}
public void setQuitStaffId(String quitStaffId) {
this.quitStaffId = quitStaffId;
}
public Integer getAdminFlag() {
return adminFlag;
......
......@@ -83,6 +83,11 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
public Page<GroupChatHmBO> listPage(ChatHmSearchQDTO qdto, BasePageInfo basePageInfo) {
String wxEnterpriseId = qdto.getWxEnterpriseId();
String enterpriseId = qdto.getEnterpriseId();
if (StringUtils.isNotBlank(qdto.getSearchParams())) {
String params = qdto.getSearchParams();
qdto.setSearchParamsCode(params + "%");
qdto.setSearchParams("%" + params + "%");
}
Long linkId = qdto.getLinkId();
if (null != linkId) {
// 查询链接下的关联的活码列表
......@@ -155,7 +160,7 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
}
List<Long> hmIdList = this.groupChatHmRelationMapper.listChatHmId(groupChatId);
if (CollectionUtils.isEmpty(hmIdList)) {
logger.info("群加满后,处理活码,未关联活码,chatid={}", groupChatId);
logger.info("群加满后,处理活码,未关联活码,chatid={}", groupChatId);
return;
}
for (Long chatHmId : hmIdList) {
......@@ -170,7 +175,7 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
}
List<TabGroupChatHmRelation> chatRelation = this.groupChatHmRelationMapper.listByChatHmId(chatHmId);
if (CollectionUtils.isEmpty(chatRelation)) {
logger.info("活码无关联群,chatHmId={}", chatHmId);
logger.info("活码无关联群,chatHmId={}", chatHmId);
continue;
}
this.handleAutoCreateRoom(wxEnterpriseId, secretSetting.getSecretVal(), hm, chatRelation, groupChatId);
......
......@@ -141,11 +141,15 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
if (null == mainStore) {
entity.setRemark("区经/未配置主门店");
} else {
StaffClerkRelationDTO clerk = this.staffClerkRelationService.getOneBindByStoreId(staffId,
mainStore.getStoreId());
String storeId = mainStore.getStoreId();
StaffClerkRelationDTO clerk = this.staffClerkRelationService.getOneBindByStoreId(staffId, storeId);
if (null != clerk) {
entity.setClerkId(clerk.getClerkId());
entity.setStoreId(mainStore.getStoreId());
if (!clerk.getEnterpriseId().equals(entity.getEnterpriseId())) {
entity.setRemark("主门店不在任务商户下");
} else {
entity.setClerkId(clerk.getClerkId());
entity.setStoreId(mainStore.getStoreId());
}
} else {
entity.setRemark("无关联导购");
logger.info("导购关联数据不存在,staffid={},storeid={}", staffId, mainStore.getStoreId());
......@@ -176,9 +180,12 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override
public Page<ChatOwnerTotalDTO> listOwnerLogPageForWxaTotal(GroupChatPlanSearchQDTO qdto,
BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
String clerkId = qdto.getClerkId();
ClerkDTO clerk = this.clerkService.getclerkById(clerkId);
if (null == clerk) {
logger.info("导购不存在");
return new Page<ChatOwnerTotalDTO>();
}
int clerkType = clerk.getClerkType();
String storeId = null;
if (clerkType == 1) {
......@@ -186,6 +193,7 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
clerkId = null;
}
qdto.setStoreId(storeId);
PageHelper.startPage(basePageInfo);
List<ChatOwnerTotalDTO> list = this.groupChatPlanOwnerLogMapper.listOwnerLogPageForWxaTotal(qdto);
Page<ChatOwnerTotalDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, ChatOwnerTotalDTO.class);
return retPage;
......
......@@ -148,10 +148,10 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
} else {
TabGroupChatPlan old = this.groupChatPlanMapper.selectById(planId) ;
int staffCount = old.getStaffCount();
if (null != dto.getDelStaffIdList()) {
if (StringUtils.isNotBlank(dto.getDelStaffIdList())) {
staffCount = staffCount - dto.getDelStaffIdList().split(",").length;
}
if (null != dto.getStaffIdList()) {
if (StringUtils.isNotBlank(dto.getStaffIdList())) {
staffCount = staffCount + dto.getStaffIdList().split(",").length;
}
entity.setStaffCount(staffCount);
......@@ -179,6 +179,10 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public Page<GroupChatPlanBO> listPage(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) {
if (StringUtils.isNotBlank(qdto.getSearchParams())) {
String params = qdto.getSearchParams();
qdto.setSearchParams("%" + params + "%");
}
PageHelper.startPage(basePageInfo);
List<TabGroupChatPlan> list = this.groupChatPlanMapper.list(qdto);
Page<GroupChatPlanBO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, GroupChatPlanBO.class);
......@@ -389,6 +393,15 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
@Override
public Page<GroupChatPlanLogDTO> listLogPage(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
if (StringUtils.isNotBlank(qdto.getSearchParams())) {
String params = qdto.getSearchParams();
qdto.setSearchParams("%" + params + "%");
}
if (StringUtils.isNotBlank(qdto.getChatName())) {
String params = qdto.getChatName();
qdto.setChatName("%" + params + "%");
qdto.setWxChatId(params+"%");
}
List<GroupChatPlanLogDTO> list = this.groupChatPlanLogMapper.listPlanLog(qdto);
if (CollectionUtils.isNotEmpty(list)) {
Set<String> clerkIdList = list.stream().filter(dto -> StringUtils.isNotBlank(dto.getClerkId()))
......
......@@ -126,7 +126,7 @@ public class GroupChatServiceImpl implements GroupChatService {
private static GicMQClient mqClient = GICMQClientUtil.getClientInstance();
// 每次拉取成员数
private int pageSize = 8;
private int pageSize = 100;
// 每次拉取群数
private int limit = 1;
// 群下线成员数
......@@ -245,18 +245,37 @@ public class GroupChatServiceImpl implements GroupChatService {
@Override
public Page<GroupChatDTO> listPage(GroupChatSearchQDTO qdto, BasePageInfo basePageInfo) {
List<TabGroupChatHmRelation> relationList = null;
if (null != qdto.getChatHmId()) {
List<TabGroupChatHmRelation> list = this.groupChatHmRelationMapper.listByChatHmId(qdto.getChatHmId());
if (CollectionUtils.isEmpty(list)) {
if (qdto.getIncludeOff() == 1) {
relationList = this.groupChatHmRelationMapper.listByChatHmIdIncludeOff(qdto.getChatHmId());
} else {
relationList = this.groupChatHmRelationMapper.listByChatHmId(qdto.getChatHmId());
}
if (CollectionUtils.isEmpty(relationList)) {
return new Page<GroupChatDTO>();
}
logger.info("活码页查询群列表{},关联群数={}", qdto.getChatHmId(), list.size());
List<Long> groupChatIdList = list.stream().map(dto -> dto.getGroupChatId()).collect(Collectors.toList());
logger.info("活码页查询群列表{},关联群数={}", qdto.getChatHmId(), relationList.size());
List<Long> groupChatIdList = relationList.stream().map(dto -> dto.getGroupChatId()).collect(Collectors.toList());
qdto.setGroupChatIdList(groupChatIdList);
}
qdto.setDepartmentIdList(this.setDepartIdList(qdto.getWxEnterpriseId(), qdto.getDepartmentId()));
PageHelper.startPage(basePageInfo);
if (StringUtils.isNotBlank(qdto.getSearchParams())) {
String params = qdto.getSearchParams();
qdto.setWxChatId(params + "%");
qdto.setSearchParams("%" + params + "%");
}
List<GroupChatDTO> list = this.groupChatMapper.list(qdto);
if(CollectionUtils.isNotEmpty(list) && CollectionUtils.isNotEmpty(relationList)) {
Map<Long,Date> offMap = relationList.stream().filter(dto->dto.getStatusFlag()==2).collect(Collectors.toMap(TabGroupChatHmRelation::getGroupChatId,TabGroupChatHmRelation::getUpdateTime,(k1,k2)->k1));
for(GroupChatDTO dto : list) {
if(null != offMap.get(dto.getGroupChatId())) {
dto.setOffTime( offMap.get(dto.getGroupChatId()));
dto.setHmAddStatus(2);
}
}
}
Page<GroupChatDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, GroupChatDTO.class);
return retPage;
}
......@@ -302,6 +321,7 @@ public class GroupChatServiceImpl implements GroupChatService {
}
if (type == 2) {
this.updateChatStatus(qwDTO, groupChatId);
this.updateGroupChatDetail(qwDTO, groupChatId, false);
}
if (type == 3) {
this.updateGroupChatDetail(qwDTO, groupChatId, true);
......@@ -576,6 +596,14 @@ public class GroupChatServiceImpl implements GroupChatService {
logger.info("从企微获取群详情{}={}", chat.getWxChatId(), JSON.toJSON(detailResp));
if (!detailResp.isSuccess()) {
logger.info("从企微获取群详情失败");
String code = detailResp.getCode();
String msg = detailResp.getMessage();
if (code.equals("701008")) {
msg = "该群主未激活账号许可,无法获取群详情";
} else {
msg = "企微返回错误,错误码" + code;
}
this.groupChatMapper.updateChatErrorRemark(groupChatId, msg);
return;
}
GroupChatDetailDTO detail = detailResp.getResult();
......@@ -614,6 +642,7 @@ public class GroupChatServiceImpl implements GroupChatService {
List<GroupChatDetailMemberDTO> qwUserList = detail.getMember_list();
// 当前群列表
List<TabGroupChatUser> nowUserList = this.groupChatUserMapper.listAllChatUser(wxEnterpriseId, groupChatId);
int nowTotalCount = nowUserList.size();
Map<String, TabGroupChatUser> nowUserMap = nowUserList.stream()
.collect(Collectors.toMap(TabGroupChatUser::getUserId, o -> o, ((k1, k2) -> k1)));
List<TabGroupChatUser> needAddUserList = new ArrayList<>();
......@@ -637,10 +666,12 @@ public class GroupChatServiceImpl implements GroupChatService {
}
// 删除退群的人
List<Long> deleteIdList = new ArrayList<>();
List<String> deleteUserIdList = new ArrayList<>();
List<String> nowQwUserIdList = qwUserList.stream().map(dto -> dto.getUserid()).collect(Collectors.toList());
for (TabGroupChatUser user : nowUserList) {
if (!nowQwUserIdList.contains(user.getUserId())) {
deleteIdList.add(user.getChatUserId());
deleteUserIdList.add(user.getUserId());
}
}
// 总成员数
......@@ -654,14 +685,15 @@ public class GroupChatServiceImpl implements GroupChatService {
if (CollectionUtils.isNotEmpty(deleteIdList)) {
this.groupChatUserMapper.dismiss(deleteIdList, chat.getStaffId());
quitCount = deleteIdList.size();
for (Long userId : deleteIdList) {
for (String userId : deleteUserIdList) {
TabGroupChatUser user = nowUserMap.get(userId);
if (null != user && user.getUserType() == 3) {
quitMemberCount++;
++quitMemberCount;
}
}
}
if (CollectionUtils.isNotEmpty(qwUserList) && totalCount >= offNum && null != chat.getOffTime()) {
logger.info("群成员数,当前={},更新后={}", nowTotalCount, totalCount);
if (totalCount >= offNum && nowTotalCount < offNum) {
logger.info("群满下线处理,chatid={}", chat.getWxChatId());
this.chatOff(chat);
}
......@@ -686,7 +718,9 @@ public class GroupChatServiceImpl implements GroupChatService {
}
Integer oldAdminFlag = hbUser.getAdminFlag();
hbUser.setAdminFlag(0);
hbUser.setUserType(qwUser.getType());
if (null == hbUser.getUserType()) {
hbUser.setUserType(qwUser.getType());
}
if (qwUser.getUserid().equals(owner)) {
hbUser.setAdminFlag(1);
} else if (adminIdList.contains(qwUser.getUserid())) {
......@@ -696,18 +730,20 @@ public class GroupChatServiceImpl implements GroupChatService {
this.matchGicMember(wxEnterpriseId, enterpriseId, qwUser.getUnionid(), userId, hbUser);
}
if (hbUser.getUserType() == 3) {
totalMemberCount++;
totalMemberCount = 1;
}
String oldUserName = hbUser.getUserName() ;
String oldNick = hbUser.getNickName() ;
hbUser.setUserName(userName);
hbUser.setNickName(nickName);
if (updateFlag) {
if (null == oldAdminFlag || !oldAdminFlag.equals(hbUser.getAdminFlag())) {
needUpdateFlag = true;
}
if (this.isDiff(hbUser.getUserName(), userName)) {
if (this.isDiff(oldUserName, userName)) {
needUpdateFlag = true;
}
if (this.isDiff(hbUser.getNickName(), nickName)) {
if (this.isDiff(oldNick, nickName)) {
needUpdateFlag = true;
}
if (needUpdateFlag) {
......@@ -947,6 +983,10 @@ public class GroupChatServiceImpl implements GroupChatService {
@Override
public Page<GroupChatOwnerDTO> listOwnerPage(OwnerSearchQDTO qdto, BasePageInfo basePageInfo) {
if (StringUtils.isNotBlank(qdto.getSearchParams())) {
String params = qdto.getSearchParams();
qdto.setSearchParams("%" + params + "%");
}
qdto.setDepartmentIdList(this.setDepartIdList(qdto.getWxEnterpriseId(), qdto.getDepartmentId()));
PageHelper.startPage(basePageInfo);
List<GroupChatOwnerDTO> list = this.groupChatOwnerMapper.listOwner(qdto);
......@@ -1045,7 +1085,7 @@ public class GroupChatServiceImpl implements GroupChatService {
// 通知处理群活码
try {
TabGroupChat chat = this.groupChatMapper.selectById(groupChatId);
if (null == chat || chat.getHmAddStatus() == 1 || null == chat.getOffTime()) {
if (null == chat || chat.getTotalCount() < offNum) {
continue;
}
if (chat.getOffTime().getTime() + 1000 * 60 * 60 * 8 < new Date().getTime()) {
......
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.service.chat.impl;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -16,13 +17,18 @@ import com.github.pagehelper.PageHelper;
@Service
public class GroupChatUserServiceImpl implements GroupChatUserService {
@Autowired
private GroupChatUserMapper groupChatUserMapper ;
private GroupChatUserMapper groupChatUserMapper;
@Override
public Page<GroupChatUserDTO> listPage(GroupChatUserSearchQDTO qdto, BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
PageHelper.startPage(basePageInfo);
if (StringUtils.isNotBlank(qdto.getSearchParams())) {
String params = qdto.getSearchParams();
qdto.setWxChatId(params + "%");
qdto.setSearchParams("%" + params + "%");
}
List<GroupChatUserDTO> list = this.groupChatUserMapper.listPage(qdto);
Page<GroupChatUserDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, GroupChatUserDTO.class);
return retPage;
......
......@@ -27,14 +27,6 @@ public interface HmQrcodeService {
HmQrcodeBO queryById(Long hmId);
/**
* 分页查询
*
* @param hmQrcodeListQDTO 筛选条件
* @return 查询结果
*/
Page<HmQrcodeBO> queryByPage(HmQrcodeListQDTO hmQrcodeListQDTO);
/**
* 新增数据
*
* @param hmQrcodeQDTO 实例对象
......
......@@ -50,7 +50,7 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
log.info("保存群链接={}", JSON.toJSONString(list));
List<HmLinkChatDTO> updateList = list.stream().filter(dto -> null != dto.getLinkChatId())
.collect(Collectors.toList());
List<Long> notDelIdList = updateList.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toList());
List<Long> notDelIdList = updateList.stream().map(dto -> dto.getLinkChatId()).collect(Collectors.toList());
log.info("不删除关联群活码={},{}", linkId, notDelIdList);
String wxEnterpriseId = list.get(0).getWxEnterpriseId();
String enterpriseId = list.get(0).getEnterpriseId();
......@@ -81,11 +81,11 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
}
// 更新其他链接
List<Long> idList = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toList());
idList.add(otherHmId);
List<Long> chatHmIdList = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toList());
chatHmIdList.add(otherHmId);
boolean addOther = false;
if (null != link) {
idList.add(link.getOtherChatHmId());
chatHmIdList.add(link.getOtherChatHmId());
if (!otherHmId.equals(link.getOtherChatHmId())) {
this.hmLinkChatMapper.delete(linkId, Arrays.asList(link.getOtherChatHmId()) , 1);
addOther = true;
......@@ -110,10 +110,10 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
// 统计活码关联的链接数量
for (HmLinkChatDTO old : oldList) {
idList.add(old.getChatHmId());
chatHmIdList.add(old.getChatHmId());
}
log.info("群id={}",idList);
this.groupChatHmService.updateLinkCount(wxEnterpriseId, idList);
log.info("群id={}",chatHmIdList);
this.groupChatHmService.updateLinkCount(wxEnterpriseId, chatHmIdList);
return 0;
}
......
package com.gic.haoban.manage.service.service.hm.impl;
import com.gic.api.base.commons.Page;
import java.util.Date;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeListQDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO;
import com.gic.haoban.manage.api.service.StaffApiService;
......@@ -17,15 +24,6 @@ import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeClerkBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeGroupNumBO;
import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* 活码(TabHaobanHmQrcode)表服务实现类
......@@ -44,9 +42,9 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
@Autowired
private TabHaobanHmClerkRelationMapper tabHaobanHmClerkRelationMapper;
@Autowired
private ClerkService clerkService ;
private ClerkService clerkService;
@Autowired
private StoreService storeService ;
private StoreService storeService;
@Override
public HmQrcodeBO queryById(Long hmId) {
......@@ -54,13 +52,6 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
}
@Override
public Page<HmQrcodeBO> queryByPage(HmQrcodeListQDTO hmQrcodeListQDTO) {
PageHelper.startPage(hmQrcodeListQDTO.getPageNum(), hmQrcodeListQDTO.getPageSize());
List<TabHaobanHmQrcode> tabHaobanHmQrcodes = tabHaobanHmQrcodeMapper.queryListByPage(hmQrcodeListQDTO);
return PageUtil.changePageHelperToCurrentPage(new PageInfo<>(tabHaobanHmQrcodes), HmQrcodeBO.class);
}
@Override
public int insert(HmQrcodeQDTO hmQrcodeQDTO) {
hmQrcodeQDTO.setCreateTime(new Date());
hmQrcodeQDTO.setUpdateTime(new Date());
......@@ -121,9 +112,9 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
}
@Override
public HmQrcodeBO queryByClerkId(String clerkId, String wxEnterpriseId, Integer hmType) {
public HmQrcodeBO queryByClerkId(String clerkId, String wxEnterpriseId, Integer hmType) {
return EntityUtil.changeEntity(HmQrcodeBO.class,
tabHaobanHmQrcodeMapper.queryByClerkIdAndOverFlag(clerkId, wxEnterpriseId, hmType));
tabHaobanHmQrcodeMapper.queryByClerkIdAndOverFlag(clerkId, wxEnterpriseId, hmType));
}
@Override
......@@ -138,7 +129,8 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
}
@Override
public List<HmQrcodeGroupNumBO> getGroupIdNumByEnterpriseId(String wxEnterpriseId, String enterpriseId, List<Long> groupIds, List<String> hmIds) {
public List<HmQrcodeGroupNumBO> getGroupIdNumByEnterpriseId(String wxEnterpriseId, String enterpriseId,
List<Long> groupIds, List<String> hmIds) {
return tabHaobanHmQrcodeMapper.getGroupIdNumByEnterpriseId(wxEnterpriseId, enterpriseId, groupIds, hmIds);
}
......@@ -192,6 +184,10 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
@Override
public List<String> listHmIdForIndex(HmQrcodeListQDTO qdto) {
if (StringUtils.isNotBlank(qdto.getHmSelect())) {
String params = qdto.getHmSelect();
qdto.setHmSelectLike("%" + params + "%");
}
return tabHaobanHmQrcodeMapper.listHmIdForIndex(qdto);
}
......@@ -201,34 +197,34 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
}
@Override
public void updateClerkNameByClerkId(String enterpriseId,String clerkId, String clerkName, String clerkCode) {
tabHaobanHmQrcodeMapper.updateClerkNameByClerkId(enterpriseId,clerkId, clerkName, clerkCode);
tabHaobanHmClerkRelationMapper.updateClerkNameByClerkId(enterpriseId,clerkId, clerkName, clerkCode);
public void updateClerkNameByClerkId(String enterpriseId, String clerkId, String clerkName, String clerkCode) {
tabHaobanHmQrcodeMapper.updateClerkNameByClerkId(enterpriseId, clerkId, clerkName, clerkCode);
tabHaobanHmClerkRelationMapper.updateClerkNameByClerkId(enterpriseId, clerkId, clerkName, clerkCode);
}
@Override
public void updateStoreNameByStoreId(String enterpriseId,String storeId, String storeName, String storeCode) {
tabHaobanHmQrcodeMapper.updateStoreNameByStoreId(enterpriseId,storeId, storeName, storeCode);
tabHaobanHmClerkRelationMapper.updateStoreNameByStoreId(enterpriseId,storeId, storeName, storeCode);
public void updateStoreNameByStoreId(String enterpriseId, String storeId, String storeName, String storeCode) {
tabHaobanHmQrcodeMapper.updateStoreNameByStoreId(enterpriseId, storeId, storeName, storeCode);
tabHaobanHmClerkRelationMapper.updateStoreNameByStoreId(enterpriseId, storeId, storeName, storeCode);
}
@Override
public void updateClerkInfo(Long hmId, String newClerkId) {
TabHaobanHmQrcode entity = new TabHaobanHmQrcode() ;
TabHaobanHmQrcode entity = new TabHaobanHmQrcode();
entity.setHmId(hmId);
ClerkDTO newClerk = this.clerkService.getclerkById(newClerkId) ;
ClerkDTO newClerk = this.clerkService.getclerkById(newClerkId);
String clerkCode = newClerk.getClerkCode();
String clerkName = newClerk.getClerkName() ;
String clerkName = newClerk.getClerkName();
String storeId = newClerk.getStoreId();
StoreDTO newStore = this.storeService.getStore(storeId) ;
StoreDTO newStore = this.storeService.getStore(storeId);
String storeCode = newStore.getStoreCode();
String storeName = newStore.getStoreName() ;
String storeName = newStore.getStoreName();
entity.setClerkId(newClerkId);
entity.setClerkCode(clerkCode);
entity.setClerkName(clerkName);
entity.setStoreId(storeId);
entity.setStoreName(storeName);
entity.setStoreCode(storeCode);
this.tabHaobanHmQrcodeMapper.update(entity) ;
this.tabHaobanHmQrcodeMapper.update(entity);
}
}
package com.gic.haoban.manage.service.service.out.impl.chat;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -100,6 +101,9 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService {
if (null != qdto.getEndDate()) {
qdto.setEndDate(DateUtil.getEndTimeOfDay(qdto.getEndDate()));
}
if(StringUtils.isNotBlank(qdto.getSearchParams())) {
qdto.setSearchParams("%"+qdto.getSearchParams()+"%");
}
Page<GroupChatPlanOwnerLogDTO> page = this.groupChatPlanOwnerLogService.listPage(planId, qdto, basePageInfo);
return ServiceResponse.success(page);
}
......
......@@ -149,7 +149,7 @@
and create_time >= #{startDate} and create_time <![CDATA[<=]]> #{endDate}
</if>
<if test="null != searchParams and '' !=searchParams ">
and ( name like '%${searchParams}%' or chat_hm_code like '${searchParams}%' or creator_name like '%${searchParams}%' )
and ( name like #{searchParams} or chat_hm_code like #{searchParamsCode} or creator_name like #{searchParams} )
</if>
<if test="null != status">
and status_flag = #{status}
......
......@@ -79,6 +79,12 @@
from tab_haoban_group_chat_hm_relation where chat_hm_id = #{chatHmId} and delete_flag = 0 and status_flag = 1
</select>
<select id="listByChatHmIdIncludeOff" resultMap="result-map-tabHaobanGroupChatHmRelation">
select
<include refid="Base_Column_List" />
from tab_haoban_group_chat_hm_relation where chat_hm_id = #{chatHmId} and ((delete_flag = 0 and status_flag = 1) or (status_flag = 2 and delete_flag = 1))
</select>
<select id="listChatHmId" resultType="long">
select
distinct(chat_hm_id)
......@@ -94,6 +100,6 @@
#{id}
</foreach>
and relation.delete_flag = 0 and relation.status_flag = 1 and chat.delete_flag = 0 and chat.chat_status in (0,1,2,3)
and chat.`hm_add_status` = 1 GROUP BY relation.`chat_hm_id`
and chat.total_count <![CDATA[<]]> 200 GROUP BY relation.`chat_hm_id`
</select>
</mapper>
\ No newline at end of file
......@@ -16,7 +16,7 @@
<update id="update">
<![CDATA[
UPDATE tab_haoban_group_chat_init SET
status_flag=#{statusFlag,jdbcType=INTEGER}
status_flag=#{statusFlag}
where wx_enterprise_id = #{wxEnterpriseId}
]]>
</update>
......
......@@ -27,7 +27,7 @@
<result column="wx_chat_id_dk" property="wxChatIdDk" />
<result column="off_time" property="offTime"/>
<result column="original_staff_id" property="originalStaffId"/>
<result column="hm_add_status" property="hmAddStatus"/>
<result column="chat_remark" property="chatRemark"/>
</resultMap>
<sql id="Base_Column_List">
group_chat_id,
......@@ -49,7 +49,7 @@
quit_count,
quit_member_count,
enterprise_id,
gic_flag , init_flag , wx_chat_id_dk , off_time, original_staff_id , hm_add_status
gic_flag , init_flag , wx_chat_id_dk , off_time, original_staff_id , chat_remark
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert"
......@@ -75,7 +75,7 @@
quit_count,
quit_member_count,
enterprise_id,
gic_flag , init_flag , original_staff_id , hm_add_status
gic_flag , init_flag , original_staff_id
)VALUES(
#{groupChatId},
#{wxEnterpriseId},
......@@ -96,7 +96,7 @@
#{quitCount},
#{quitMemberCount},
#{enterpriseId},
#{gicFlag} , #{initFlag} , #{originalStaffId} , 1
#{gicFlag} , #{initFlag} , #{originalStaffId}
)
]]>
</insert>
......@@ -116,11 +116,17 @@
update_time=now(),
gic_flag=#{gicFlag},
original_staff_id = #{originalStaffId} ,
init_flag = 1
init_flag = 1 ,
chat_remark = null
where group_chat_id = #{groupChatId}
]]>
</update>
<update id="updateChatErrorRemark">
update tab_haoban_group_chat set
chat_remark = #{chatRemark} , init_flag = 2 , update_time = now()
where group_chat_id = #{groupChatId}
</update>
<update id="updateData">
update tab_haoban_group_chat set
......@@ -153,7 +159,7 @@
</update>
<update id="chatOff">
update tab_haoban_group_chat set hm_add_status = 2 , off_time = now() , update_time =now() where group_chat_id = #{groupChatId} and total_count >= 200
update tab_haoban_group_chat set off_time = now() , update_time =now() where group_chat_id = #{groupChatId}
</update>
<!-- ============ 查询============= -->
......@@ -229,6 +235,8 @@
<select id="list" resultType="com.gic.haoban.manage.api.dto.chat.GroupChatDTO" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO">
select
a.chat_remark chatRemark ,
a.init_flag initFlag ,
b.staff_name staffName ,
b.head_img staffImage ,
b.open_concat_flag openConcatFlag ,
......@@ -249,7 +257,7 @@
a.quit_member_count quitMemberCount ,
a.enterprise_id enterpriseId ,
a.gic_flag gicFlag , a.init_flag initFlag , a.wx_chat_id_dk wxChatIdDk , a.off_time offTime ,
a.original_staff_id originalStaffId , a.hm_add_status hmAddStatus
a.original_staff_id originalStaffId
from tab_haoban_group_chat a left join tab_haoban_staff b on a.staff_id = b.staff_id
<if test="departmentIdList != null and departmentIdList.size() > 0">
left join tab_haoban_staff_department_related depart on a.staff_id = depart.staff_id and depart.status_flag = 1
......@@ -265,7 +273,17 @@
and a.staff_id = #{staffId}
</if>
<if test="null == status or 0==status">
and a.chat_status in (0,3)
<if test="null != chatHmId">
and a.chat_status in (0,1,2,3,4)
</if>
<if test="null == chatHmId">
and a.chat_status in (0,3)
</if>
</if>
<if test="null != searchPage and '' != searchPage ">
<if test="searchPage == 'chatWidget' ">
and a.init_flag = 1
</if>
</if>
<if test="null != status and 1==status">
and a.chat_status = 1
......@@ -276,11 +294,15 @@
<if test="null != status and 4==status">
and a.chat_status = 4
</if>
<if test="null != hmAddStatus and 0!=hmAddStatus">
and a.hm_add_status = #{hmAddStatus}
<if test="null != hmAddStatus and 1==hmAddStatus">
and a.total_count <![CDATA[ < ]]> 200
</if>
<if test="null != hmAddStatus and 2==hmAddStatus">
and a.total_count >= 200
</if>
<if test="null != searchParams and ''!=searchParams ">
and (a.name like '%${searchParams}%' or a.wx_chat_id like '${searchParams}%' )
and (a.name like #{searchParams} or a.wx_chat_id like #{wxChatId} )
</if>
<if test="null != staffIdList and staffIdList.size>0">
and a.staff_id in
......@@ -300,9 +322,6 @@
#{groupChatId}
</foreach>
</if>
<if test="null != hmAddStatus and 0!=hmAddStatus">
and a.hm_add_status = #{hmAddStatus}
</if>
<if test="null !=canUseFlag and 1==canUseFlag">
and b.open_concat_flag = 1 and b.active_flag = 1 and b.status_flag = 1
</if>
......
......@@ -65,7 +65,7 @@
</foreach>
</if>
<if test="null != searchParams and ''!=searchParams ">
and b.staff_name like '%${searchParams}%'
and b.staff_name like #{searchParams}
</if>
<if test="status==1">
and b.status_flag = 1
......
......@@ -90,16 +90,16 @@
and a.own_log_id = #{ownLogId}
</if>
<if test="null != searchParams and ''!=searchParams">
and c.staff_name like '%${searchParams}%'
and c.staff_name like #{searchParams}
</if>
<if test="null !=chatName and '' !=chatName">
and (d.name like '%${chatName}%' or d.wx_chat_id like '%${chatName}%')
and (d.name like #{chatName} or d.wx_chat_id like #{wxChatId}
</if>
<if test="null !=sendStatus">
and a.send_status = #{sendStatus}
</if>
<if test="null != startDate">
and a.create_time <![CDATA[>=]]> #{startDate} and a.create_time <![CDATA[<=]]> #{endDate}
</if>
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -182,7 +182,7 @@
and end_time <![CDATA[<]]> now()
</if>
<if test="null != searchParams and '' != searchParams">
and name like '%${searchParams}%'
and name like #{searchParams}
</if>
<if test="null !=creatorIdList and creatorIdList.size>0">
and creator_id in
......
......@@ -132,6 +132,15 @@
from tab_haoban_group_chat_plan_owner_log a left join tab_haoban_staff b on a.staff_id = b.staff_id
where
a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId} and a.delete_flag = 0
<if test="null != sendStatus">
and send_status = #{sendStatus}
</if>
<if test="null != searchParams and ''!=searchParams">
and b.staff_name like #{searchParams}
</if>
<if test="null != startDate">
and a.create_time <![CDATA[>=]]> #{startDate} and a.create_time <![CDATA[<=]]> #{endDate}
</if>
order by a.create_time , a.owner_log_id
</select>
......@@ -148,18 +157,24 @@
from tab_haoban_group_chat_plan_owner_log a left join tab_haoban_group_chat_plan b on a.plan_id = b.plan_id
where
a.wx_enterprise_id = #{wxEnterpriseId}
a.wx_enterprise_id = #{wxEnterpriseId} and b.delete_flag = 0
<if test="null != storeId">
and a.store_id = #{storeId}
</if>
<if test="null != clerkId">
and a.clerk_id = #{clerkId}
</if>
<if test="null != sendStatus">
and a.send_status = #{sendStatus}
</if>
group by b.plan_id
order by a.create_time desc , a.owner_log_id
</select>
<select id="listOwnerLogPageForWxa" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO">
select
a.owner_log_id ownerLogId ,
b.plan_id planId ,
b.name planName ,
a.staff_id staffId ,
......@@ -176,13 +191,17 @@
a.done_flag doneFlag ,
a.msgid msgid
from tab_haoban_group_chat_plan_owner_log a left join tab_haoban_group_chat_plan b on a.plan_id = b.plan_id
where a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId}
where a.wx_enterprise_id = #{wxEnterpriseId} and a.plan_id = #{planId} and b.delete_flag = 0
<if test="null != storeId">
and a.store_id = #{storeId}
</if>
<if test="null != clerkId">
and a.clerk_id = #{clerkId}
</if>
<if test="null != sendStatus">
and a.send_status = #{sendStatus}
</if>
order by a.create_time desc , a.owner_log_id
</select>
</mapper>
\ No newline at end of file
......@@ -267,7 +267,7 @@
and a.user_quit_time <![CDATA[>=]]> #{startDate} and a.user_quit_time <![CDATA[<=]]> #{endDate}
</if>
<if test="null != searchParams and '' != searchParams">
and (b.name like '%${searchParams}%' or c.staff_name like '%${searchParams}%' or b.wx_chat_id like '${searchParams}%')
and (b.name like #{searchParams} or c.staff_name like #{searchParams} or b.wx_chat_id like #{wxChatId})
</if>
</if>
<if test="null != userType">
......
......@@ -62,9 +62,9 @@
<!-- =====================删除==================== -->
<update id="delete">
UPDATE tab_haoban_hm_link_chat SET delete_flag = 1 , update_time =now() WHERE link_id = #{linkId}
<if test="null != idList and idList.size > 0">
and chat_hm_id in
<foreach collection="idList" item="item" separator="," index="index"
<if test="null != notDelIdList and notDelIdList.size > 0">
and link_chat_id not in
<foreach collection="notDelIdList" item="item" separator="," index="index"
close=")" open="(">
#{item}
</foreach>
......@@ -95,6 +95,7 @@
chat_hm_id chatHmId,
member_type memberType
from tab_haoban_hm_link_chat where link_id = #{linkId} and wx_enterprise_id = #{wxEnterpriseId} and enterprise_id = #{enterpriseId} and other_flag = 0
and delete_flag = 0
</select>
......
......@@ -51,59 +51,6 @@
where hm_id = #{hmId}
</select>
<!--查询指定行数据-->
<select id="queryListByPage" resultMap="TabHaobanHmQrcodeMap">
select
<include refid="Base_Column_List"></include>
from tab_haoban_hm_qrcode
<where>
<if test="hmCode != null and hmCode != ''">
and hm_code = #{hmCode}
</if>
<if test="hmType != null">
and hm_type = #{hmType}
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="enterpriseId != null and enterpriseId != ''">
and enterprise_id = #{enterpriseId}
</if>
<if test="keyword != null and keyword != ''">
and ( name like CONCAT('%',#{keyword},'%') or hm_code like CONCAT('%',#{keyword},'%') or
creator_name like CONCAT('%',#{keyword},'%'))
</if>
<if test="createTimeStart != null">
and create_time <![CDATA[ >= ]]> #{createTime}
</if>
<if test="createTimeEnd != null">
and create_time <![CDATA[ >= ]]> #{createTimeEnd}
</if>
<if test="passFlag != null">
and pass_flag = #{passFlag}
</if>
<if test="statusFlag != null">
and status_flag = #{statusFlag}
</if>
<if test="storeSearch != null and storeSearch != ''">
and ( store_name like CONCAT('%',#{storeSearch},'%') or store_code like CONCAT('%',#{storeSearch},'%') )
</if>
<if test="hmGroupId != null">
and hm_group_id = #{hmGroupId}
</if>
<if test="null != storeIdList and storeIdList.size gt 0">
and store_id in
<foreach collection="storeIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="hmId" useGeneratedKeys="true">
......@@ -345,7 +292,7 @@
and a.wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="null != hmSelect and '' != hmSelect ">
and (a.hm_id=#{hmSelect} or a.hm_code=#{hmSelect} or a.name like '%${hmSelect}%' or a.creator_name like '%${hmSelect}%' )
and (a.hm_id=#{hmSelect} or a.hm_code=#{hmSelect} or a.name like #{hmSelectLike} or a.creator_name like #{hmSelectLike} )
</if>
<if test="null != clerkSelect and '' != clerkSelect">
and ( a.clerk_id = #{clerkSelect} or b.clerk_id = #{clerkSelect} )
......
......@@ -152,7 +152,7 @@ public class LoginController extends WebBaseController {
String loginPhoneNumber = loginStaff.getPhoneNumber();
if (StringUtils.isBlank(loginPhoneNumber)) {
logger.info("未配置手机号,staffId ={}", loginStaff.getStaffId());
String code = "1000" ;
String code = "3000" ;
try {
response.sendRedirect(host+"/haoban-3/#/gic-error?errorCode="+code);
} catch (IOException e) {
......@@ -374,6 +374,8 @@ public class LoginController extends WebBaseController {
webLoginDTO.setLoginChannel(loginChannel);
webLoginDTO.setClerkId(clerk.getClerkId());
String roleId = this.rightService.getRoleIdByClerkId(clerk.getClerkId()) ;
webLoginDTO.setIsClique(en.getIsClique());
webLoginDTO.setCliqueId(en.getCliqueId());
webLoginDTO.setRoleId(roleId);
webLoginDTO.setClerkName(clerk.getClerkName());
webLoginDTO.setBrandName(en.getBrandName());
......@@ -418,7 +420,9 @@ public class LoginController extends WebBaseController {
return "企微应用未授权";
} else if(code.equals("1006")) {
return "账号已冻结,请联系管理员" ;
} else {
} else if(code.equals("3000")) {
return "成员未配置手机号" ;
} else {
return "系统异常";
}
}
......@@ -476,6 +480,9 @@ public class LoginController extends WebBaseController {
logger.info("切换商户失败,商户已过期,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail(endMessage);
}
EnterpriseDTO en = this.enterpriseService.getEnterpriseById(clerk.getEnterpriseId()) ;
loginUser.setIsClique(en.getIsClique());
loginUser.setCliqueId(en.getCliqueId());
loginUser.setEnterpriseId(enterpriseId);
loginUser.setClerkId(clerk.getClerkId());
loginUser.setClerkName(clerk.getClerkName());
......
......@@ -66,7 +66,7 @@ public class MemberController {
*/
@RequestMapping("member-count")
@ResponseBody
public RestResponse<Object> getMemberCount(String searchParams, @RequestParam(defaultValue = "0") int memberType) {
public RestResponse<Object> getMemberCount(String searchParams, @RequestParam(defaultValue="0")int type) {
if (StringUtils.isBlank(searchParams)) {
return RestResponse.successResult(0);
}
......@@ -76,7 +76,7 @@ public class MemberController {
int count = 0;
try {
// 会员分组
if (memberType == 1) {
if (type == 1) {
searchParams = memberTagMarketingApiService.getMemberTagJson(enterpriseId, searchParams, clerkId);
}
JSONObject searchJson = new JSONObject();
......
......@@ -95,9 +95,9 @@ public class GroupChatController {
List<GroupChatDTO> chatList = chatResp.getResult();
StringBuilder content = new StringBuilder();
for (GroupChatDTO item : chatList) {
content.append(item.getGroupChatId()).append("-").append(item.getName()).append(",");
content.append(item.getWxChatId()).append("-").append(item.getName()).append(",");
}
return content.toString();
return content.toString().substring(0,content.length()-1);
}
@RequestMapping("page")
......
......@@ -94,7 +94,7 @@ public class HmLinkController {
private GroupChatHmApiService groupChatHmApiService;
@RequestMapping("add")
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.HM_LINK_ADD, userFunc = LogRecordUserServiceImpl.class, optPage = "引流链接-新建链接")
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.HM_LINK_ADD, userFunc = LogRecordUserServiceImpl.class, optPage = "引流加人-新建链接")
public RestResponse<Object> save(@RequestBody HmLinkDTO dto) {
if (null == dto.getLinkType()) {
GicLogRecordEvaluationContext.noWriteLog();
......@@ -127,7 +127,7 @@ public class HmLinkController {
}
@RequestMapping("update")
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.HM_LINK_UPDATE, userFunc = LogRecordUserServiceImpl.class, optPage = "引流链接-编辑链接")
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.HM_LINK_UPDATE, userFunc = LogRecordUserServiceImpl.class, optPage = "引流加人-编辑链接")
public RestResponse<Object> update(@RequestBody HmLinkDTO dto) {
Long linkId = dto.getLinkId();
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
......
package com.gic.haoban.manage.web.qo;
import java.io.Serializable;
public class MemberSearchQO implements Serializable {
/**
* @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么)
*/
private static final long serialVersionUID = 244468004034308040L;
private String searchParams;
// 1分组
private int type;
public String getSearchParams() {
return searchParams;
}
public int getType() {
return type;
}
public void setSearchParams(String searchParams) {
this.searchParams = searchParams;
}
public void setType(int type) {
this.type = type;
}
}
......@@ -32,6 +32,26 @@ public class WebLoginVO implements Serializable {
* 运维登录人手机号
*/
private String clerkPhone;
private String cliqueId ;
//登录用户关联的企业是否是集团:1是0否
private Integer isClique ;
public String getCliqueId() {
return cliqueId;
}
public void setCliqueId(String cliqueId) {
this.cliqueId = cliqueId;
}
public Integer getIsClique() {
return isClique;
}
public void setIsClique(Integer isClique) {
this.isClique = isClique;
}
public String getStaffId() {
return staffId;
......
......@@ -29,11 +29,11 @@ import com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService;
/**
*
* @ClassName: GroupChatPlanController
* @Description: 群群发计划
* @author xugh
* @date 2022年11月26日 上午9:32:56
*
* @ClassName: GroupChatPlanController
* @Description: 群群发计划
* @author xugh
* @date 2022年11月26日 上午9:32:56
*
*/
@RestController
@RequestMapping("/chat/plan")
......@@ -47,23 +47,26 @@ public class GroupChatPlanController {
private MaterialApiService materialApiService;
@RequestMapping("total-list")
public RestResponse<Object> totalList(String clerkId, String wxEnterpriseId, String enterpriseId,String searchParams ,
BasePageInfo basePageInfo) {
public RestResponse<Object> totalList(String clerkId, String wxEnterpriseId, String enterpriseId,
String searchParams, BasePageInfo basePageInfo) {
if (StringUtils.isEmpty(clerkId)) {
return RestResponse.failure("1", "clerkId为空");
}
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
qdto.setClerkId(clerkId);
if(StringUtils.isNotBlank(searchParams)) {
if (StringUtils.isNotBlank(searchParams)) {
qdto.setSearchParams(searchParams);
}
ServiceResponse<Page<ChatOwnerTotalDTO>> pageResp = this.groupChatPlanApiService.listOwnerLogPageForWxaTotal(qdto,
basePageInfo);
Page<ChatOwnerTotalDTO> page = pageResp.getResult() ;
if(null != page.getResult()) {
page.getResult().forEach(dto->{
if(dto.getEndTime().before(new Date())) {
ServiceResponse<Page<ChatOwnerTotalDTO>> pageResp = this.groupChatPlanApiService
.listOwnerLogPageForWxaTotal(qdto, basePageInfo);
Page<ChatOwnerTotalDTO> page = pageResp.getResult();
if (null != page.getResult()) {
page.getResult().forEach(dto -> {
if (dto.getEndTime().before(new Date())) {
dto.setPlanStatus(2);
}else {
} else {
dto.setPlanStatus(1);
}
});
......@@ -73,6 +76,9 @@ public class GroupChatPlanController {
@RequestMapping("owner-list")
public RestResponse<Object> ownerList(GroupChatPlanSearchQDTO qdto, BasePageInfo basePageInfo) {
if (null == qdto.getPlanId()) {
return RestResponse.failure("1", "planid为空");
}
ServiceResponse<Page<GroupChatPlanOwnerLogDTO>> page = this.groupChatPlanApiService.listOwnerLogPageForWxa(qdto,
basePageInfo);
return RestResponse.successResult(page.getResult());
......@@ -86,8 +92,11 @@ public class GroupChatPlanController {
@RequestMapping("detail")
public RestResponse<Object> detail(Long planId) {
if (null == planId) {
return RestResponse.failure("1", "planid为空");
}
ServiceResponse<GroupChatPlanDTO> linkResp = this.groupChatPlanApiService.detail(planId);
if (!linkResp.isSuccess()) {
if (!linkResp.isSuccess() || null == linkResp.getResult()) {
return RestResponse.failure("1", "计划不存在");
}
GroupChatPlanDTO plan = linkResp.getResult();
......@@ -109,6 +118,9 @@ public class GroupChatPlanController {
@RequestMapping("owner-do-list")
public RestResponse<Object> ownerDoList(Long planId, String clerkId, String wxEnterpriseId, String enterpriseId,
Long ownLogId, BasePageInfo basePageInfo) {
if (null == ownLogId || null == planId || StringUtils.isEmpty(clerkId)) {
return RestResponse.failure("1", "参数未传");
}
GroupChatPlanSearchQDTO qdto = new GroupChatPlanSearchQDTO();
qdto.setWxEnterpriseId(wxEnterpriseId);
qdto.setEnterpriseId(enterpriseId);
......
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