Commit 81bf837e by 徐高华

Merge branch 'feature/xgh/7月零散' into 'master'

Feature/xgh/7月零散

See merge request !2082
parents 1aa240ab bea257b7
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
/**
* 会员加群、好友信息
*/
public class MemberGroupFriendDTO implements Serializable {
// 0好友 1群
private int type ;
private String clerkId ;
private String storeId ;
private Long groupChatId ;
private String remark ;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public Long getGroupChatId() {
return groupChatId;
}
public void setGroupChatId(Long groupChatId) {
this.groupChatId = groupChatId;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
...@@ -26,6 +26,17 @@ public class WxUserAddLogQDTO implements Serializable{ ...@@ -26,6 +26,17 @@ public class WxUserAddLogQDTO implements Serializable{
private String friendStoreId ; private String friendStoreId ;
// 0手动 1系统 // 0手动 1系统
private int delType ; private int delType ;
// 删除时是否单向好友 1是0否
private int delIsSingle ;
public int getDelIsSingle() {
return delIsSingle;
}
public void setDelIsSingle(int delIsSingle) {
this.delIsSingle = delIsSingle;
}
public int getDelType() { public int getDelType() {
return delType; return delType;
......
...@@ -53,6 +53,16 @@ public class WelcomeDetailDTO implements Serializable { ...@@ -53,6 +53,16 @@ public class WelcomeDetailDTO implements Serializable {
*/ */
private List<WelcomeMediaDTO> welcomeMediaList; private List<WelcomeMediaDTO> welcomeMediaList;
private int scene ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getWelcomeId() { public String getWelcomeId() {
return welcomeId; return welcomeId;
} }
......
...@@ -68,6 +68,16 @@ public class WelcomeListDTO implements Serializable { ...@@ -68,6 +68,16 @@ public class WelcomeListDTO implements Serializable {
private Integer type; private Integer type;
private int scene ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getModifierId() { public String getModifierId() {
return modifierId; return modifierId;
} }
......
...@@ -23,6 +23,17 @@ public class QueryWelcomeQDTO extends BasePageInfo { ...@@ -23,6 +23,17 @@ public class QueryWelcomeQDTO extends BasePageInfo {
*/ */
private Integer type; private Integer type;
// 发送场景 0无条件 1全部 2加好友 3继承
private int scene ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getWxEnterpriseId() { public String getWxEnterpriseId() {
return wxEnterpriseId; return wxEnterpriseId;
} }
......
...@@ -73,6 +73,16 @@ public class SaveWelcomeQDTO implements Serializable { ...@@ -73,6 +73,16 @@ public class SaveWelcomeQDTO implements Serializable {
*/ */
private Integer type; private Integer type;
private int scene = 1 ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getModifierId() { public String getModifierId() {
return modifierId; return modifierId;
} }
......
...@@ -343,5 +343,13 @@ public interface ExternalClerkRelatedApiService { ...@@ -343,5 +343,13 @@ public interface ExternalClerkRelatedApiService {
ExternalClerkRelatedDTO getDelFriend(String wxEnterpriseId , String enterpriseId , String staffId) ; ExternalClerkRelatedDTO getDelFriend(String wxEnterpriseId , String enterpriseId , String staffId) ;
/**
* 判断会员是否加过好友
* @param enterpriseId
* @param memberId
* @return
*/
public com.gic.api.base.commons.ServiceResponse<MemberGroupFriendDTO> memberIsAddClerk(String enterpriseId, String memberId) ;
} }
...@@ -83,6 +83,10 @@ public interface QywxTagApiService { ...@@ -83,6 +83,10 @@ public interface QywxTagApiService {
*/ */
public ServiceResponse syncFriendTagToQywxByExternalUserId(String wxEnterpriseId, String enterpriseId, String externalUserId, List<String> tagItemIds); public ServiceResponse syncFriendTagToQywxByExternalUserId(String wxEnterpriseId, String enterpriseId, String externalUserId, List<String> tagItemIds);
public ServiceResponse syncFriendTagToQywxByExternalUserId(String wxEnterpriseId, String enterpriseId, String externalUserId, List<String> tagItemIds , String externalUserInfo);
/** /**
* 同步企业微信导入gic的会员标签 * 同步企业微信导入gic的会员标签
* *
......
...@@ -235,6 +235,8 @@ public interface StaffApiService { ...@@ -235,6 +235,8 @@ public interface StaffApiService {
*/ */
List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId); List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId);
List<String> isGicSuper(String clerkId , String wxEnterpriseId) ;
/** /**
* 门店筛选器id和好办企业门店交集 * 门店筛选器id和好办企业门店交集
......
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import com.gic.api.base.commons.BasePageInfo; import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.MemberGroupFriendDTO;
import com.gic.haoban.manage.api.dto.chat.ChatEventDTO; import com.gic.haoban.manage.api.dto.chat.ChatEventDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO;
...@@ -173,4 +174,12 @@ public interface GroupChatApiService { ...@@ -173,4 +174,12 @@ public interface GroupChatApiService {
*/ */
public List<String> listOpenGroupChatDK(String enterpriseId , String staffId) ; public List<String> listOpenGroupChatDK(String enterpriseId , String staffId) ;
/**
* 判断会员是否入群
* @param enterpriseId
* @param memberId
* @return
*/
public ServiceResponse<MemberGroupFriendDTO> memberIsAddGroup(String enterpriseId, String memberId) ;
} }
...@@ -76,4 +76,5 @@ public interface GroupChatUserMapper { ...@@ -76,4 +76,5 @@ public interface GroupChatUserMapper {
*/ */
List<UserQuitBO> listQuitNum(@Param("wxEnterpriseId") String wxEnterpriseId ,@Param("start") Date start ,@Param("end") Date end) ; List<UserQuitBO> listQuitNum(@Param("wxEnterpriseId") String wxEnterpriseId ,@Param("start") Date start ,@Param("end") Date end) ;
List<TabGroupChatUser> getByMember(@Param("enterpriseId")String enterpriseId, @Param("memberId")String memberId);
} }
\ No newline at end of file
...@@ -78,6 +78,17 @@ public class TabWelcome implements Serializable { ...@@ -78,6 +78,17 @@ public class TabWelcome implements Serializable {
private String modifierName ; private String modifierName ;
private Integer type; private Integer type;
private int scene ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getModifierId() { public String getModifierId() {
return modifierId; return modifierId;
} }
......
...@@ -64,6 +64,15 @@ public class TabWxUserAddLog implements Serializable { ...@@ -64,6 +64,15 @@ public class TabWxUserAddLog implements Serializable {
private String friendClerkId ; private String friendClerkId ;
private String friendStoreId ; private String friendStoreId ;
private int delType ; private int delType ;
private int delIsSingle ;
public int getDelIsSingle() {
return delIsSingle;
}
public void setDelIsSingle(int delIsSingle) {
this.delIsSingle = delIsSingle;
}
public int getDelType() { public int getDelType() {
return delType; return delType;
......
package com.gic.haoban.manage.service.pojo;
import java.io.Serializable;
public class WelcomeUserInfoBO implements Serializable {
private String name ;
private int addWay ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAddWay() {
return addWay;
}
public void setAddWay(int addWay) {
this.addWay = addWay;
}
public WelcomeUserInfoBO(String name, int addWay) {
this.name = name;
this.addWay = addWay;
}
}
...@@ -27,6 +27,8 @@ public class SaveWelcomeBO { ...@@ -27,6 +27,8 @@ public class SaveWelcomeBO {
* @see com.gic.haoban.manage.api.enums.hm.HmWelcomeType * @see com.gic.haoban.manage.api.enums.hm.HmWelcomeType
*/ */
private Integer type; private Integer type;
private int scene = 1 ;
/** /**
* 内容 * 内容
*/ */
...@@ -68,6 +70,14 @@ public class SaveWelcomeBO { ...@@ -68,6 +70,14 @@ public class SaveWelcomeBO {
*/ */
private List<WelcomeSuitStaffBO> suitStaffDeleteList; private List<WelcomeSuitStaffBO> suitStaffDeleteList;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getModifierId() { public String getModifierId() {
return modifierId; return modifierId;
} }
......
...@@ -26,6 +26,8 @@ public class WelcomeDetailBO { ...@@ -26,6 +26,8 @@ public class WelcomeDetailBO {
* 欢迎语类型 * 欢迎语类型
*/ */
private Integer type; private Integer type;
private int scene ;
/** /**
* 内容 * 内容
*/ */
...@@ -51,6 +53,14 @@ public class WelcomeDetailBO { ...@@ -51,6 +53,14 @@ public class WelcomeDetailBO {
*/ */
private List<WelcomeMediaBO> welcomeMediaList; private List<WelcomeMediaBO> welcomeMediaList;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getWelcomeId() { public String getWelcomeId() {
return welcomeId; return welcomeId;
} }
......
...@@ -66,6 +66,16 @@ public class WelcomeListBO { ...@@ -66,6 +66,16 @@ public class WelcomeListBO {
private Integer type; private Integer type;
private int scene ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getCreatorId() { public String getCreatorId() {
return creatorId; return creatorId;
} }
......
...@@ -18,6 +18,27 @@ public class WelcomeInfoQO extends BasePageInfo { ...@@ -18,6 +18,27 @@ public class WelcomeInfoQO extends BasePageInfo {
private Integer type; private Integer type;
//1 正常加好友 2离职继承
private int sceneType ;
private int scene ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public int getSceneType() {
return sceneType;
}
public void setSceneType(int sceneType) {
this.sceneType = sceneType;
}
public String getWxEnterpriseId() { public String getWxEnterpriseId() {
return wxEnterpriseId; return wxEnterpriseId;
} }
......
...@@ -87,7 +87,8 @@ public interface WelcomeService { ...@@ -87,7 +87,8 @@ public interface WelcomeService {
* @author : YongEn * @author : YongEn
* @date : 2022/2/9 * @date : 2022/2/9
*/ */
WelcomeDetailBO getMatchWelcome(String staffId, String wxEnterpriseId); WelcomeDetailBO getMatchWelcome(String staffId, String wxEnterpriseId,int welcomeScene);
/** /**
* desc: 新增默认欢迎语 * desc: 新增默认欢迎语
......
...@@ -4,6 +4,7 @@ import com.gic.api.base.commons.BasePageInfo; ...@@ -4,6 +4,7 @@ import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatUser;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatUserBO; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatUserBO;
import java.util.List; import java.util.List;
...@@ -16,4 +17,14 @@ public interface GroupChatUserService { ...@@ -16,4 +17,14 @@ public interface GroupChatUserService {
* 查询群组内群成员 * 查询群组内群成员
*/ */
List<GroupChatUserBO> queryGroupMemberWithChatId(String enterpriseId, String wxEnterpriseId, Long groupChatId); List<GroupChatUserBO> queryGroupMemberWithChatId(String enterpriseId, String wxEnterpriseId, Long groupChatId);
/**
* 判断会员是否进过群
* @param enterpriseId
* @param memberId
* @return
*/
List<TabGroupChatUser> getByMember(String enterpriseId , String memberId) ;
} }
\ No newline at end of file
...@@ -67,4 +67,9 @@ public class GroupChatUserServiceImpl implements GroupChatUserService { ...@@ -67,4 +67,9 @@ public class GroupChatUserServiceImpl implements GroupChatUserService {
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@Override
public List<TabGroupChatUser> getByMember(String enterpriseId, String memberId) {
return this.groupChatUserMapper.getByMember(enterpriseId,memberId);
}
} }
\ No newline at end of file
...@@ -151,6 +151,7 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService { ...@@ -151,6 +151,7 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService {
entity.setFriendClerkId(qdto.getFriendClerkId()); entity.setFriendClerkId(qdto.getFriendClerkId());
entity.setFriendStoreId(qdto.getFriendStoreId()); entity.setFriendStoreId(qdto.getFriendStoreId());
entity.setDelType(qdto.getDelType()); entity.setDelType(qdto.getDelType());
entity.setDelIsSingle(qdto.getDelIsSingle());
this.wxUserAddLogMapper.insert(entity); this.wxUserAddLogMapper.insert(entity);
}catch(Exception e) { }catch(Exception e) {
log.info("异常",e); log.info("异常",e);
......
...@@ -179,6 +179,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -179,6 +179,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
if(autoDelNum>0) { if(autoDelNum>0) {
wxUserAddLogQDTO.setDelType(1); wxUserAddLogQDTO.setDelType(1);
} }
if(related.getExternalStatus()==3) {
wxUserAddLogQDTO.setDelIsSingle(1) ;
}
wxUserAddLogService.save(wxUserAddLogQDTO); wxUserAddLogService.save(wxUserAddLogQDTO);
//定制 //定制
addDelFriendEvent(related.getUnionid(), related.getClerkId(), wxEnterpriseId, enterpriseId, related.getMemberId(), related.getStoreId(), 0); addDelFriendEvent(related.getUnionid(), related.getClerkId(), wxEnterpriseId, enterpriseId, related.getMemberId(), related.getStoreId(), 0);
......
...@@ -5,8 +5,10 @@ import java.util.Date; ...@@ -5,8 +5,10 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import com.alibaba.fastjson.JSONArray;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMediaMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMediaMapper;
import com.gic.haoban.manage.service.entity.*; import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.pojo.WelcomeUserInfoBO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.DateUtils;
...@@ -112,10 +114,6 @@ public class WelcomeSendServiceImpl implements WelcomeSendService { ...@@ -112,10 +114,6 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
/** /**
* 发送欢迎语 * 发送欢迎语
* *
* @param dto
* @param wxEnterpriseDTO
* @param enterpriseId
* @param staffId
* {"data":{"welcomeCode":"J0GjdrsF-nZNac3Xc6V2K2p8OokQZcY4g0jxljdHc7A","wxUserId":"016903","suiteid":"selfSuiteId","corpid":"wxbde984c3488b837e","externalUserid":"wmSe9FEAAAy39F1NI6Z-THUUd9mkqOIw","changeType":"add_external_contact"},"type":1,"mqTraceId":"278473818-1-1679557069.126"} * {"data":{"welcomeCode":"J0GjdrsF-nZNac3Xc6V2K2p8OokQZcY4g0jxljdHc7A","wxUserId":"016903","suiteid":"selfSuiteId","corpid":"wxbde984c3488b837e","externalUserid":"wmSe9FEAAAy39F1NI6Z-THUUd9mkqOIw","changeType":"add_external_contact"},"type":1,"mqTraceId":"278473818-1-1679557069.126"}
*/ */
@Override @Override
...@@ -144,16 +142,23 @@ public class WelcomeSendServiceImpl implements WelcomeSendService { ...@@ -144,16 +142,23 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
log.info("发送欢迎语,state={}", state); log.info("发送欢迎语,state={}", state);
String relationKey = SecureUtil.md5(staffId + externalUserId); String relationKey = SecureUtil.md5(staffId + externalUserId);
WelcomeDetailBO welcomeBO = null; WelcomeDetailBO welcomeBO = null;
WelcomeUserInfoBO userBO = this.getExternalUserName(qwDTO, externalUserId , wxUserId);
int addWay = userBO.getAddWay() ;
int welcomeScene = 0 ;
if(addWay==202) {
// 离职继承、在职继承
welcomeScene = 202 ;
}
if (StringUtils.isNotBlank(state) if (StringUtils.isNotBlank(state)
&& (state.startsWith(Manage3Constants.HM) || state.startsWith(Manage3Constants.DT))) { && (state.startsWith(Manage3Constants.HM) || state.startsWith(Manage3Constants.DT))) {
WelcomeReferBO welcomeReferBo = getWelcomeReferBo(state); WelcomeReferBO welcomeReferBo = getWelcomeReferBo(state);
welcomeBO = welcomeService.getMatchWelcomeWithReferId(staffId, wxEnterpriseId, welcomeReferBo); welcomeBO = welcomeService.getMatchWelcomeWithReferId(staffId, wxEnterpriseId, welcomeReferBo);
//单人活码欢迎语未配置时,取欢迎语的配置进行发送 //单人活码欢迎语未配置时,取欢迎语的配置进行发送
if(state.startsWith(Manage3Constants.HM) && welcomeBO == null){ if(state.startsWith(Manage3Constants.HM) && welcomeBO == null){
welcomeBO = welcomeService.getMatchWelcome(staffId, wxEnterpriseId); welcomeBO = welcomeService.getMatchWelcome(staffId, wxEnterpriseId,welcomeScene);
} }
} else { } else {
welcomeBO = welcomeService.getMatchWelcome(staffId, wxEnterpriseId); welcomeBO = welcomeService.getMatchWelcome(staffId, wxEnterpriseId,welcomeScene);
} }
if (Objects.isNull(welcomeBO)) { if (Objects.isNull(welcomeBO)) {
log.info("欢迎语未配置wxEnterpriseId:{}", wxEnterpriseId); log.info("欢迎语未配置wxEnterpriseId:{}", wxEnterpriseId);
...@@ -163,7 +168,7 @@ public class WelcomeSendServiceImpl implements WelcomeSendService { ...@@ -163,7 +168,7 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
log.info("欢迎语发送{}={}", welcomeBO.getWelcomeId(), JSON.toJSONString(welcomeBO)); log.info("欢迎语发送{}={}", welcomeBO.getWelcomeId(), JSON.toJSONString(welcomeBO));
String content = welcomeBO.getWelcomeContent(); String content = welcomeBO.getWelcomeContent();
if (content.contains("<微信昵称>")) { if (content.contains("<微信昵称>")) {
String nickName = this.getExternalUserName(qwDTO, externalUserId); String nickName = userBO.getName() ;
//这里对“$”符号和”\\“符号进行转义处理 //这里对“$”符号和”\\“符号进行转义处理
nickName = java.util.regex.Matcher.quoteReplacement(nickName); nickName = java.util.regex.Matcher.quoteReplacement(nickName);
content = content.replaceAll("<微信昵称>", nickName); content = content.replaceAll("<微信昵称>", nickName);
...@@ -403,7 +408,7 @@ public class WelcomeSendServiceImpl implements WelcomeSendService { ...@@ -403,7 +408,7 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
} }
} }
private String getExternalUserName(WxEnterpriseQwDTO qwDTO, String externalUserId) { private WelcomeUserInfoBO getExternalUserName(WxEnterpriseQwDTO qwDTO, String externalUserId , String addUserId) {
log.info("查询好友详情,externalUserId={},{}", externalUserId,qwDTO.getWxSecurityType()); log.info("查询好友详情,externalUserId={},{}", externalUserId,qwDTO.getWxSecurityType());
String userInfo = null ; String userInfo = null ;
if(qwDTO.isSelf()) { if(qwDTO.isSelf()) {
...@@ -412,13 +417,14 @@ public class WelcomeSendServiceImpl implements WelcomeSendService { ...@@ -412,13 +417,14 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
userInfo =qywxUserApiService.getExternalUseridInfo(qwDTO.getThirdCorpid(), config.getWxSuiteid(), externalUserId); userInfo =qywxUserApiService.getExternalUseridInfo(qwDTO.getThirdCorpid(), config.getWxSuiteid(), externalUserId);
} }
String name = ""; String name = "";
Integer addWay = 0 ;
if (StringUtils.isBlank(userInfo)) { if (StringUtils.isBlank(userInfo)) {
log.info("好友不存在"); log.info("好友不存在");
return name; return new WelcomeUserInfoBO(name,0);
} }
if ("1".equals(userInfo)) { if ("1".equals(userInfo)) {
log.info("限制次数"); log.info("限制次数");
return name; return new WelcomeUserInfoBO(name,0);
} }
if (StringUtils.isNotBlank(userInfo)) { if (StringUtils.isNotBlank(userInfo)) {
JSONObject userJson = JSON.parseObject(userInfo); JSONObject userJson = JSON.parseObject(userInfo);
...@@ -428,8 +434,22 @@ public class WelcomeSendServiceImpl implements WelcomeSendService { ...@@ -428,8 +434,22 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
jt = JSON.parseObject(external_contact); jt = JSON.parseObject(external_contact);
name = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true); name = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true);
} }
String follow_user = "";
follow_user = userJson.getString("follow_user");
if (StringUtils.isNotBlank(follow_user)) {
JSONArray j = JSON.parseArray(follow_user);
for (Object object : j) {
String followJson = JSON.toJSONString(object);
JSONObject follow = JSON.parseObject(followJson);
String userId = follow.getString("userid");
if (userId.equals(addUserId)) {
addWay = follow.getIntValue("add_way") ;
}
}
}
} }
return name; log.info("addWay={}",addWay);
return new WelcomeUserInfoBO(name,addWay);
} }
private String getClerkId(String wxEnterpriseId, String staffId, String state) { private String getClerkId(String wxEnterpriseId, String staffId, String state) {
......
...@@ -205,6 +205,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -205,6 +205,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcome.setModifierName(bo.getModifierName()); welcome.setModifierName(bo.getModifierName());
welcome.setDefaultWelcomeFlag(bo.getDefaultWelcomeFlag()); welcome.setDefaultWelcomeFlag(bo.getDefaultWelcomeFlag());
welcome.setType(bo.getType()); welcome.setType(bo.getType());
welcome.setScene(bo.getScene());
welcomeMapper.insert(welcome); welcomeMapper.insert(welcome);
return welcome; return welcome;
} }
...@@ -226,6 +227,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -226,6 +227,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcome.setDefaultWelcomeFlag(bo.getDefaultWelcomeFlag()); welcome.setDefaultWelcomeFlag(bo.getDefaultWelcomeFlag());
welcome.setModifierId(bo.getModifierId()); welcome.setModifierId(bo.getModifierId());
welcome.setModifierName(bo.getModifierName()); welcome.setModifierName(bo.getModifierName());
welcome.setScene(bo.getScene());
welcomeMapper.updateByPrimaryKeySelective(welcome); welcomeMapper.updateByPrimaryKeySelective(welcome);
return welcome; return welcome;
} }
...@@ -302,6 +304,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -302,6 +304,7 @@ public class WelcomeServiceImpl implements WelcomeService {
bo.setOperatorName(one.getOperatorName()); bo.setOperatorName(one.getOperatorName());
bo.setDefaultWelcomeFlag(one.getDefaultWelcomeFlag()); bo.setDefaultWelcomeFlag(one.getDefaultWelcomeFlag());
bo.setType(one.getType()); bo.setType(one.getType());
bo.setScene(one.getScene());
// 媒体列表 // 媒体列表
bo.setWelcomeMediaList( bo.setWelcomeMediaList(
convertWelcomeMedia(welcomeMediaMapper.listByWelcomeId(one.getWelcomeId())) convertWelcomeMedia(welcomeMediaMapper.listByWelcomeId(one.getWelcomeId()))
...@@ -345,6 +348,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -345,6 +348,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcomeDetail.setOpenFlag(welcome.getOpenFlag()); welcomeDetail.setOpenFlag(welcome.getOpenFlag());
welcomeDetail.setDefaultWelcomeFlag(welcome.getDefaultWelcomeFlag()); welcomeDetail.setDefaultWelcomeFlag(welcome.getDefaultWelcomeFlag());
welcomeDetail.setType(welcome.getType()); welcomeDetail.setType(welcome.getType());
welcomeDetail.setScene(welcome.getScene());
// 媒体列表 // 媒体列表
welcomeDetail.setWelcomeMediaList( welcomeDetail.setWelcomeMediaList(
convertWelcomeMedia(welcomeMediaMapper.listByWelcomeId(welcome.getWelcomeId())) convertWelcomeMedia(welcomeMediaMapper.listByWelcomeId(welcome.getWelcomeId()))
...@@ -460,24 +464,32 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -460,24 +464,32 @@ public class WelcomeServiceImpl implements WelcomeService {
} }
@Override @Override
public WelcomeDetailBO getMatchWelcome(String staffId, String wxEnterpriseId) { public WelcomeDetailBO getMatchWelcome(String staffId, String wxEnterpriseId,int welcomeScene) {
if (StringUtils.isEmpty(staffId) || StringUtils.isEmpty(wxEnterpriseId)) { if (StringUtils.isEmpty(staffId) || StringUtils.isEmpty(wxEnterpriseId)) {
return null; return null;
} }
return queryMatchWelcome(staffId, wxEnterpriseId, HmWelcomeType.NORMAL.getCode()); return queryMatchWelcome(staffId, wxEnterpriseId, HmWelcomeType.NORMAL.getCode() ,welcomeScene);
} }
private WelcomeDetailBO queryMatchWelcome(String staffId, String wxEnterpriseId, Integer type) { private WelcomeDetailBO queryMatchWelcome(String staffId, String wxEnterpriseId, Integer type , int welcomeScene) {
WelcomeInfoQO welcomeInfoQO = new WelcomeInfoQO(); WelcomeInfoQO welcomeInfoQO = new WelcomeInfoQO();
welcomeInfoQO.setWxEnterpriseId(wxEnterpriseId); welcomeInfoQO.setWxEnterpriseId(wxEnterpriseId);
welcomeInfoQO.setType(type); welcomeInfoQO.setType(type);
// 查询非默认欢迎语 // 查询非默认欢迎语
welcomeInfoQO.setDefaultWelcomeFlag(0); welcomeInfoQO.setDefaultWelcomeFlag(0);
logger.info("发送场景={}",welcomeScene);
if(welcomeScene==202) {
welcomeInfoQO.setSceneType(2);
}else {
welcomeInfoQO.setSceneType(1);
}
List<TabWelcome> nonDefaultWelcomList = welcomeMapper.queryWelcomeList(welcomeInfoQO); List<TabWelcome> nonDefaultWelcomList = welcomeMapper.queryWelcomeList(welcomeInfoQO);
// 查询默认欢迎语 // 查询默认欢迎语
welcomeInfoQO.setSceneType(0);
welcomeInfoQO.setDefaultWelcomeFlag(1); welcomeInfoQO.setDefaultWelcomeFlag(1);
List<TabWelcome> defaultWelcomeList = welcomeMapper.queryWelcomeList(welcomeInfoQO); List<TabWelcome> defaultWelcomeList = welcomeMapper.queryWelcomeList(welcomeInfoQO);
if (CollectionUtils.isEmpty(nonDefaultWelcomList)) { if (CollectionUtils.isEmpty(nonDefaultWelcomList)) {
logger.info("只有默认欢迎语");
return checkAndGetDefaultWelcome(defaultWelcomeList); return checkAndGetDefaultWelcome(defaultWelcomeList);
} }
// 匹配部门组织架构 // 匹配部门组织架构
...@@ -514,7 +526,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -514,7 +526,7 @@ public class WelcomeServiceImpl implements WelcomeService {
if (Objects.isNull(matchWelcome)) { if (Objects.isNull(matchWelcome)) {
return checkAndGetDefaultWelcome(defaultWelcomeList); return checkAndGetDefaultWelcome(defaultWelcomeList);
} }
logger.info("欢迎语已匹配"); logger.info("欢迎语已匹配={}",matchWelcome.getWelcomeId());
return matchWelcome; return matchWelcome;
} }
...@@ -532,6 +544,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -532,6 +544,7 @@ public class WelcomeServiceImpl implements WelcomeService {
logger.info("未配置默认欢迎语"); logger.info("未配置默认欢迎语");
return null; return null;
} }
logger.info("使用默认欢迎语发送");
return convertWelcomeToBo(defaultWelcomeList.get(0)); return convertWelcomeToBo(defaultWelcomeList.get(0));
} }
...@@ -692,6 +705,7 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -692,6 +705,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcomeInfoQo.setWxEnterpriseId(queryWelcomeQDTO.getWxEnterpriseId()); welcomeInfoQo.setWxEnterpriseId(queryWelcomeQDTO.getWxEnterpriseId());
welcomeInfoQo.setTitle(queryWelcomeQDTO.getTitle()); welcomeInfoQo.setTitle(queryWelcomeQDTO.getTitle());
welcomeInfoQo.setType(queryWelcomeQDTO.getType()); welcomeInfoQo.setType(queryWelcomeQDTO.getType());
welcomeInfoQo.setScene(queryWelcomeQDTO.getScene());
PageHelper.startPage(queryWelcomeQDTO.getPageNum(), queryWelcomeQDTO.getPageSize()); PageHelper.startPage(queryWelcomeQDTO.getPageNum(), queryWelcomeQDTO.getPageSize());
com.github.pagehelper.Page<TabWelcome> tabWelcomes = com.github.pagehelper.Page<TabWelcome> tabWelcomes =
(com.github.pagehelper.Page<TabWelcome>) welcomeMapper.queryWelcomeList(welcomeInfoQo); (com.github.pagehelper.Page<TabWelcome>) welcomeMapper.queryWelcomeList(welcomeInfoQo);
......
...@@ -76,6 +76,12 @@ public class AuditApiServiceImpl implements AuditApiService { ...@@ -76,6 +76,12 @@ public class AuditApiServiceImpl implements AuditApiService {
} }
if (storeIdList.contains("-1")) { if (storeIdList.contains("-1")) {
storeIdList = null; storeIdList = null;
}else {
List<String> superList = this.staffApiService.isGicSuper(clerkId,wxEnterpriseId) ;
if(CollectionUtils.isNotEmpty(superList) && superList.contains("-1")) {
logger.info("gic超管");
storeIdList = null ;
}
} }
PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize()); PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize());
com.github.pagehelper.Page<TabHaobanAudit> page = auditMapper.page(wxEnterpriseId, auditType, storeIdList, search, enterpriseId, auditStatus, auditFlag); com.github.pagehelper.Page<TabHaobanAudit> page = auditMapper.page(wxEnterpriseId, auditType, storeIdList, search, enterpriseId, auditStatus, auditFlag);
......
...@@ -866,5 +866,24 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -866,5 +866,24 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
return retPage; return retPage;
} }
@Override
public com.gic.api.base.commons.ServiceResponse<MemberGroupFriendDTO> memberIsAddClerk(String enterpriseId, String memberId) {
List<TabHaobanExternalClerkRelated> list = this.externalClerkRelatedService.getAddTimeByMemberId(memberId,enterpriseId,"1") ;
if(CollectionUtils.isNotEmpty(list)) {
TabHaobanExternalClerkRelated item = list.get(0) ;
MemberGroupFriendDTO dto = new MemberGroupFriendDTO() ;
dto.setType(0);
String storeId = item.getStoreId() ;
String clerkId = item.getClerkId() ;
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
StoreDTO storeDTO = storeService.getStore(storeId);
if(clerkDTO != null && null != storeDTO) {
dto.setStoreId(storeId);
dto.setClerkId(clerkId);
dto.setRemark(clerkDTO.getClerkName()+"("+clerkDTO.getClerkCode()+") , " + storeDTO.getStoreName()+"("+storeDTO.getStoreCode()+")");
return com.gic.api.base.commons.ServiceResponse.success(dto) ;
}
}
return com.gic.api.base.commons.ServiceResponse.success(null) ;
}
} }
...@@ -479,7 +479,12 @@ public class QywxTagApiServiceImpl implements QywxTagApiService { ...@@ -479,7 +479,12 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
@Override @Override
public ServiceResponse syncFriendTagToQywxByExternalUserId(String wxEnterpriseId, String enterpriseId, String externalUserId, List<String> tagItemIds) { public ServiceResponse syncFriendTagToQywxByExternalUserId(String wxEnterpriseId, String enterpriseId, String externalUserId, List<String> tagItemIds) {
logger.info("同步好友标签到企业微信:externalUserId={},{}", externalUserId, JSONObject.toJSONString(tagItemIds)); return this.syncFriendTagToQywxByExternalUserId(wxEnterpriseId,enterpriseId,externalUserId,tagItemIds,null);
}
@Override
public ServiceResponse syncFriendTagToQywxByExternalUserId(String wxEnterpriseId, String enterpriseId, String externalUserId, List<String> tagItemIds, String externalUserInfo) {
logger.info("同步gic标签到企业微信:externalUserId={},{},{}", externalUserId, JSONObject.toJSONString(tagItemIds),externalUserInfo);
ServiceResponse resp = new ServiceResponse(); ServiceResponse resp = new ServiceResponse();
//获取需要同步的标签 //获取需要同步的标签
QywxSyncTagFormatPojo syncTagFormat = listSyncTagItems(wxEnterpriseId); QywxSyncTagFormatPojo syncTagFormat = listSyncTagItems(wxEnterpriseId);
...@@ -496,12 +501,14 @@ public class QywxTagApiServiceImpl implements QywxTagApiService { ...@@ -496,12 +501,14 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
//查询外部联系人 //查询外部联系人
String wxSuiteid = config.getWxSuiteid(); String wxSuiteid = config.getWxSuiteid();
String externalUseridInfo = null ; String externalUseridInfo = externalUserInfo ;
if(null == externalUseridInfo) {
if(qwDTO.isSelf()) { if(qwDTO.isSelf()) {
externalUseridInfo = this.qywxUserApiService.getCorpSelfExternalUseridInfo(qwDTO.getDkCorpid(), qwDTO.getSelfSecret(), externalUserId,qwDTO.getUrlHost()) ; externalUseridInfo = this.qywxUserApiService.getCorpSelfExternalUseridInfo(qwDTO.getDkCorpid(), qwDTO.getSelfSecret(), externalUserId,qwDTO.getUrlHost()) ;
}else { }else {
externalUseridInfo = this.qywxUserApiService.getExternalUseridInfo(qwDTO.getThirdCorpid(), wxSuiteid, externalUserId); externalUseridInfo = this.qywxUserApiService.getExternalUseridInfo(qwDTO.getThirdCorpid(), wxSuiteid, externalUserId);
} }
}
if (StringUtils.isBlank(externalUseridInfo)) { if (StringUtils.isBlank(externalUseridInfo)) {
logger.info("好友不存在"); logger.info("好友不存在");
resp.setCode(3); resp.setCode(3);
......
...@@ -890,6 +890,17 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -890,6 +890,17 @@ public class StaffApiServiceImpl implements StaffApiService {
} }
@Override @Override
public List<String> isGicSuper(String clerkId, String wxEnterpriseId) {
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if (clerkDTO == null) {
logger.info("导购不存在:clerkId:{},无门店", clerkId);
return Collections.emptyList();
}
List<String> gicStoreIds = getStoreIdList(clerkDTO);
return gicStoreIds;
}
@Override
public List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId) { public List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId) {
logger.info("查询导购权限,clerkId={},wxEnterpriseId={}", clerkId, wxEnterpriseId); logger.info("查询导购权限,clerkId={},wxEnterpriseId={}", clerkId, wxEnterpriseId);
if (StringUtils.isAnyBlank(clerkId, wxEnterpriseId)) { if (StringUtils.isAnyBlank(clerkId, wxEnterpriseId)) {
......
...@@ -62,6 +62,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService { ...@@ -62,6 +62,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService {
saveWelcomeBO.setModifierId(qdto.getModifierId()); saveWelcomeBO.setModifierId(qdto.getModifierId());
saveWelcomeBO.setModifierName(qdto.getModifierName()); saveWelcomeBO.setModifierName(qdto.getModifierName());
saveWelcomeBO.setType(qdto.getType()); saveWelcomeBO.setType(qdto.getType());
saveWelcomeBO.setScene(qdto.getScene());
// 媒体列表 // 媒体列表
saveWelcomeBO.setWelcomeMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaBO.class, qdto.getWelcomeMediaList())); saveWelcomeBO.setWelcomeMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaBO.class, qdto.getWelcomeMediaList()));
// 适用部门新增列表 // 适用部门新增列表
...@@ -110,6 +111,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService { ...@@ -110,6 +111,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService {
dto.setOperatorName(one.getOperatorName()); dto.setOperatorName(one.getOperatorName());
dto.setDefaultWelcomeFlag(one.getDefaultWelcomeFlag()); dto.setDefaultWelcomeFlag(one.getDefaultWelcomeFlag());
dto.setType(one.getType()); dto.setType(one.getType());
dto.setScene(one.getScene());
// 媒体列表 // 媒体列表
dto.setWelcomeMediaList( dto.setWelcomeMediaList(
CollectionUtils.isEmpty(one.getWelcomeMediaList()) ? Collections.emptyList() CollectionUtils.isEmpty(one.getWelcomeMediaList()) ? Collections.emptyList()
...@@ -138,6 +140,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService { ...@@ -138,6 +140,7 @@ public class WelcomeApiServiceImpl implements WelcomeApiService {
dto.setOpenFlag(welcome.getOpenFlag()); dto.setOpenFlag(welcome.getOpenFlag());
dto.setDefaultWelcomeFlag(welcome.getDefaultWelcomeFlag()); dto.setDefaultWelcomeFlag(welcome.getDefaultWelcomeFlag());
dto.setType(welcome.getType()); dto.setType(welcome.getType());
dto.setScene(welcome.getScene());
// 媒体列表 // 媒体列表
dto.setWelcomeMediaList( dto.setWelcomeMediaList(
CollectionUtils.isEmpty(welcome.getWelcomeMediaList()) ? Collections.emptyList() CollectionUtils.isEmpty(welcome.getWelcomeMediaList()) ? Collections.emptyList()
......
...@@ -10,10 +10,11 @@ import java.util.stream.Collectors; ...@@ -10,10 +10,11 @@ import java.util.stream.Collectors;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.manage.api.dto.MemberGroupFriendDTO;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanClerkMainStoreRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanClerkMainStoreRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatMapper; import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper; import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated; import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.entity.chat.TabGroupChat; import com.gic.haoban.manage.service.entity.chat.TabGroupChat;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatUser; import com.gic.haoban.manage.service.entity.chat.TabGroupChatUser;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -41,9 +42,6 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO; ...@@ -41,9 +42,6 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO; import com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatApiService; import com.gic.haoban.manage.api.service.chat.GroupChatApiService;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatBO; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatBO;
import com.gic.haoban.manage.service.service.StaffClerkRelationService; import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.StaffService; import com.gic.haoban.manage.service.service.StaffService;
...@@ -320,4 +318,23 @@ public class GroupChatApiServiceImpl implements GroupChatApiService { ...@@ -320,4 +318,23 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
public List<String> listOpenGroupChatDK(String enterpriseId, String staffId) { public List<String> listOpenGroupChatDK(String enterpriseId, String staffId) {
return this.groupChatMapper.listOpenGroupChatDK(enterpriseId,staffId); return this.groupChatMapper.listOpenGroupChatDK(enterpriseId,staffId);
} }
@Override
public ServiceResponse<MemberGroupFriendDTO> memberIsAddGroup(String enterpriseId, String memberId) {
List<TabGroupChatUser> list = this.groupChatUserService.getByMember(enterpriseId,memberId) ;
if(CollectionUtils.isNotEmpty(list)) {
logger.info("会员入群数={}",memberId,list.size());
TabGroupChatUser item = list.get(0) ;
MemberGroupFriendDTO dto = new MemberGroupFriendDTO() ;
dto.setType(1);
Long groupChatId = item.getGroupChatId() ;
TabGroupChat group = this.groupChatMapper.selectById(groupChatId) ;
if(null != group) {
dto.setGroupChatId(groupChatId);
dto.setRemark(group.getName()+"("+groupChatId+")");
return ServiceResponse.success(dto);
}
}
return ServiceResponse.success(null);
}
} }
...@@ -896,6 +896,7 @@ ...@@ -896,6 +896,7 @@
<if test="null != flag"> <if test="null != flag">
and status_flag in (1) and status_flag in (1)
</if> </if>
order by create_time desc
</select> </select>
<select id="getMemberIdByExternalId" resultType="java.lang.String"> <select id="getMemberIdByExternalId" resultType="java.lang.String">
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
welcome_id welcome_id
, wx_enterprise_id, title, welcome_content,welcome_img,open_flag, status_flag, , wx_enterprise_id, title, welcome_content,welcome_img,open_flag, status_flag,
create_time, update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name , modifier_id , modifier_name, `type` create_time, update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name , modifier_id , modifier_name, `type` , scene
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabWelcome"> <insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabWelcome">
insert into tab_haoban_welcome (welcome_id, wx_enterprise_id, title, insert into tab_haoban_welcome (welcome_id, wx_enterprise_id, title,
welcome_content, welcome_img, open_flag, status_flag, create_time, welcome_content, welcome_img, open_flag, status_flag, create_time,
update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name,modifier_id,modifier_name, `type`) update_time, operator_id, operator_name, default_welcome_flag , creator_id , creator_name,modifier_id,modifier_name, `type` , scene)
values (#{welcomeId,jdbcType=VARCHAR}, values (#{welcomeId,jdbcType=VARCHAR},
#{wxEnterpriseId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{title,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR},
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
#{operatorId,jdbcType=VARCHAR}, #{operatorId,jdbcType=VARCHAR},
#{operatorName,jdbcType=VARCHAR}, #{operatorName,jdbcType=VARCHAR},
#{defaultWelcomeFlag,jdbcType=INTEGER} , #{creatorId} , #{creatorName} , #{modifierId} , #{modifierName}, #{defaultWelcomeFlag,jdbcType=INTEGER} , #{creatorId} , #{creatorName} , #{modifierId} , #{modifierName},
#{type} #{type} , #{scene}
) )
</insert> </insert>
...@@ -100,7 +100,10 @@ ...@@ -100,7 +100,10 @@
modifier_name = #{modifierName}, modifier_name = #{modifierName},
</if> </if>
<if test="type != null"> <if test="type != null">
`type` = #{type} `type` = #{type} ,
</if>
<if test="scene !=0 ">
scene = #{scene} ,
</if> </if>
</set> </set>
where welcome_id = #{welcomeId,jdbcType=VARCHAR} where welcome_id = #{welcomeId,jdbcType=VARCHAR}
...@@ -162,6 +165,15 @@ ...@@ -162,6 +165,15 @@
<if test="type != null"> <if test="type != null">
and type = #{type} and type = #{type}
</if> </if>
<if test="scene>0">
and scene = #{scene}
</if>
<if test="sceneType==1">
and scene in (1,2)
</if>
<if test="sceneType==2">
and scene in (1,3)
</if>
</where> </where>
order by update_time desc order by update_time desc
</select> </select>
......
...@@ -315,4 +315,10 @@ ...@@ -315,4 +315,10 @@
and delete_flag = 0 and status_flag = 1 limit 1 and delete_flag = 0 and status_flag = 1 limit 1
</select> </select>
<select id="getByMember" resultMap="result-map-tabHaobanGroupChatUser">
select <include refid="Base_Column_List"/> from tab_haoban_group_chat_user where enterprise_id = #{enterpriseId}
and member_id = #{memberId} and status_flag = 1 and delete_flag = 0 order by create_time desc
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
create_time, create_time,
update_time, update_time,
add_time, add_time,
all_del_flag , qw_add_time , friend_clerk_id , friend_store_id , del_type ) all_del_flag , qw_add_time , friend_clerk_id , friend_store_id , del_type , del_is_single)
VALUES (#{logId,jdbcType=BIGINT}, VALUES (#{logId,jdbcType=BIGINT},
#{wxEnterpriseId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{enterpriseId,jdbcType=CHAR}, #{enterpriseId,jdbcType=CHAR},
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
now(), now(),
now(), now(),
now(), now(),
#{allDelFlag,jdbcType=INTEGER} , #{qwAddTime} , #{friendClerkId} , #{friendStoreId} , #{delType}) #{allDelFlag,jdbcType=INTEGER} , #{qwAddTime} , #{friendClerkId} , #{friendStoreId} , #{delType} , #{delIsSingle})
]]> ]]>
</insert> </insert>
......
...@@ -126,6 +126,9 @@ public class WechatWorkController extends NewBaseController { ...@@ -126,6 +126,9 @@ public class WechatWorkController extends NewBaseController {
if (tempJson.containsKey("4")) { if (tempJson.containsKey("4")) {
vo.setSalesDeleteNum(tempJson.getInteger("4")); vo.setSalesDeleteNum(tempJson.getInteger("4"));
} }
if(tempJson.containsKey("5")) {
vo.setDelIsSingleNum(tempJson.getInteger("5"));
}
} }
} }
voList.add(vo); voList.add(vo);
...@@ -195,6 +198,8 @@ public class WechatWorkController extends NewBaseController { ...@@ -195,6 +198,8 @@ public class WechatWorkController extends NewBaseController {
fieldList.add("deleteSalesNum"); fieldList.add("deleteSalesNum");
indexList.add("导购删除人数"); indexList.add("导购删除人数");
fieldList.add("salesDeleteNum"); fieldList.add("salesDeleteNum");
indexList.add("非单向好友被删除人数");
fieldList.add("delIsSingleNum");
indexList.add("单向好友人数"); indexList.add("单向好友人数");
fieldList.add("onewayFriendNum"); fieldList.add("onewayFriendNum");
...@@ -284,6 +289,8 @@ public class WechatWorkController extends NewBaseController { ...@@ -284,6 +289,8 @@ public class WechatWorkController extends NewBaseController {
fieldList.add("deleteSalesNum"); fieldList.add("deleteSalesNum");
indexList.add("导购删除人数"); indexList.add("导购删除人数");
fieldList.add("salesDeleteNum"); fieldList.add("salesDeleteNum");
indexList.add("非单向好友被删除人数");
fieldList.add("delIsSingleNum");
indexList.add("单向好友人数"); indexList.add("单向好友人数");
fieldList.add("onewayFriendNum"); fieldList.add("onewayFriendNum");
...@@ -361,6 +368,8 @@ public class WechatWorkController extends NewBaseController { ...@@ -361,6 +368,8 @@ public class WechatWorkController extends NewBaseController {
fieldList.add("storeCode"); fieldList.add("storeCode");
indexList.add("删除类型"); indexList.add("删除类型");
fieldList.add("deleteType"); fieldList.add("deleteType");
indexList.add("单向好友被删除");
fieldList.add("delIsSingle");
indexList.add("留存天数"); indexList.add("留存天数");
fieldList.add("remainDays"); fieldList.add("remainDays");
indexList.add("添加好友时间"); indexList.add("添加好友时间");
......
...@@ -105,6 +105,7 @@ public class WelcomeController extends WebBaseController { ...@@ -105,6 +105,7 @@ public class WelcomeController extends WebBaseController {
qdto.setModifierId(login.getClerkId()); qdto.setModifierId(login.getClerkId());
qdto.setModifierName(login.getClerkFullName()); qdto.setModifierName(login.getClerkFullName());
qdto.setType(qo.getType()); qdto.setType(qo.getType());
qdto.setScene(qo.getScene());
if (qo.getType() == null) { if (qo.getType() == null) {
qdto.setType(HmWelcomeType.NORMAL.getCode()); qdto.setType(HmWelcomeType.NORMAL.getCode());
} }
...@@ -266,6 +267,7 @@ public class WelcomeController extends WebBaseController { ...@@ -266,6 +267,7 @@ public class WelcomeController extends WebBaseController {
queryWelcomeQDTO.setPageNum(qo.getPageNum()); queryWelcomeQDTO.setPageNum(qo.getPageNum());
queryWelcomeQDTO.setPageSize(qo.getPageSize()); queryWelcomeQDTO.setPageSize(qo.getPageSize());
queryWelcomeQDTO.setType(qo.getType()); queryWelcomeQDTO.setType(qo.getType());
queryWelcomeQDTO.setScene(qo.getScene());
if (qo.getType() == null) { if (qo.getType() == null) {
queryWelcomeQDTO.setType(HmWelcomeType.NORMAL.getCode()); queryWelcomeQDTO.setType(HmWelcomeType.NORMAL.getCode());
} }
......
...@@ -68,6 +68,7 @@ public class WechatWorkLostClerkQO implements Serializable { ...@@ -68,6 +68,7 @@ public class WechatWorkLostClerkQO implements Serializable {
map.put("totalLostNum", 2); map.put("totalLostNum", 2);
map.put("deleteSalesNum", 3); map.put("deleteSalesNum", 3);
map.put("salesDeleteNum", 4); map.put("salesDeleteNum", 4);
map.put("delIsSingleNum",5) ;
return map.get(orderByFields) == null ? 1 : map.get(orderByFields); return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
} }
......
...@@ -54,6 +54,8 @@ public class WechatWorkLostDetailQO implements Serializable { ...@@ -54,6 +54,8 @@ public class WechatWorkLostDetailQO implements Serializable {
*/ */
private Integer delType; private Integer delType;
private Integer delIsSingle ;
/** /**
* 排序类型 1 正序 2 倒序 * 排序类型 1 正序 2 倒序
...@@ -119,5 +121,8 @@ public class WechatWorkLostDetailQO implements Serializable { ...@@ -119,5 +121,8 @@ public class WechatWorkLostDetailQO implements Serializable {
if (Objects.nonNull(delType)) { if (Objects.nonNull(delType)) {
jsonObject.put("delType", delType); jsonObject.put("delType", delType);
} }
if(Objects.nonNull(delIsSingle) && -1 != delIsSingle) {
jsonObject.put("delIsSingle",delIsSingle) ;
}
} }
} }
...@@ -57,6 +57,7 @@ public class WechatWorkLostStoreGroupQO extends StoreGroupCommonQO implements Se ...@@ -57,6 +57,7 @@ public class WechatWorkLostStoreGroupQO extends StoreGroupCommonQO implements Se
map.put("totalLostNum", 2); map.put("totalLostNum", 2);
map.put("deleteSalesNum", 3); map.put("deleteSalesNum", 3);
map.put("salesDeleteNum", 4); map.put("salesDeleteNum", 4);
map.put("delIsSingleNum",5) ;
return map.get(orderByFields) == null ? 1 : map.get(orderByFields); return map.get(orderByFields) == null ? 1 : map.get(orderByFields);
} }
......
...@@ -30,6 +30,16 @@ public class ListWelcomeQO extends BasePageInfo { ...@@ -30,6 +30,16 @@ public class ListWelcomeQO extends BasePageInfo {
*/ */
private Integer type; private Integer type;
private int scene ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getWxEnterpriseId() { public String getWxEnterpriseId() {
return wxEnterpriseId; return wxEnterpriseId;
} }
......
...@@ -64,6 +64,16 @@ public class SaveWelcomeQO implements Serializable { ...@@ -64,6 +64,16 @@ public class SaveWelcomeQO implements Serializable {
*/ */
private Integer type; private Integer type;
private int scene = 1 ;
public int getScene() {
return scene;
}
public void setScene(int scene) {
this.scene = scene;
}
public String getWelcomeId() { public String getWelcomeId() {
return welcomeId; return welcomeId;
} }
......
...@@ -36,4 +36,6 @@ public class WechatWorkLostClerkVO extends StoreGroupCommonVO implements Seriali ...@@ -36,4 +36,6 @@ public class WechatWorkLostClerkVO extends StoreGroupCommonVO implements Seriali
private String clerkName; private String clerkName;
private String clerkId; private String clerkId;
private Integer delIsSingleNum ;
} }
...@@ -80,4 +80,7 @@ public class WechatWorkLostDetailVO extends StoreGroupCommonVO implements Serial ...@@ -80,4 +80,7 @@ public class WechatWorkLostDetailVO extends StoreGroupCommonVO implements Serial
private String staffCode; private String staffCode;
private String staffName; private String staffName;
// 删除时是否单向好友0否 1是
private String delIsSingle ;
} }
...@@ -30,4 +30,6 @@ public class WechatWorkLostStoreGroupVO extends StoreGroupCommonVO implements Se ...@@ -30,4 +30,6 @@ public class WechatWorkLostStoreGroupVO extends StoreGroupCommonVO implements Se
* 导购删除好友人数 * 导购删除好友人数
*/ */
private Integer salesDeleteNum; private Integer salesDeleteNum;
private Integer delIsSingleNum ;
} }
...@@ -32,6 +32,11 @@ public class WechatWorkLostVO implements Serializable { ...@@ -32,6 +32,11 @@ public class WechatWorkLostVO implements Serializable {
private Integer salesDeleteNum = 0; private Integer salesDeleteNum = 0;
/** /**
* 删除时菲单向的数量
*/
private Integer delIsSingleNum = 0;
/**
* *
*/ */
private String bizDate; private String bizDate;
......
...@@ -15,6 +15,9 @@ import java.util.stream.Collectors; ...@@ -15,6 +15,9 @@ import java.util.stream.Collectors;
import javax.validation.Valid; import javax.validation.Valid;
import com.gic.enterprise.api.dto.custompage.CustomPageRenderDTO;
import com.gic.enterprise.api.enums.CustomPageTypeEnum;
import com.gic.enterprise.api.service.*;
import com.gic.haoban.manage.web.qo.StaffAddVO; import com.gic.haoban.manage.web.qo.StaffAddVO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -47,10 +50,6 @@ import com.gic.enterprise.api.dto.EnterpriseDTO; ...@@ -47,10 +50,6 @@ import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreSearchDTO; import com.gic.enterprise.api.dto.StoreSearchDTO;
import com.gic.enterprise.api.dto.enterprise.EnterpriseUsingStatusDTO; import com.gic.enterprise.api.dto.enterprise.EnterpriseUsingStatusDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.EnterpriseUseForbidService;
import com.gic.enterprise.api.service.StoreService;
import com.gic.enterprise.api.service.StoreWidgetService;
import com.gic.haoban.app.customer.service.api.service.CustomerApiService; import com.gic.haoban.app.customer.service.api.service.CustomerApiService;
import com.gic.haoban.app.customer.service.api.service.DistributeApiService; import com.gic.haoban.app.customer.service.api.service.DistributeApiService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
...@@ -163,6 +162,8 @@ public class WxStaffController extends WebBaseController { ...@@ -163,6 +162,8 @@ public class WxStaffController extends WebBaseController {
private PowerService powerService; private PowerService powerService;
@Autowired @Autowired
private EnterpriseUseForbidService enterpriseUseForbidService; private EnterpriseUseForbidService enterpriseUseForbidService;
@Autowired
private CustomPageNewService customPageNewService ;
// 选择成员列表 // 选择成员列表
@RequestMapping("/staff-list") @RequestMapping("/staff-list")
...@@ -351,9 +352,43 @@ public class WxStaffController extends WebBaseController { ...@@ -351,9 +352,43 @@ public class WxStaffController extends WebBaseController {
} }
auditSettingVO.setWxEnterpriseType(enterpriseBindInfo.getWxEnterpriseType()); auditSettingVO.setWxEnterpriseType(enterpriseBindInfo.getWxEnterpriseType());
auditSettingVO.setFreshFriendFlag(mainStore.getFreshFriendFlag()); auditSettingVO.setFreshFriendFlag(mainStore.getFreshFriendFlag());
JSONObject json = this.getMemberSignPage(storeDTO.getEnterpriseId()) ;
auditSettingVO.setShowMemberSign(null==json?0:1);
auditSettingVO.setShareMemberSignInfo(json);
return resultResponse(HaoBanErrCode.ERR_1, auditSettingVO); return resultResponse(HaoBanErrCode.ERR_1, auditSettingVO);
} }
/**
* 获取会员签到页分析配置
* @param enterpriseId
* @return
*/
@IgnoreLogin
@RequestMapping("/get-member-sign-share")
public RestResponse<Object> getMemberSingInfo(String enterpriseId) {
JSONObject json = this.getMemberSignPage(enterpriseId) ;
if(null != json) {
return RestResponse.successResult(json) ;
}
return RestResponse.failure("9999","请联系管理员先配置签到页") ;
}
private int showMemberSign(String enterpriseId) {
JSONObject dto = this.getMemberSignPage(enterpriseId) ;
if(null != dto) {
return 1 ;
}
return 0 ;
}
private JSONObject getMemberSignPage(String enterpriseId) {
CustomPageRenderDTO dto = this.customPageNewService.getPageRenderByPageType(CustomPageTypeEnum.PAGE_MEMBER_SIGN,enterpriseId) ;
if(null != dto && dto.getStatus()==1) {
JSONObject json = dto.getSetting().getJSONObject("pageConfig") ;
return json ;
}
return null ;
}
@IgnoreLogin @IgnoreLogin
@RequestMapping("/get-operation-setting") @RequestMapping("/get-operation-setting")
public HaobanResponse getOperatorSetting(String wxEnterpriseId, String enterpriseId) { public HaobanResponse getOperatorSetting(String wxEnterpriseId, String enterpriseId) {
......
package com.gic.haoban.manage.web.vo; package com.gic.haoban.manage.web.vo;
import com.alibaba.fastjson.JSONObject;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
...@@ -21,9 +23,29 @@ public class AuditSettingVO implements Serializable { ...@@ -21,9 +23,29 @@ public class AuditSettingVO implements Serializable {
private int wxEnterpriseType; private int wxEnterpriseType;
private int memberOpenCardFlag; private int memberOpenCardFlag;
private int freshFriendFlag; private int freshFriendFlag;
// 是否显示会员签到
private int showMemberSign ;
private JSONObject shareMemberSignInfo ;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public JSONObject getShareMemberSignInfo() {
return shareMemberSignInfo;
}
public void setShareMemberSignInfo(JSONObject shareMemberSignInfo) {
this.shareMemberSignInfo = shareMemberSignInfo;
}
public int getShowMemberSign() {
return showMemberSign;
}
public void setShowMemberSign(int showMemberSign) {
this.showMemberSign = showMemberSign;
}
public int getFreshFriendFlag() { public int getFreshFriendFlag() {
return freshFriendFlag; return freshFriendFlag;
} }
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
<dubbo:protocol name="dubbo" port="30010"/> <dubbo:protocol name="dubbo" port="30010"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.OpenStaffApiService" id="openStaffApiService" /> <dubbo:reference interface="com.gic.haoban.manage.api.service.OpenStaffApiService" id="openStaffApiService" />
<dubbo:reference interface="com.gic.enterprise.api.service.CustomPageNewService" id="customPageNewService" />
<dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService" id="groupChatPlanApiService" /> <dubbo:reference interface="com.gic.haoban.manage.api.service.chat.GroupChatPlanApiService" id="groupChatPlanApiService" />
<dubbo:reference interface="com.gic.member.api.service.GradeService" id="gradeService" /> <dubbo:reference interface="com.gic.member.api.service.GradeService" id="gradeService" />
<dubbo:reference interface="com.gic.ecm.api.service.EcmPlanService" id="ecmPlanService" /> <dubbo:reference interface="com.gic.ecm.api.service.EcmPlanService" id="ecmPlanService" />
......
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