Commit d35ac170 by yaosai

Merge branch 'developer' into 'bugfix-0214'

# Conflicts:
#   haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/StaffMapper.java
#   haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffService.java
#   haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffServiceImpl.java
#   haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffApiServiceImpl.java
parents c4db91f6 aee12114
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
/**
* @author mozhu
* @date 2022/1/22 17:05
*/
public class MemberUnionidWechatAccountQDTO implements Serializable {
private static final long serialVersionUID = -3157724333718434496L;
/**
* 企业id
*/
private String enterpriseId;
/**
* unionid
*/
private String unionid;
/**
* openId
*/
private String openId;
/**
* 会员id
*/
private String memberId;
/**
* 参数(带参数的公众号二维码必填)
*/
private String sceneStr;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getUnionid() {
return unionid;
}
public void setUnionid(String unionid) {
this.unionid = unionid;
}
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public String getSceneStr() {
return sceneStr;
}
public void setSceneStr(String sceneStr) {
this.sceneStr = sceneStr;
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
}
......@@ -17,8 +17,14 @@ public class QywxCallBackDTO implements Serializable{
/**1男 2女***/
private Integer gender;
private String alias;
private String mainDepartment;
/**
* 是否是所在部门负责人 1 是 0 否 例 1,0,0
*/
private Integer[] isLeaderInDept;
private String[] department;
private String newUserid;
private String telephone;
private String mobile;
private String position;
private Integer status; //激活状态:1=激活或关注, 2=禁用, 4=未激活
......@@ -200,6 +206,27 @@ public class QywxCallBackDTO implements Serializable{
this.status = status;
}
public String getMainDepartment() {
return mainDepartment;
}
public void setMainDepartment(String mainDepartment) {
this.mainDepartment = mainDepartment;
}
public Integer[] getIsLeaderInDept() {
return isLeaderInDept;
}
public void setIsLeaderInDept(Integer[] isLeaderInDept) {
this.isLeaderInDept = isLeaderInDept;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
}
package com.gic.haoban.manage.api.dto.welcome.dto;
import java.io.Serializable;
/**
* desc:加好友配置dto
*
* @author: YongEn
* @date: 2022/2/9
**/
public class FriendSettingDetailDTO implements Serializable {
private static final long serialVersionUID = -8947246337650792859L;
/**
* 加好友配置id
*/
private Long friendSettingId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语配置类型 :
* 1 发送好办欢迎语文案+小程序卡片(附带导购参数)
* 2 发送好办欢迎语文案+公众号二维码(附带导购参数)
* 3 发送好办欢迎语文案
* 4 不发送好办欢迎语,用企微欢迎语
*/
private Integer friendSettingType;
public Long getFriendSettingId() {
return friendSettingId;
}
public void setFriendSettingId(Long friendSettingId) {
this.friendSettingId = friendSettingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getFriendSettingType() {
return friendSettingType;
}
public void setFriendSettingType(Integer friendSettingType) {
this.friendSettingType = friendSettingType;
}
@Override
public String toString() {
return "FriendSettingDTO{" +
"friendSettingId=" + friendSettingId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", friendSettingType=" + friendSettingType +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.dto;
import java.io.Serializable;
import java.util.List;
/**
* desc:欢迎语详情dto
*
* @author: YongEn
* @date: 2022/2/9
**/
public class WelcomeDetailDTO implements Serializable {
private static final long serialVersionUID = 3769230492381481354L;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String welcomeContent;
/**
* 0关闭 1开启
*/
private Integer openFlag;
/**
* 适用部门列表
*/
private List<WelcomeSuitDepartmentDTO> suitDepartmentList;
/**
* 适用员工列表
*/
private List<WelcomeSuitStaffDTO> suitStaffList;
/**
* 欢迎语媒体列表
*/
private List<WelcomeMediaDTO> welcomeMediaList;
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWelcomeContent() {
return welcomeContent;
}
public void setWelcomeContent(String welcomeContent) {
this.welcomeContent = welcomeContent;
}
public Integer getOpenFlag() {
return openFlag;
}
public void setOpenFlag(Integer openFlag) {
this.openFlag = openFlag;
}
public List<WelcomeSuitDepartmentDTO> getSuitDepartmentList() {
return suitDepartmentList;
}
public void setSuitDepartmentList(List<WelcomeSuitDepartmentDTO> suitDepartmentList) {
this.suitDepartmentList = suitDepartmentList;
}
public List<WelcomeSuitStaffDTO> getSuitStaffList() {
return suitStaffList;
}
public void setSuitStaffList(List<WelcomeSuitStaffDTO> suitStaffList) {
this.suitStaffList = suitStaffList;
}
public List<WelcomeMediaDTO> getWelcomeMediaList() {
return welcomeMediaList;
}
public void setWelcomeMediaList(List<WelcomeMediaDTO> welcomeMediaList) {
this.welcomeMediaList = welcomeMediaList;
}
@Override
public String toString() {
return "WelcomeDetailDTO{" +
"welcomeId='" + welcomeId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
", welcomeContent='" + welcomeContent + '\'' +
", openFlag=" + openFlag +
", welcomeMediaList=" + welcomeMediaList +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* desc:欢迎语列表dto
*
* @author: YongEn
* @date: 2022/2/9
**/
public class WelcomeListDTO implements Serializable {
private static final long serialVersionUID = -2794283506358759903L;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String welcomeContent;
/**
* 0关闭 1开启
*/
private Integer openFlag;
/**
* 更新时间
*/
private Date updateTime;
/**
* 操作人id
*/
private String operatorId;
/**
* 操作人名称
*/
private String operatorName;
/**
* 适用部门列表
*/
private List<WelcomeSuitDepartmentDTO> suitDepartmentList;
/**
* 适用员工列表
*/
private List<WelcomeSuitStaffDTO> suitStaffList;
/**
* 欢迎语媒体列表
*/
private List<WelcomeMediaDTO> welcomeMediaList;
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWelcomeContent() {
return welcomeContent;
}
public void setWelcomeContent(String welcomeContent) {
this.welcomeContent = welcomeContent;
}
public Integer getOpenFlag() {
return openFlag;
}
public void setOpenFlag(Integer openFlag) {
this.openFlag = openFlag;
}
public String getOperatorId() {
return operatorId;
}
public void setOperatorId(String operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public List<WelcomeMediaDTO> getWelcomeMediaList() {
return welcomeMediaList;
}
public void setWelcomeMediaList(List<WelcomeMediaDTO> welcomeMediaList) {
this.welcomeMediaList = welcomeMediaList;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public List<WelcomeSuitDepartmentDTO> getSuitDepartmentList() {
return suitDepartmentList;
}
public void setSuitDepartmentList(List<WelcomeSuitDepartmentDTO> suitDepartmentList) {
this.suitDepartmentList = suitDepartmentList;
}
public List<WelcomeSuitStaffDTO> getSuitStaffList() {
return suitStaffList;
}
public void setSuitStaffList(List<WelcomeSuitStaffDTO> suitStaffList) {
this.suitStaffList = suitStaffList;
}
@Override
public String toString() {
return "WelcomeListDTO{" +
"welcomeId='" + welcomeId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
", welcomeContent='" + welcomeContent + '\'' +
", openFlag=" + openFlag +
", updateTime=" + updateTime +
", operatorId='" + operatorId + '\'' +
", operatorName='" + operatorName + '\'' +
", welcomeMediaList=" + welcomeMediaList +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.dto;
import java.io.Serializable;
/**
* desc:欢迎语媒体文件dto
*
* @author: YongEn
* @date: 2022/2/9
**/
public class WelcomeMediaDTO implements Serializable {
private static final long serialVersionUID = -7924288948457409336L;
/**
* 欢迎语媒体id
*/
private Long welcomeMediaId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 媒体标题
*/
private String mediaTitle;
/**
* 媒体类型 1图片 2视频 3文件 4链接
* @see com.gic.haoban.manage.api.enums.WelcomeMediaTypeEnum
*/
private Integer mediaType;
/**
* 媒体文件路径,保存上传路径
*/
private String mediaUrl;
public Long getWelcomeMediaId() {
return welcomeMediaId;
}
public void setWelcomeMediaId(Long welcomeMediaId) {
this.welcomeMediaId = welcomeMediaId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getMediaTitle() {
return mediaTitle;
}
public void setMediaTitle(String mediaTitle) {
this.mediaTitle = mediaTitle;
}
public Integer getMediaType() {
return mediaType;
}
public void setMediaType(Integer mediaType) {
this.mediaType = mediaType;
}
public String getMediaUrl() {
return mediaUrl;
}
public void setMediaUrl(String mediaUrl) {
this.mediaUrl = mediaUrl;
}
@Override
public String toString() {
return "WelcomeMediaDTO{" +
"welcomeMediaId=" + welcomeMediaId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", welcomeId='" + welcomeId + '\'' +
", mediaType=" + mediaType +
", mediaUrl='" + mediaUrl + '\'' +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.dto;
import java.io.Serializable;
/**
* desc:欢迎语适用部门dto
*
* @author: YongEn
* @date: 2022/2/11
**/
public class WelcomeSuitDepartmentDTO implements Serializable {
private static final long serialVersionUID = 272279336557372654L;
/**
* 部门id
*/
private String departmentId;
/**
* 部门名称
*/
private String departmentName;
/**
* 选中类型(部门)1被选中 2关联选中
*/
private Integer selectType;
public String getDepartmentId() {
return departmentId;
}
public void setDepartmentId(String departmentId) {
this.departmentId = departmentId;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public Integer getSelectType() {
return selectType;
}
public void setSelectType(Integer selectType) {
this.selectType = selectType;
}
@Override
public String toString() {
return "WelcomeSuitDepartmentDTO{" +
"departmentId='" + departmentId + '\'' +
", departmentName='" + departmentName + '\'' +
", selectType=" + selectType +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.dto;
import java.io.Serializable;
/**
* desc:欢迎语适用员工dto
*
* @author: YongEn
* @date: 2022/2/11
**/
public class WelcomeSuitStaffDTO implements Serializable {
private static final long serialVersionUID = 2778978786281347228L;
/**
* 员工id
*/
private String staffId;
/**
* 员工名称
*/
private String staffName;
/**
* 员工所属部门id
*/
private String belongDepartmentId;
/**
* 员工所属部门名称
*/
private String belongDepartmentName;
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getBelongDepartmentId() {
return belongDepartmentId;
}
public void setBelongDepartmentId(String belongDepartmentId) {
this.belongDepartmentId = belongDepartmentId;
}
public String getBelongDepartmentName() {
return belongDepartmentName;
}
public void setBelongDepartmentName(String belongDepartmentName) {
this.belongDepartmentName = belongDepartmentName;
}
@Override
public String toString() {
return "WelcomeSuitStaffDTO{" +
"staffId='" + staffId + '\'' +
", staffName='" + staffName + '\'' +
", belongDepartmentId='" + belongDepartmentId + '\'' +
", belongDepartmentName='" + belongDepartmentName + '\'' +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.qdto;
import java.io.Serializable;
/**
* desc:保存加好友配置qdto
*
* @author: YongEn
* @date: 2022/2/11
**/
public class SaveFriendSettingQDTO implements Serializable {
private static final long serialVersionUID = 7952875026726340084L;
/**
* 加好友配置id
*/
private Long friendSettingId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语配置类型 :
* 1 发送好办欢迎语文案+小程序卡片(附带导购参数)
* 2 发送好办欢迎语文案+公众号二维码(附带导购参数)
* 3 发送好办欢迎语文案
* 4 不发送好办欢迎语,用企微欢迎语
*/
private Integer friendSettingType;
/**
* 更新人id
*/
private String updateId;
/**
* 更新人名称
*/
private String updateName;
public Long getFriendSettingId() {
return friendSettingId;
}
public void setFriendSettingId(Long friendSettingId) {
this.friendSettingId = friendSettingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getFriendSettingType() {
return friendSettingType;
}
public void setFriendSettingType(Integer friendSettingType) {
this.friendSettingType = friendSettingType;
}
public String getUpdateId() {
return updateId;
}
public void setUpdateId(String updateId) {
this.updateId = updateId;
}
public String getUpdateName() {
return updateName;
}
public void setUpdateName(String updateName) {
this.updateName = updateName;
}
@Override
public String toString() {
return "SaveFriendSettingQDTO{" +
"friendSettingId=" + friendSettingId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", friendSettingType=" + friendSettingType +
", updateId='" + updateId + '\'' +
", updateName='" + updateName + '\'' +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.qdto;
import java.io.Serializable;
/**
* desc:保存欢迎语媒体qdto
*
* @author: YongEn
* @date: 2022/2/11
**/
public class SaveWelcomeMediaQDTO implements Serializable {
private static final long serialVersionUID = 5292835528434173702L;
/**
* 媒体标题
*/
private String mediaTitle;
/**
* 媒体路径
*/
private String mediaUrl;
/**
* 媒体类型
* @see com.gic.haoban.manage.api.enums.WelcomeMediaTypeEnum
*/
private Integer mediaType;
public String getMediaTitle() {
return mediaTitle;
}
public void setMediaTitle(String mediaTitle) {
this.mediaTitle = mediaTitle;
}
public String getMediaUrl() {
return mediaUrl;
}
public void setMediaUrl(String mediaUrl) {
this.mediaUrl = mediaUrl;
}
public Integer getMediaType() {
return mediaType;
}
public void setMediaType(Integer mediaType) {
this.mediaType = mediaType;
}
@Override
public String toString() {
return "SaveWelcomeMediaQDTO{" +
"mediaTitle='" + mediaTitle + '\'' +
", mediaUrl='" + mediaUrl + '\'' +
", mediaType=" + mediaType +
'}';
}
}
package com.gic.haoban.manage.api.dto.welcome.qdto;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitDepartmentDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitStaffDTO;
import java.io.Serializable;
import java.util.List;
/**
* desc:保存欢迎语qdto
*
* @author: YongEn
* @date: 2022/2/11
**/
public class SaveWelcomeQDTO implements Serializable {
private static final long serialVersionUID = 2585027808161889622L;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String welcomeContent;
/**
* 操作人id
*/
private String operatorId;
/**
* 操作人名称
*/
private String operatorName;
/**
* 欢迎语媒体列表
*/
private List<SaveWelcomeMediaQDTO> mediaList;
/**
* 适用部门新增列表
*/
private List<WelcomeSuitDepartmentDTO> suitDepartmentAddList;
/**
* 适用部门删除列表
*/
private List<WelcomeSuitDepartmentDTO> suitDepartmentDeleteList;
/**
* 适用员工新增列表
*/
private List<WelcomeSuitStaffDTO> suitStaffAddList;
/**
* 适用员工删除列表
*/
private List<WelcomeSuitStaffDTO> suitStaffDeleteList;
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWelcomeContent() {
return welcomeContent;
}
public void setWelcomeContent(String welcomeContent) {
this.welcomeContent = welcomeContent;
}
public String getOperatorId() {
return operatorId;
}
public void setOperatorId(String operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public List<SaveWelcomeMediaQDTO> getMediaList() {
return mediaList;
}
public void setMediaList(List<SaveWelcomeMediaQDTO> mediaList) {
this.mediaList = mediaList;
}
public List<WelcomeSuitDepartmentDTO> getSuitDepartmentAddList() {
return suitDepartmentAddList;
}
public void setSuitDepartmentAddList(List<WelcomeSuitDepartmentDTO> suitDepartmentAddList) {
this.suitDepartmentAddList = suitDepartmentAddList;
}
public List<WelcomeSuitDepartmentDTO> getSuitDepartmentDeleteList() {
return suitDepartmentDeleteList;
}
public void setSuitDepartmentDeleteList(List<WelcomeSuitDepartmentDTO> suitDepartmentDeleteList) {
this.suitDepartmentDeleteList = suitDepartmentDeleteList;
}
public List<WelcomeSuitStaffDTO> getSuitStaffAddList() {
return suitStaffAddList;
}
public void setSuitStaffAddList(List<WelcomeSuitStaffDTO> suitStaffAddList) {
this.suitStaffAddList = suitStaffAddList;
}
public List<WelcomeSuitStaffDTO> getSuitStaffDeleteList() {
return suitStaffDeleteList;
}
public void setSuitStaffDeleteList(List<WelcomeSuitStaffDTO> suitStaffDeleteList) {
this.suitStaffDeleteList = suitStaffDeleteList;
}
@Override
public String toString() {
return "SaveWelcomeQDTO{" +
"welcomeId='" + welcomeId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
", welcomeContent='" + welcomeContent + '\'' +
", operatorId='" + operatorId + '\'' +
", operatorName='" + operatorName + '\'' +
", mediaList=" + mediaList +
", suitDepartmentAddList=" + suitDepartmentAddList +
", suitDepartmentDeleteList=" + suitDepartmentDeleteList +
", suitStaffAddList=" + suitStaffAddList +
", suitStaffDeleteList=" + suitStaffDeleteList +
'}';
}
}
package com.gic.haoban.manage.api.enums;
import java.io.Serializable;
/**
* desc:加好友配置类型枚举类
*
* @author: YongEn
* @date: 2022/2/10
**/
public enum FriendSettingTypeEnum implements Serializable {
/**
*
*/
TEXT_AND_MINI_PROGRAM(1, "发送好办欢迎语文案+小程序卡片(附带导购参数)"),
TEXT_AND_QRCODE(2, "发送好办欢迎语文案+公众号二维码(附带导购参数)"),
TEXT(3, "发送好办欢迎语文案"),
NOT_TEXT(4, "不发送好办欢迎语,用企微欢迎语"),
;
private final Integer code;
private final String desc;
FriendSettingTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}
package com.gic.haoban.manage.api.enums;
import java.io.Serializable;
/**
* desc:欢迎语媒体文件类型枚举类
*
* @author: YongEn
* @date: 2022/2/9
**/
public enum WelcomeMediaTypeEnum implements Serializable {
/**
* 图片
*/
IMAGE(1, "图片"),
VIDEO(2, "视频"),
FILE(3, "文件"),
LINK(4, "链接"),
;
private final Integer code;
private final String desc;
WelcomeMediaTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}
package com.gic.haoban.manage.api.enums;
/**
* desc:欢迎语适用类型枚举类
*
* @author: YongEn
* @date: 2022/2/11
**/
public enum WelcomeSuitTypeEnum {
/**
* 部门
*/
DEPARTMENT(1, "部门"),
STAFF(2, "员工"),
;
private final Integer code;
private final String desc;
WelcomeSuitTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
}
......@@ -79,6 +79,19 @@ public interface ExternalClerkRelatedApiService {
ServiceResponse<ExternalClerkRelatedDTO> bindMemberIdExternalByRelationKey(String relationKey, String enterpriseId, String memberId, String unionid);
/**
* 绑定好友-关注公共号
*
* @param externalClerkRelatedId
* @param enterpriseId
* @param memberId
* @param unionid
* @return {@link ExternalClerkRelatedDTO }
* @author mozhu
* @date 2022-02-09 16:57:19
*/
void bindMemberIdExternalById(String externalClerkRelatedId, String enterpriseId, String memberId, String unionid);
/**
* 查询clerk与union好友关系
*
* @param enterpriseId
......
......@@ -20,14 +20,12 @@ public interface MessageApiService {
*
* @param qywxCallBackDTO
*/
@Deprecated
void wxMessageReceive(QywxCallBackDTO qywxCallBackDTO);
/**
* 队列消费企业微信推送数据
* @param param
*/
@Deprecated
void dealWxMessage(String param);
/**
* 发送消费消息
......
package com.gic.haoban.manage.api.service;
import com.gic.api.base.commons.ServiceResponse;
/**
* Created by tgs on 2020/2/9.
*/
......@@ -32,4 +34,11 @@ public interface TestApiService {
* @param cron
*/
public void quartzTaskConvert(String serviceName, String methodName, String cron, String params);
/**
* 拉取所有部门企业微信通讯录
* @return
*/
public ServiceResponse listAllQywxUser(String params);
}
package com.gic.haoban.manage.api.service.out;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeQDTO;
import java.util.List;
/**
* desc:欢迎语对外服务接口
*
* @author: YongEn
* @date: 2022/2/11
**/
public interface WelcomeApiService {
/**
* desc: 保存欢迎语
*
* @param qdto qdto
* @return : {@link ServiceResponse < Boolean>}
* @author : YongEn
* @date : 2022/2/11
*/
ServiceResponse<Boolean> saveWelcome(SaveWelcomeQDTO qdto);
/**
* desc: 删除欢迎语
*
* @param welcomeId 欢迎语id
* @return : {@link ServiceResponse< Boolean>}
* @author : YongEn
* @date : 2022/2/11
*/
ServiceResponse<Boolean> removeWelcome(String welcomeId);
/**
* desc: 获取欢迎语列表
*
* @param wxEnterpriseId 微信企业id
* @param title 标题
* @return : {@link ServiceResponse< WelcomeListDTO>}
* @author : YongEn
* @date : 2022/2/11
*/
ServiceResponse<List<WelcomeListDTO>> listWelcome(String wxEnterpriseId, String title);
/**
* desc: 获取欢迎语详情
*
* @param welcomeId 欢迎语id
* @return : {@link ServiceResponse< WelcomeDetailDTO>}
* @author : YongEn
* @date : 2022/2/11
*/
ServiceResponse<WelcomeDetailDTO> getWelcome(String welcomeId);
/**
* desc: 保存加好友配置
*
* @param qdto qdto
* @return : {@link ServiceResponse< Boolean>}
* @author : YongEn
* @date : 2022/2/11
*/
ServiceResponse<Boolean> saveFriendSetting(SaveFriendSettingQDTO qdto);
/**
* desc: 获取加好友配置
*
* @param wxEnterpriseId 微信企业id
* @return : {@link ServiceResponse< FriendSettingDetailDTO>}
* @author : YongEn
* @date : 2022/2/11
*/
ServiceResponse<FriendSettingDetailDTO> getFriendSetting(String wxEnterpriseId);
}
......@@ -27,8 +27,6 @@ public interface StaffDepartmentRelatedMapper {
void deleteCode(TabHaobanStaffDepartmentRelated dto);
List<TabHaobanStaffDepartmentRelated> listStaffDepartmentByStaffId(String staffId);
Page<TabHaobanStaffDepartmentRelated> pageStaff(String departmentId, Integer activeFlag, String keyword);
TabHaobanStaffDepartmentRelated getById(String staffDepartmentRelatedId);
......@@ -55,4 +53,9 @@ public interface StaffDepartmentRelatedMapper {
List<TabHaobanStaffDepartmentRelated> listByDepartmentIds(@Param("departmentIds")List<String> departmentIds);
int cleanStaffDepartment(@Param("wxEnterpriseId")String wxEnterpriseId,@Param("staffIds")List<String> staffIds);
List<TabHaobanStaffDepartmentRelated> listByWxEnterpriseIdAndStaffId(
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("staffId") String staffId
);
}
\ No newline at end of file
......@@ -36,6 +36,20 @@ public interface TabHaobanExternalClerkRelatedMapper {
List<TabHaobanExternalClerkRelated> listByExTernalUseridAndWxUserId(@Param("externalUserid") String externalUserid, @Param("userId") String wxUserId);
/**
* 查询该会员该企业下的好友关系
*
* @param externalUserid 外部用户标识
* @param wxEnterpriseId wx企业标识
* @param statusFlags 状态标志
* @return {@link List<TabHaobanExternalClerkRelated> }
* @author mozhu
* @date 2022-02-10 10:11:21
*/
List<TabHaobanExternalClerkRelated> listByExTernalUseridAndWxEnterpriseId(@Param("externalUserid") String externalUserid,
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("statusFlags") List<String> statusFlags);
List<TabHaobanExternalClerkRelated> listByExTernalUseridAndWxUserIdAllStatus(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("externalUserid") String externalUserid, @Param("userId") String wxUserId);
List<TabHaobanExternalClerkRelated> listByEnterpriseIdAndDate(@Param("enterpriseId") String enterpriseId, @Param("date") Date date);
......@@ -191,7 +205,8 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @param wxEnterpriseId
* @return
*/
List<TabHaobanExternalClerkRelated> listByExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("externalUserId") String externalUserId);
List<TabHaobanExternalClerkRelated> listByExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("externalUserId") String externalUserId);
/**
* 根据会员id更新新老会员id
......@@ -267,4 +282,19 @@ public interface TabHaobanExternalClerkRelatedMapper {
@Param("enterpriseId") String enterpriseId,
@Param("wxUserId") String wxUserId,
@Param("clerkId") String clerkId);
/**
* 客户好友需触达列表
*
* @param wxEnterpriseId wx企业标识
* @param wxUserId wx用户id
* @param enterpriseId
* @param externalUserId
* @return {@link TabHaobanExternalClerkRelated }
* @author mozhu
* @date 2022-02-11 14:15:25
*/
TabHaobanExternalClerkRelated getByEnterpriseIdAndExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxUserId") String wxUserId,
@Param("enterpriseId") String enterpriseId, @Param("externalUserId") String externalUserId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import java.util.Date;
import com.gic.haoban.manage.service.entity.TabHaobanFriendSetting;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 加好友配置表(TabHaobanFriendSetting)表数据库访问层
*
* @author xugaojun
* @date 2022-02-09 14:37:26
*/
@Repository
public interface TabHaobanFriendSettingMapper {
/**
* 新增数据
*
* @param tabHaobanFriendSetting 实例对象
* @return 影响行数
*/
int insert(TabHaobanFriendSetting tabHaobanFriendSetting);
/**
* 修改数据
*
* @param tabHaobanFriendSetting 实例对象
* @return 影响行数
*/
int update(TabHaobanFriendSetting tabHaobanFriendSetting);
/**
* 通过主键删除数据
*
* @param friendSettingId 主键
* @return 影响行数
*/
int deleteById(Long friendSettingId);
/**
* 通过ID查询单条数据
*
* @param friendSettingId 主键
* @return 实例对象
*/
TabHaobanFriendSetting queryById(Long friendSettingId);
/**
* 通过实体作为筛选条件查询
*
* @param tabHaobanFriendSetting 实例对象
* @return 对象列表
*/
List<TabHaobanFriendSetting> queryAll(TabHaobanFriendSetting tabHaobanFriendSetting);
/**
* 分页总数
*
* @return 对象列表
*/
int queryCountByPage();
/**
* 分页列表
*
* @param offset 查询起始位置
* @param limit 查询条数
* @return 对象列表
*/
List<TabHaobanFriendSetting> queryListByPage(@Param("offset") int offset, @Param("limit") int limit);
/**
* desc: 根据微信企业id查询单条记录
*
* @param wxEnterpriseId 微信企业id
* @return : {@link TabHaobanFriendSetting}
* @author : YongEn
* @date : 2022/2/11
*/
TabHaobanFriendSetting getByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
}
......@@ -2,26 +2,45 @@ package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabWelcome;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface TabHaobanWelcomeMapper {
/**
*/
int deleteByPrimaryKey(String welcomeId);
/**
*/
int insert(TabWelcome record);
/**
*/
TabWelcome selectByPrimaryKey(String welcomeId);
int updateByPrimaryKeySelective(TabWelcome record);
TabWelcome selectByWxEnterpriseId(String wxEnterpriseId);
/**
* desc: 根据微信企业id查询列表
*
* @param wxEnterpriseId 微信企业id
* @param title 标题
* @return : {@link List< TabWelcome>}
* @author : YongEn
* @date : 2022/2/9
*/
int updateByPrimaryKeySelective(TabWelcome record);
List<TabWelcome> listByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("title") String title);
/**
* desc: 根据微信企业id查询数量
*
* @param wxEnterpriseId 微信企业id
* @return : {@link long}
* @author : YongEn
* @date : 2022/2/10
*/
TabWelcome selectByWxEnterpriseId(String wxEnterpriseId);
long countByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHaobanWelcomeMedia;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 欢迎语媒体表(TabHaobanWelcomeMedia)表数据库访问层
*
* @author xugaojun
* @since 2022-02-09 14:47:22
*/
public interface TabHaobanWelcomeMediaMapper {
/**
* 通过ID查询单条数据
*
* @param welcomeMediaId 主键
* @return 实例对象
*/
TabHaobanWelcomeMedia queryById(Long welcomeMediaId);
/**
* 新增数据
*
* @param tabHaobanWelcomeMedia 实例对象
* @return 影响行数
*/
int insert(TabHaobanWelcomeMedia tabHaobanWelcomeMedia);
/**
* 修改数据
*
* @param tabHaobanWelcomeMedia 实例对象
* @return 影响行数
*/
int update(TabHaobanWelcomeMedia tabHaobanWelcomeMedia);
/**
* desc: 通过欢迎语id删除(软删)
*
* @param welcomeId 欢迎语id
* @return : {@link int}
* @author : YongEn
* @date : 2022/2/10
*/
int removeByWelcomeId(@Param("welcomeId") String welcomeId);
/**
* desc: 通过欢迎语id查询列表
*
* @param welcomeId 欢迎语id
* @return : {@link List< TabHaobanWelcomeMedia>}
* @author : YongEn
* @date : 2022/2/11
*/
List<TabHaobanWelcomeMedia> listByWelcomeId(@Param("welcomeId") String welcomeId);
}
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHaobanWelcomeSuitRang;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;
/**
* 欢迎语适用范围表(TabHaobanWelcomeSuitRang)表数据库访问层
*
* @author xugaojun
* @since 2022-02-10 16:40:16
*/
public interface TabHaobanWelcomeSuitRangMapper {
/**
* 通过ID查询单条数据
*
* @param welcomeSuitRangId 主键
* @return 实例对象
*/
TabHaobanWelcomeSuitRang queryById(Long welcomeSuitRangId);
/**
* 查询指定行数据
*
* @param offset 查询起始位置
* @param limit 查询条数
* @return 对象列表
*/
List<TabHaobanWelcomeSuitRang> queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit);
/**
* 通过实体作为筛选条件查询
*
* @param tabHaobanWelcomeSuitRang 实例对象
* @return 对象列表
*/
List<TabHaobanWelcomeSuitRang> queryAll(TabHaobanWelcomeSuitRang tabHaobanWelcomeSuitRang);
/**
* 新增数据
*
* @param tabHaobanWelcomeSuitRang 实例对象
* @return 影响行数
*/
int insert(TabHaobanWelcomeSuitRang tabHaobanWelcomeSuitRang);
/**
* 修改数据
*
* @param tabHaobanWelcomeSuitRang 实例对象
* @return 影响行数
*/
int update(TabHaobanWelcomeSuitRang tabHaobanWelcomeSuitRang);
/**
* 通过主键删除数据
*
* @param welcomeSuitRangId 主键
* @return 影响行数
*/
int deleteById(Long welcomeSuitRangId);
/**
* desc: 根据微信企业id与部门id列表查询
*
* @param wxEnterpriseId 微信企业id
* @param departmentIdList 部门id列表
* @return : {@link List< TabHaobanWelcomeSuitRang>}
* @author : YongEn
* @date : 2022/2/11
*/
List<TabHaobanWelcomeSuitRang> listByWxEnterpriseIdAndDeptList(
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("departmentIdList") List<String> departmentIdList
);
/**
* desc: 批量新增
*
* @param welcomeSuitRangList 实体类列表
* @return : {@link int}
* @author : YongEn
* @date : 2022/2/11
*/
int batchInsert(@Param("welcomeSuitRangList") List<TabHaobanWelcomeSuitRang> welcomeSuitRangList);
/**
* desc: 根据适用部门批量删除(软删)
*
* @param suitDepartmentIdSet 列表
* @param wxEnterpriseId 微信企业id
* @param welcomeId 欢迎语id
* @return : {@link int}
* @author : YongEn
* @date : 2022/2/11
*/
int batchDeleteBySuitDepartmentIdSet(
@Param("welcomeId") String welcomeId,
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("suitDepartmentIdSet") Set<String> suitDepartmentIdSet
);
/**
* desc: 根据适用员工批量删除(软删除)
*
* @param suitStaffIdSet 列表
* @param wxEnterpriseId 微信企业id
* @param welcomeId 欢迎语id
* @return : {@link int}
* @author : YongEn
* @date : 2022/2/11
*/
int batchDeleteBySuitStaffIdSet(
@Param("welcomeId") String welcomeId,
@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("suitStaffIdSet") Set<String> suitStaffIdSet
);
}
package com.gic.haoban.manage.service.entity;
/**
* 加好友配置表(TabHaobanFriendSetting)实体类
*
* @author xugaojun
* @date 2022-02-09 14:37:24
*/
import java.util.Date;
public class TabHaobanFriendSetting {
/**
* 加好友配置id
*/
private Long friendSettingId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语配置类型 :
* 1 发送好办欢迎语文案+小程序卡片(附带导购参数)
* 2 发送好办欢迎语文案+公众号二维码(附带导购参数)
* 3 发送好办欢迎语文案
* 4 不发送好办欢迎语,用企微欢迎语
*/
private Integer friendSettingType;
/**
* 更新人id
*/
private String updateId;
/**
* 更新人名称
*/
private String updateName;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否删除0否1是
*/
private Integer deleteFlag;
public Long getFriendSettingId() {
return friendSettingId;
}
public void setFriendSettingId(Long friendSettingId) {
this.friendSettingId = friendSettingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getFriendSettingType() {
return friendSettingType;
}
public void setFriendSettingType(Integer friendSettingType) {
this.friendSettingType = friendSettingType;
}
public String getUpdateId() {
return updateId;
}
public void setUpdateId(String updateId) {
this.updateId = updateId;
}
public String getUpdateName() {
return updateName;
}
public void setUpdateName(String updateName) {
this.updateName = updateName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
}
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 欢迎语媒体表(TabHaobanWelcomeMedia)实体类
*
* @author xugaojun
* @since 2022-02-09 14:47:20
*/
public class TabHaobanWelcomeMedia implements Serializable {
private static final long serialVersionUID = -15936685674419727L;
/**
* 欢迎语媒体id
*/
private Long welcomeMediaId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 媒体标题
*/
private String mediaTitle;
/**
* 媒体类型 1图片 2视频 3文件 4链接
*/
private Integer mediaType;
/**
* 媒体文件路径,保存上传路径
*/
private String mediaUrl;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否删除0否1是
*/
private Integer deleteFlag;
public Long getWelcomeMediaId() {
return welcomeMediaId;
}
public void setWelcomeMediaId(Long welcomeMediaId) {
this.welcomeMediaId = welcomeMediaId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getMediaTitle() {
return mediaTitle;
}
public void setMediaTitle(String mediaTitle) {
this.mediaTitle = mediaTitle;
}
public Integer getMediaType() {
return mediaType;
}
public void setMediaType(Integer mediaType) {
this.mediaType = mediaType;
}
public String getMediaUrl() {
return mediaUrl;
}
public void setMediaUrl(String mediaUrl) {
this.mediaUrl = mediaUrl;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
@Override
public String toString() {
return "TabHaobanWelcomeMedia{" +
"welcomeMediaId=" + welcomeMediaId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", welcomeId='" + welcomeId + '\'' +
", mediaTitle='" + mediaTitle + '\'' +
", mediaType=" + mediaType +
", mediaUrl='" + mediaUrl + '\'' +
", createTime=" + createTime +
", updateTime=" + updateTime +
", deleteFlag=" + deleteFlag +
'}';
}
}
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 欢迎语适用范围表(TabHaobanWelcomeSuitRang)实体类
*
* @author xugaojun
* @since 2022-02-10 16:40:15
*/
public class TabHaobanWelcomeSuitRang implements Serializable {
private static final long serialVersionUID = -99086648135131874L;
/**
* 主键id
*/
private Long welcomeSuitRangId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 适用范围类型 1部门 2员工
*/
private Integer suitType;
/**
* 适用部门id
*/
private String suitDepartmentId;
/**
* 适用部门名称
*/
private String suitDepartmentName;
/**
* 适用员工id
*/
private String suitStaffId;
/**
* 适用员工名称
*/
private String suitStaffName;
/**
* 员工所属部门id
*/
private String staffBelongDepartmentId;
/**
* 员工所属部门名称
*/
private String staffBelongDepartmentName;
/**
* 选中类型(部门)1被选中 2关联选中
*/
private Integer selectType;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否删除0否1是
*/
private Integer deleteFlag;
public Long getWelcomeSuitRangId() {
return welcomeSuitRangId;
}
public void setWelcomeSuitRangId(Long welcomeSuitRangId) {
this.welcomeSuitRangId = welcomeSuitRangId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public Integer getSuitType() {
return suitType;
}
public void setSuitType(Integer suitType) {
this.suitType = suitType;
}
public String getSuitDepartmentId() {
return suitDepartmentId;
}
public void setSuitDepartmentId(String suitDepartmentId) {
this.suitDepartmentId = suitDepartmentId;
}
public String getSuitDepartmentName() {
return suitDepartmentName;
}
public void setSuitDepartmentName(String suitDepartmentName) {
this.suitDepartmentName = suitDepartmentName;
}
public String getSuitStaffId() {
return suitStaffId;
}
public void setSuitStaffId(String suitStaffId) {
this.suitStaffId = suitStaffId;
}
public String getSuitStaffName() {
return suitStaffName;
}
public void setSuitStaffName(String suitStaffName) {
this.suitStaffName = suitStaffName;
}
public String getStaffBelongDepartmentId() {
return staffBelongDepartmentId;
}
public void setStaffBelongDepartmentId(String staffBelongDepartmentId) {
this.staffBelongDepartmentId = staffBelongDepartmentId;
}
public String getStaffBelongDepartmentName() {
return staffBelongDepartmentName;
}
public void setStaffBelongDepartmentName(String staffBelongDepartmentName) {
this.staffBelongDepartmentName = staffBelongDepartmentName;
}
public Integer getSelectType() {
return selectType;
}
public void setSelectType(Integer selectType) {
this.selectType = selectType;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
}
......@@ -48,15 +48,25 @@ public class TabWelcome implements Serializable {
private Integer statusFlag;
/**
*
* 创建时间
*/
private Date createTime;
/**
*
* 更新时间
*/
private Date updateTime;
/**
* 操作人id
*/
private String operatorId;
/**
* 操作人名称
*/
private String operatorName;
public String getWelcomeId() {
return welcomeId;
}
......@@ -128,4 +138,20 @@ public class TabWelcome implements Serializable {
public void setWelcomeImg(String welcomeImg) {
this.welcomeImg = welcomeImg;
}
public String getOperatorId() {
return operatorId;
}
public void setOperatorId(String operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
}
\ No newline at end of file
......@@ -15,6 +15,8 @@ public class ExternalUserPojo implements Serializable{
private String addCreateTime;
private String externalUserId;
private String wxUserId;
/**
* 好友类型
* 1表示该外部联系人是微信用户,2表示该外部联系人是企业微信用户
......@@ -76,8 +78,12 @@ public class ExternalUserPojo implements Serializable{
public void setExternalUserId(String externalUserId) {
this.externalUserId = externalUserId;
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
/**
* desc:加好友配置bo
*
* @author: YongEn
* @date: 2022/2/8
**/
public class FriendSettingDetailBO {
/**
* 加好友配置id
*/
private Long friendSettingId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语配置类型 :
* 1 发送好办欢迎语文案+小程序卡片(附带导购参数)
* 2 发送好办欢迎语文案+公众号二维码(附带导购参数)
* 3 发送好办欢迎语文案
* 4 不发送好办欢迎语,用企微欢迎语
* @see com.gic.haoban.manage.api.enums.FriendSettingTypeEnum
*/
private Integer friendSettingType;
public Long getFriendSettingId() {
return friendSettingId;
}
public void setFriendSettingId(Long friendSettingId) {
this.friendSettingId = friendSettingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getFriendSettingType() {
return friendSettingType;
}
public void setFriendSettingType(Integer friendSettingType) {
this.friendSettingType = friendSettingType;
}
@Override
public String toString() {
return "FriendSettingDetailBO{" +
"friendSettingId=" + friendSettingId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", friendSettingType=" + friendSettingType +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
/**
* desc:保存加好友配置bo
*
* @author: YongEn
* @date: 2022/2/8
**/
public class SaveFriendSettingBO {
/**
* 加好友配置id
*/
private Long friendSettingId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语配置类型 :
* 1 发送好办欢迎语文案+小程序卡片(附带导购参数)
* 2 发送好办欢迎语文案+公众号二维码(附带导购参数)
* 3 发送好办欢迎语文案
* 4 不发送好办欢迎语,用企微欢迎语
*/
private Integer friendSettingType;
/**
* 更新人id
*/
private String updateId;
/**
* 更新人名称
*/
private String updateName;
public Long getFriendSettingId() {
return friendSettingId;
}
public void setFriendSettingId(Long friendSettingId) {
this.friendSettingId = friendSettingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getFriendSettingType() {
return friendSettingType;
}
public void setFriendSettingType(Integer friendSettingType) {
this.friendSettingType = friendSettingType;
}
public String getUpdateId() {
return updateId;
}
public void setUpdateId(String updateId) {
this.updateId = updateId;
}
public String getUpdateName() {
return updateName;
}
public void setUpdateName(String updateName) {
this.updateName = updateName;
}
@Override
public String toString() {
return "SaveFriendSettingBO{" +
"friendSettingId=" + friendSettingId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", friendSettingType=" + friendSettingType +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
import java.util.List;
/**
* desc:保存欢迎语bo
*
* @author: YongEn
* @date: 2022/2/8
**/
public class SaveWelcomeBO {
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String welcomeContent;
/**
* 操作人id
*/
private String operatorId;
/**
* 操作人名称
*/
private String operatorName;
/**
* 欢迎语媒体列表
*/
private List<SaveWelcomeMediaBO> mediaList;
/**
* 适用部门新增列表
*/
private List<WelcomeSuitDepartmentBO> suitDepartmentAddList;
/**
* 适用部门删除列表
*/
private List<WelcomeSuitDepartmentBO> suitDepartmentDeleteList;
/**
* 适用员工新增列表
*/
private List<WelcomeSuitStaffBO> suitStaffAddList;
/**
* 适用员工删除列表
*/
private List<WelcomeSuitStaffBO> suitStaffDeleteList;
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWelcomeContent() {
return welcomeContent;
}
public void setWelcomeContent(String welcomeContent) {
this.welcomeContent = welcomeContent;
}
public List<SaveWelcomeMediaBO> getMediaList() {
return mediaList;
}
public void setMediaList(List<SaveWelcomeMediaBO> mediaList) {
this.mediaList = mediaList;
}
public String getOperatorId() {
return operatorId;
}
public void setOperatorId(String operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public List<WelcomeSuitDepartmentBO> getSuitDepartmentAddList() {
return suitDepartmentAddList;
}
public void setSuitDepartmentAddList(List<WelcomeSuitDepartmentBO> suitDepartmentAddList) {
this.suitDepartmentAddList = suitDepartmentAddList;
}
public List<WelcomeSuitDepartmentBO> getSuitDepartmentDeleteList() {
return suitDepartmentDeleteList;
}
public void setSuitDepartmentDeleteList(List<WelcomeSuitDepartmentBO> suitDepartmentDeleteList) {
this.suitDepartmentDeleteList = suitDepartmentDeleteList;
}
public List<WelcomeSuitStaffBO> getSuitStaffAddList() {
return suitStaffAddList;
}
public void setSuitStaffAddList(List<WelcomeSuitStaffBO> suitStaffAddList) {
this.suitStaffAddList = suitStaffAddList;
}
public List<WelcomeSuitStaffBO> getSuitStaffDeleteList() {
return suitStaffDeleteList;
}
public void setSuitStaffDeleteList(List<WelcomeSuitStaffBO> suitStaffDeleteList) {
this.suitStaffDeleteList = suitStaffDeleteList;
}
@Override
public String toString() {
return "SaveWelcomeBO{" +
"welcomeId='" + welcomeId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
", welcomeContent='" + welcomeContent + '\'' +
", operatorId='" + operatorId + '\'' +
", operatorName='" + operatorName + '\'' +
", mediaList=" + mediaList +
", suitDepartmentAddList=" + suitDepartmentAddList +
", suitDepartmentDeleteList=" + suitDepartmentDeleteList +
", suitStaffAddList=" + suitStaffAddList +
", suitStaffDeleteList=" + suitStaffDeleteList +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
/**
* desc:保存欢迎语媒体bo
*
* @author: YongEn
* @date: 2022/2/10
**/
public class SaveWelcomeMediaBO {
/**
* 媒体标题
*/
private String mediaTitle;
/**
* 媒体路径
*/
private String mediaUrl;
/**
* 媒体类型
* @see com.gic.haoban.manage.api.enums.WelcomeMediaTypeEnum
*/
private Integer mediaType;
public String getMediaTitle() {
return mediaTitle;
}
public void setMediaTitle(String mediaTitle) {
this.mediaTitle = mediaTitle;
}
public String getMediaUrl() {
return mediaUrl;
}
public void setMediaUrl(String mediaUrl) {
this.mediaUrl = mediaUrl;
}
public Integer getMediaType() {
return mediaType;
}
public void setMediaType(Integer mediaType) {
this.mediaType = mediaType;
}
@Override
public String toString() {
return "SaveWelcomeMediaBO{" +
"mediaTitle='" + mediaTitle + '\'' +
", mediaUrl='" + mediaUrl + '\'' +
", mediaType=" + mediaType +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
import java.util.List;
/**
* desc:欢迎语详情bo
*
* @author: YongEn
* @date: 2022/2/8
**/
public class WelcomeDetailBO {
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String welcomeContent;
/**
* 0关闭 1开启
*/
private Integer openFlag;
/**
* 适用部门列表
*/
private List<WelcomeSuitDepartmentBO> suitDepartmentList;
/**
* 适用员工列表
*/
private List<WelcomeSuitStaffBO> suitStaffList;
/**
* 欢迎语媒体列表
*/
private List<WelcomeMediaBO> welcomeMediaList;
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWelcomeContent() {
return welcomeContent;
}
public void setWelcomeContent(String welcomeContent) {
this.welcomeContent = welcomeContent;
}
public Integer getOpenFlag() {
return openFlag;
}
public void setOpenFlag(Integer openFlag) {
this.openFlag = openFlag;
}
public List<WelcomeMediaBO> getWelcomeMediaList() {
return welcomeMediaList;
}
public void setWelcomeMediaList(List<WelcomeMediaBO> welcomeMediaList) {
this.welcomeMediaList = welcomeMediaList;
}
public List<WelcomeSuitDepartmentBO> getSuitDepartmentList() {
return suitDepartmentList;
}
public void setSuitDepartmentList(List<WelcomeSuitDepartmentBO> suitDepartmentList) {
this.suitDepartmentList = suitDepartmentList;
}
public List<WelcomeSuitStaffBO> getSuitStaffList() {
return suitStaffList;
}
public void setSuitStaffList(List<WelcomeSuitStaffBO> suitStaffList) {
this.suitStaffList = suitStaffList;
}
@Override
public String toString() {
return "WelcomeDetailBO{" +
"welcomeId='" + welcomeId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
", welcomeContent='" + welcomeContent + '\'' +
", openFlag=" + openFlag +
", welcomeMediaList=" + welcomeMediaList +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
import java.util.Date;
import java.util.List;
/**
* desc:欢迎语列表bo
*
* @author: YongEn
* @date: 2022/2/8
**/
public class WelcomeListBO {
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String welcomeContent;
/**
* 0关闭 1开启
*/
private Integer openFlag;
/**
* 更新时间
*/
private Date updateTime;
/**
* 操作人id
*/
private String operatorId;
/**
* 操作人名称
*/
private String operatorName;
/**
* 适用部门列表
*/
private List<WelcomeSuitDepartmentBO> suitDepartmentList;
/**
* 适用员工列表
*/
private List<WelcomeSuitStaffBO> suitStaffList;
/**
* 欢迎语媒体列表
*/
private List<WelcomeMediaBO> welcomeMediaList;
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWelcomeContent() {
return welcomeContent;
}
public void setWelcomeContent(String welcomeContent) {
this.welcomeContent = welcomeContent;
}
public Integer getOpenFlag() {
return openFlag;
}
public void setOpenFlag(Integer openFlag) {
this.openFlag = openFlag;
}
public List<WelcomeMediaBO> getWelcomeMediaList() {
return welcomeMediaList;
}
public void setWelcomeMediaList(List<WelcomeMediaBO> welcomeMediaList) {
this.welcomeMediaList = welcomeMediaList;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getOperatorId() {
return operatorId;
}
public void setOperatorId(String operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public List<WelcomeSuitDepartmentBO> getSuitDepartmentList() {
return suitDepartmentList;
}
public void setSuitDepartmentList(List<WelcomeSuitDepartmentBO> suitDepartmentList) {
this.suitDepartmentList = suitDepartmentList;
}
public List<WelcomeSuitStaffBO> getSuitStaffList() {
return suitStaffList;
}
public void setSuitStaffList(List<WelcomeSuitStaffBO> suitStaffList) {
this.suitStaffList = suitStaffList;
}
@Override
public String toString() {
return "WelcomeListBO{" +
"welcomeId='" + welcomeId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
", welcomeContent='" + welcomeContent + '\'' +
", openFlag=" + openFlag +
", updateTime=" + updateTime +
", operatorId='" + operatorId + '\'' +
", operatorName='" + operatorName + '\'' +
", welcomeMediaList=" + welcomeMediaList +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
/**
* desc:欢迎语媒体bo
*
* @author: YongEn
* @date: 2022/2/9
**/
public class WelcomeMediaBO {
/**
* 欢迎语媒体id
*/
private Long welcomeMediaId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 媒体标题
*/
private String mediaTitle;
/**
* 媒体类型 1图片 2视频 3文件 4链接
*/
private Integer mediaType;
/**
* 媒体文件路径,保存上传路径
*/
private String mediaUrl;
public Long getWelcomeMediaId() {
return welcomeMediaId;
}
public void setWelcomeMediaId(Long welcomeMediaId) {
this.welcomeMediaId = welcomeMediaId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getMediaTitle() {
return mediaTitle;
}
public void setMediaTitle(String mediaTitle) {
this.mediaTitle = mediaTitle;
}
public Integer getMediaType() {
return mediaType;
}
public void setMediaType(Integer mediaType) {
this.mediaType = mediaType;
}
public String getMediaUrl() {
return mediaUrl;
}
public void setMediaUrl(String mediaUrl) {
this.mediaUrl = mediaUrl;
}
@Override
public String toString() {
return "WelcomeMediaBO{" +
"welcomeMediaId=" + welcomeMediaId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", welcomeId='" + welcomeId + '\'' +
", mediaType=" + mediaType +
", mediaUrl='" + mediaUrl + '\'' +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
/**
* desc:欢迎语适用部门bo
*
* @author: YongEn
* @date: 2022/2/10
**/
public class WelcomeSuitDepartmentBO {
/**
* 部门id
*/
private String departmentId;
/**
* 部门名称
*/
private String departmentName;
/**
* 选中类型(部门)1被选中 2关联选中
*/
private Integer selectType;
public String getDepartmentId() {
return departmentId;
}
public void setDepartmentId(String departmentId) {
this.departmentId = departmentId;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public Integer getSelectType() {
return selectType;
}
public void setSelectType(Integer selectType) {
this.selectType = selectType;
}
@Override
public String toString() {
return "WelcomeSuitDepartmentBO{" +
"departmentId='" + departmentId + '\'' +
", departmentName='" + departmentName + '\'' +
'}';
}
}
package com.gic.haoban.manage.service.pojo.bo.welcome;
/**
* desc:欢迎语适用员工bo
*
* @author: YongEn
* @date: 2022/2/10
**/
public class WelcomeSuitStaffBO {
/**
* 员工id
*/
private String staffId;
/**
* 员工名称
*/
private String staffName;
/**
* 员工所属部门id
*/
private String belongDepartmentId;
/**
* 员工所属部门名称
*/
private String belongDepartmentName;
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getBelongDepartmentId() {
return belongDepartmentId;
}
public void setBelongDepartmentId(String belongDepartmentId) {
this.belongDepartmentId = belongDepartmentId;
}
public String getBelongDepartmentName() {
return belongDepartmentName;
}
public void setBelongDepartmentName(String belongDepartmentName) {
this.belongDepartmentName = belongDepartmentName;
}
@Override
public String toString() {
return "WelcomeSuitStaffBO{" +
"staffId='" + staffId + '\'' +
", staffName='" + staffName + '\'' +
", belongDepartmentId='" + belongDepartmentId + '\'' +
", belongDepartmentName='" + belongDepartmentName + '\'' +
'}';
}
}
......@@ -66,5 +66,4 @@ public interface ExternalClerkRelatedService {
* @return
*/
String checkAndUpdateMemberByUnonId(String enterpriseId, String memberId, String unionId);
}
package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.service.pojo.bo.welcome.*;
import java.util.List;
/**
* desc:欢迎语接口服务
*
* @author: YongEn
* @date: 2022/2/8
**/
public interface WelcomeService {
/**
* desc: 保存欢迎语
*
* @param bo bo
* @return : {@link Boolean}
* @author : YongEn
* @date : 2022/2/8
*/
Boolean saveWelcome(SaveWelcomeBO bo);
/**
* desc: 删除欢迎语配置
*
* @param welcomeId 欢迎语id
* @return : {@link Boolean}
* @author : YongEn
* @date : 2022/2/8
*/
Boolean removeWelcome(String welcomeId);
/**
* desc: 获取欢迎语列表
*
* @param wxEnterpriseId 微信企业id
* @param title 标题
* @return : {@link List< WelcomeListBO >}
* @author : YongEn
* @date : 2022/2/8
*/
List<WelcomeListBO> listWelcome(String wxEnterpriseId, String title);
/**
* desc: 获取欢迎语详情
*
* @param welcomeId 欢迎语id
* @return : {@link WelcomeDetailBO}
* @author : YongEn
* @date : 2022/2/8
*/
WelcomeDetailBO getWelcome(String welcomeId);
/**
* desc: 保存加好友配置
*
* @param bo bo
* @return : {@link Boolean}
* @author : YongEn
* @date : 2022/2/8
*/
Boolean saveFriendSetting(SaveFriendSettingBO bo);
/**
* desc: 获取加好友配置
*
* @param wxEnterpriseId 微信企业id
* @return : {@link FriendSettingDetailBO}
* @author : YongEn
* @date : 2022/2/8
*/
FriendSettingDetailBO getFriendSetting(String wxEnterpriseId);
/**
* desc: 根据员工所在部门匹配欢迎语
*
* @param staffId 员工id
* @param wxEnterpriseId 微信企业id
* @return : {@link WelcomeDetailBO}
* @author : YongEn
* @date : 2022/2/9
*/
WelcomeDetailBO getMatchWelcome(String staffId, String wxEnterpriseId);
}
package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeSuitDepartmentBO;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeSuitStaffBO;
import java.util.List;
/**
* desc:欢迎语适用范围服务接口
*
* @author: YongEn
* @date: 2022/2/10
**/
public interface WelcomeSuitRangService {
/**
* desc: 新增适用部门
*
* @param welcomeId 欢迎语id
* @param suitDepartmentList 适用门店列表
* @param wxEnterpriseId 微信企业id
* @author : YongEn
* @date : 2022/2/10
*/
void addSuitDepartment(String welcomeId, String wxEnterpriseId, List<WelcomeSuitDepartmentBO> suitDepartmentList);
/**
* desc: 新增适用员工
*
* @param welcomeId 欢迎语id
* @param suitStaffList 适用员工列表
* @param wxEnterpriseId 微信企业id
* @author : YongEn
* @date : 2022/2/10
*/
void addSuitStaff(String welcomeId, String wxEnterpriseId, List<WelcomeSuitStaffBO> suitStaffList);
/**
* desc: 删除适用部门
*
* @param welcomeId 欢迎语id
* @param suitDepartmentList 适用门店列表
* @param wxEnterpriseId 微信企业id
* @author : YongEn
* @date : 2022/2/10
*/
void deleteSuitDepartment(String welcomeId, String wxEnterpriseId, List<WelcomeSuitDepartmentBO> suitDepartmentList);
/**
* desc: 删除适用员工
*
* @param welcomeId 欢迎语id
* @param suitStaffList 适用员工列表
* @param wxEnterpriseId 微信企业id
* @author : YongEn
* @date : 2022/2/10
*/
void deleteSuitStaff(String welcomeId, String wxEnterpriseId, List<WelcomeSuitStaffBO> suitStaffList);
}
package com.gic.haoban.manage.service.service.impl;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.enums.WelcomeSuitTypeEnum;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeSuitRangMapper;
import com.gic.haoban.manage.service.entity.TabHaobanWelcomeSuitRang;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeSuitDepartmentBO;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeSuitStaffBO;
import com.gic.haoban.manage.service.service.WelcomeSuitRangService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* desc:欢迎语适用范围服务接口实现
*
* @author: YongEn
* @date: 2022/2/10
**/
@Service
public class WelcomeSuitRangServiceImpl implements WelcomeSuitRangService {
@Autowired
private TabHaobanWelcomeSuitRangMapper welcomeSuitRangMapper;
@Override
public void addSuitDepartment(String welcomeId, String wxEnterpriseId, List<WelcomeSuitDepartmentBO> suitDepartmentList) {
if (CollectionUtils.isEmpty(suitDepartmentList)) {
return;
}
// 构建实体类
List<TabHaobanWelcomeSuitRang> welcomeSuitRangList = suitDepartmentList.stream().map(one -> {
TabHaobanWelcomeSuitRang welcomeSuitRang = new TabHaobanWelcomeSuitRang();
welcomeSuitRang.setWelcomeSuitRangId(UniqueIdUtils.uniqueLong());
welcomeSuitRang.setWxEnterpriseId(wxEnterpriseId);
welcomeSuitRang.setWelcomeId(welcomeId);
welcomeSuitRang.setSuitType(WelcomeSuitTypeEnum.DEPARTMENT.getCode());
welcomeSuitRang.setSuitDepartmentId(one.getDepartmentId());
welcomeSuitRang.setSuitDepartmentName(one.getDepartmentName());
welcomeSuitRang.setSuitStaffId("-1");
welcomeSuitRang.setSuitStaffName("-1");
welcomeSuitRang.setStaffBelongDepartmentId("-1");
welcomeSuitRang.setStaffBelongDepartmentName("-1");
welcomeSuitRang.setSelectType(one.getSelectType());
welcomeSuitRang.setCreateTime(new Date());
welcomeSuitRang.setUpdateTime(new Date());
welcomeSuitRang.setDeleteFlag(0);
return welcomeSuitRang;
}).collect(Collectors.toList());
welcomeSuitRangMapper.batchInsert(welcomeSuitRangList);
}
@Override
public void addSuitStaff(String welcomeId, String wxEnterpriseId, List<WelcomeSuitStaffBO> suitStaffList) {
if (CollectionUtils.isEmpty(suitStaffList)) {
return;
}
// 构建实体类
List<TabHaobanWelcomeSuitRang> welcomeSuitRangList = suitStaffList.stream().map(one -> {
TabHaobanWelcomeSuitRang welcomeSuitRang = new TabHaobanWelcomeSuitRang();
welcomeSuitRang.setWelcomeSuitRangId(UniqueIdUtils.uniqueLong());
welcomeSuitRang.setWxEnterpriseId(wxEnterpriseId);
welcomeSuitRang.setWelcomeId(welcomeId);
welcomeSuitRang.setSuitType(WelcomeSuitTypeEnum.STAFF.getCode());
welcomeSuitRang.setSuitDepartmentId("-1");
welcomeSuitRang.setSuitDepartmentName("-1");
welcomeSuitRang.setSuitStaffId(one.getStaffId());
welcomeSuitRang.setSuitStaffName(one.getStaffName());
welcomeSuitRang.setStaffBelongDepartmentId(one.getBelongDepartmentId());
welcomeSuitRang.setStaffBelongDepartmentName(one.getBelongDepartmentName());
welcomeSuitRang.setSelectType(1);
welcomeSuitRang.setCreateTime(new Date());
welcomeSuitRang.setUpdateTime(new Date());
welcomeSuitRang.setDeleteFlag(0);
return welcomeSuitRang;
}).collect(Collectors.toList());
welcomeSuitRangMapper.batchInsert(welcomeSuitRangList);
}
@Override
public void deleteSuitDepartment(String welcomeId, String wxEnterpriseId, List<WelcomeSuitDepartmentBO> suitDepartmentList) {
if (CollectionUtils.isEmpty(suitDepartmentList)) {
return;
}
Set<String> welcomeSuitDepartmentIdSet = suitDepartmentList.stream()
.map(WelcomeSuitDepartmentBO::getDepartmentId).collect(Collectors.toSet());
welcomeSuitRangMapper.batchDeleteBySuitDepartmentIdSet(welcomeId, wxEnterpriseId, welcomeSuitDepartmentIdSet);
}
@Override
public void deleteSuitStaff(String welcomeId, String wxEnterpriseId, List<WelcomeSuitStaffBO> suitStaffList) {
if (CollectionUtils.isEmpty(suitStaffList)) {
return;
}
Set<String> welcomeSuitDepartmentIdSet = suitStaffList.stream()
.map(WelcomeSuitStaffBO::getStaffId).collect(Collectors.toSet());
welcomeSuitRangMapper.batchDeleteBySuitStaffIdSet(welcomeId, wxEnterpriseId, welcomeSuitDepartmentIdSet);
}
}
......@@ -162,6 +162,29 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
resp.setMessage("relationKey对应的企业与所传会员企业不对应");
return resp;
}
updateExternalClerkRelated(enterpriseId, memberId, unionid, externalClerkRelated);
resp.setResult(EntityUtil.changeEntityNew(ExternalClerkRelatedDTO.class, externalClerkRelated));
return resp;
}
@Override
public void bindMemberIdExternalById(String externalClerkRelatedId, String enterpriseId, String memberId, String unionid) {
TabHaobanExternalClerkRelated externalClerkRelated = tabHaobanExternalClerkRelatedMapper.selectByPrimaryKey(externalClerkRelatedId);
if (externalClerkRelated == null) {
log.error("查询好办与gic数据为空,externalClerkRelatedId:{},enterpriseId:{},memberId:{},unionid:{}",externalClerkRelatedId,enterpriseId,memberId,unionid);
return;
}
updateExternalClerkRelated(enterpriseId, memberId, unionid, externalClerkRelated);
}
/**
* 更新好友关系
* @param enterpriseId
* @param memberId
* @param unionid
* @param externalClerkRelated
*/
private void updateExternalClerkRelated(String enterpriseId, String memberId, String unionid, TabHaobanExternalClerkRelated externalClerkRelated) {
externalClerkRelated.setMemberId(memberId);
externalClerkRelated.setUnionid(unionid);
externalClerkRelated.setUpdateTime(new Date());
......@@ -175,10 +198,8 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
memberUnionidRelated.setEnterpriseId(enterpriseId);
memberUnionidRelated.setUpdateTime(new Date());
memberUnionidRelatedMapper.updateByPrimaryKeySelective(memberUnionidRelated);
resp.setResult(EntityUtil.changeEntityNew(ExternalClerkRelatedDTO.class, externalClerkRelated));
//同步标签
pushTagSync(memberId, externalClerkRelated.getWxEnterpriseId(), enterpriseId);
return resp;
}
/**
......@@ -201,8 +222,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
try {
clientInstance.sendMessage("qywxTagSyncDeal", JSONObject.toJSONString(pojo));
} catch (Exception e) {
e.printStackTrace();
log.info("异常:{}", e);
log.info("异常:{}", e.getMessage(),e);
}
}
......
......@@ -2,28 +2,22 @@ package com.gic.haoban.manage.service.service.out.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkQwDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.commons.util.GlobalInfo;
import com.gic.commons.util.GlobalVar;
import com.gic.haoban.app.customer.service.api.service.InnerApiService;
import com.gic.haoban.base.api.common.Constant;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.AppPageType;
import com.gic.haoban.manage.api.enums.GicDataType;
import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum;
import com.gic.haoban.manage.api.enums.WxEditType;
import com.gic.haoban.manage.api.enums.*;
import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.api.util.notify.NoticeMessageUtil;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.entity.TabHaobanDepartment;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.service.DepartmentService;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.service.*;
import com.gic.mq.sdk.GicMQClient;
import com.gic.thirdparty.api.dto.PicUploadResDTO;
import com.gic.thirdparty.api.service.QQCloudPicService;
......@@ -31,6 +25,8 @@ import com.gic.wechat.api.dto.qywx.ItemDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import com.gic.wechat.api.service.qywx.QywxDepartmentApiService;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
......@@ -40,10 +36,9 @@ import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 接收企业微信或者gic推送消息进行处理
......@@ -88,6 +83,14 @@ public class MessageApiServiceImpl implements MessageApiService {
@Autowired
private StaffDepartmentRelatedApiService staffDepartmentRelatedApiService;
@Autowired
private WxEnterpriseRelatedService wxEnterpriseRelatedService;
@Autowired
private ClerkService clerkService;
@Autowired
private SecretSettingService secretSettingService;
@Override
public void gicMessageReceive(GicMessageDTO gicMessageDTO) {
if (true) {
......@@ -118,23 +121,107 @@ public class MessageApiServiceImpl implements MessageApiService {
@Override
public void dealWxMessage(String param) {
if (true) {
log.info("不出发更新企业微信变更");
return;
}
QywxCallBackDTO dto = JSON.parseObject(param, QywxCallBackDTO.class);
log.info("【处理微信回调】dto={}", JSON.toJSONString(param));
if (dto != null) {
String corpId = dto.getAuthCorpId();
TabHaobanWxEnterprise enterprise = this.enterpriseService.getEnterpriseBycorpId(corpId);
if (enterprise != null) {
if (dto.getChangeType().endsWith("party")) {
this.dealDepartment(dto);
} else {
this.dealUser(dto);
}
}
// 处理定制-目前鸿星尔克用
boolean checkErkeDeal = checkErkeDeal(dto);
if (!checkErkeDeal) {
log.info("不符合鸿星尔克需求,返回");
return;
}
TabHaobanWxEnterprise enterprise = enterpriseService.getEnterpriseBycorpId(dto.getAuthCorpId());
if (Objects.isNull(enterprise)) {
log.info("通过corpId:【{}】未查询到授权企业,无法处理", dto.getAuthCorpId());
return;
}
// 校验适用企业
boolean suitWxEnterpriseIid = checkSuitEnterpriseId(enterprise.getWxEnterpriseId());
if (!suitWxEnterpriseIid) {
log.info("微信企业id:{}, 不适用", enterprise.getWxEnterpriseId());
return;
}
List<TabHaobanWxEnterpriseRelated> relatedList = wxEnterpriseRelatedService.getByWxEnterpriseId(enterprise.getWxEnterpriseId());
if (CollectionUtils.isEmpty(relatedList)) {
log.info("未查询到企业关联企业 wxEnt");
return;
}
ServiceResponse response = staffApiService.getWxSaveNew(dto.getUserid(), enterprise.getWxEnterpriseId());
if (response.getCode() != 1) {
log.info("添加企业员工失败:{}", response.getMessage());
return;
}
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(enterprise.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置secret:{}", JSONObject.toJSONString(enterprise));
return;
}
// 取第一个企业的id
doDealUser(dto, relatedList.get(0).getEnterpriseId(), secretSetting.getSecretVal());
// 以下暂时不会用到
// if (dto != null) {
// String corpId = dto.getAuthCorpId();
// TabHaobanWxEnterprise enterprise = this.enterpriseService.getEnterpriseBycorpId(corpId);
// if (enterprise != null) {
// if (dto.getChangeType().endsWith("party")) {
// this.dealDepartment(dto);
// } else {
// this.dealUser(dto);
// }
// }
// }
}
/**
* desc: 鸿星尔克定制需求校验-后期可扩展为配置形式
*
* @param dto dto
* @return : {@link boolean}
* @author : YongEn
* @date : 2022/1/25
*/
private boolean checkErkeDeal(QywxCallBackDTO dto) {
if (Objects.isNull(dto) || StringUtils.isEmpty(dto.getUserid())) {
return false;
}
if (!"create_user".equals(dto.getChangeType())) {
log.info("只处理新增用户, 非 create_user 类型不做处理 当前传入类型:{}", dto.getChangeType());
return false;
}
String userid = dto.getUserid();
// 当前规则 userId是12位并且以5开头
if (userid.length() != 12) {
return false;
}
return userid.startsWith("5");
}
private boolean checkSuitEnterpriseId(String wxEnterpriseId) {
Set<String> wxSet = Sets.newHashSet("ca66a01b79474c40b3e7c7f93daf1a3b");
return wxSet.contains(wxEnterpriseId);
}
private void doDealUser(QywxCallBackDTO dto, String enterpriseId, String secret) {
ClerkQwDTO clerkQwDTO = new ClerkQwDTO();
clerkQwDTO.setEnterpriseId(enterpriseId);
String mainDeptId = dto.getMainDepartment();
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> departments = qywxDepartmentApiService.listSelfDepartment(dto.getAuthCorpId(), secret, Integer.valueOf(mainDeptId));
if (CollectionUtils.isEmpty(departments)) {
log.info("通过主部门查询部门列表为空 mainDeptId:{}", mainDeptId);
return;
}
Map<Integer, com.gic.wechat.api.dto.qywx.DepartmentDTO> departmentIdMap = departments.stream()
.collect(Collectors.toMap(com.gic.wechat.api.dto.qywx.DepartmentDTO::getId, Function.identity(), (a, b) -> a));
com.gic.wechat.api.dto.qywx.DepartmentDTO mainDept = departmentIdMap.get(Integer.valueOf(mainDeptId));
clerkQwDTO.setStoreName(mainDept.getName());
clerkQwDTO.setClerkCode(dto.getUserid());
clerkQwDTO.setClerkName(dto.getUserName());
clerkQwDTO.setClerkType(dto.getIsLeaderInDept()[0]);
clerkQwDTO.setClerkGener(dto.getGender());
clerkQwDTO.setPhoneNumber(dto.getMobile());
clerkQwDTO.setNationcode(dto.getTelephone());
// 调用换导购接口逻辑
clerkService.syncClerkForQw(clerkQwDTO);
}
private void dealDepartment(QywxCallBackDTO qywxCallBackDTO) {
......
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.service.out.impl;
import java.util.List;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
......@@ -96,4 +97,10 @@ public class TestServiceImpl implements TestApiService {
quartzService.addOrUpdateQuartzTask(taskDTO);
}
@Override
public ServiceResponse listAllQywxUser(String params) {
logger.info("JSONOnkec:"+params);
return ServiceResponse.success(params);
}
}
package com.gic.haoban.manage.service.service.out.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.welcome.dto.*;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeQDTO;
import com.gic.haoban.manage.api.service.out.WelcomeApiService;
import com.gic.haoban.manage.service.pojo.bo.welcome.*;
import com.gic.haoban.manage.service.service.WelcomeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* desc:欢迎语对外服务接口实现
*
* @author: YongEn
* @date: 2022/2/11
**/
@Service
public class WelcomeApiServiceImpl implements WelcomeApiService {
@Autowired
private WelcomeService welcomeService;
@Override
public ServiceResponse<Boolean> saveWelcome(SaveWelcomeQDTO qdto) {
SaveWelcomeBO saveWelcomeBO = new SaveWelcomeBO();
saveWelcomeBO.setWelcomeId(qdto.getWelcomeId());
saveWelcomeBO.setWxEnterpriseId(qdto.getWxEnterpriseId());
saveWelcomeBO.setTitle(qdto.getTitle());
saveWelcomeBO.setWelcomeContent(qdto.getWelcomeContent());
saveWelcomeBO.setOperatorId(qdto.getOperatorId());
saveWelcomeBO.setOperatorName(qdto.getOperatorName());
// 媒体列表
saveWelcomeBO.setMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaBO.class, qdto.getMediaList()));
// 适用部门新增列表
saveWelcomeBO.setSuitDepartmentAddList(EntityUtil.changeEntityListNew(WelcomeSuitDepartmentBO.class, qdto.getSuitDepartmentAddList()));
// 使用部门删除列表
saveWelcomeBO.setSuitDepartmentDeleteList(EntityUtil.changeEntityListNew(WelcomeSuitDepartmentBO.class, qdto.getSuitDepartmentDeleteList()));
Boolean saveWelcome = welcomeService.saveWelcome(saveWelcomeBO);
return ServiceResponse.success(saveWelcome);
}
@Override
public ServiceResponse<Boolean> removeWelcome(String welcomeId) {
return ServiceResponse.success(
welcomeService.removeWelcome(welcomeId)
);
}
@Override
public ServiceResponse<List<WelcomeListDTO>> listWelcome(String wxEnterpriseId, String title) {
List<WelcomeListBO> welcomeList = welcomeService.listWelcome(wxEnterpriseId, title);
// 数据转换
List<WelcomeListDTO> welcomeResponseList = welcomeList.stream().map(one -> {
WelcomeListDTO dto = new WelcomeListDTO();
dto.setWelcomeId(one.getWelcomeId());
dto.setWxEnterpriseId(one.getWxEnterpriseId());
dto.setTitle(one.getTitle());
dto.setWelcomeContent(one.getWelcomeContent());
dto.setOpenFlag(one.getOpenFlag());
dto.setUpdateTime(one.getUpdateTime());
dto.setOperatorId(one.getOperatorId());
dto.setOperatorName(one.getOperatorName());
// 媒体列表
dto.setWelcomeMediaList(EntityUtil.changeEntityListNew(WelcomeMediaDTO.class, one.getWelcomeMediaList()));
// 适用部门列表
dto.setSuitDepartmentList(EntityUtil.changeEntityListNew(WelcomeSuitDepartmentDTO.class, one.getSuitDepartmentList()));
// 员工暂时不做
return dto;
}).collect(Collectors.toList());
return ServiceResponse.success(welcomeResponseList);
}
@Override
public ServiceResponse<WelcomeDetailDTO> getWelcome(String welcomeId) {
WelcomeDetailBO welcome = welcomeService.getWelcome(welcomeId);
// 数据转换
WelcomeDetailDTO dto = new WelcomeDetailDTO();
dto.setWelcomeId(welcome.getWelcomeId());
dto.setWxEnterpriseId(welcome.getWxEnterpriseId());
dto.setTitle(welcome.getTitle());
dto.setWelcomeContent(welcome.getWelcomeContent());
dto.setOpenFlag(welcome.getOpenFlag());
// 媒体列表
dto.setWelcomeMediaList(EntityUtil.changeEntityListNew(WelcomeMediaDTO.class, welcome.getWelcomeMediaList()));
// 适用部门列表
dto.setSuitDepartmentList(EntityUtil.changeEntityListNew(WelcomeSuitDepartmentDTO.class, welcome.getSuitDepartmentList()));
// 员工暂时不做
return ServiceResponse.success(dto);
}
@Override
public ServiceResponse<Boolean> saveFriendSetting(SaveFriendSettingQDTO qdto) {
return ServiceResponse.success(
welcomeService.saveFriendSetting(EntityUtil.changeEntityNew(SaveFriendSettingBO.class, qdto))
);
}
@Override
public ServiceResponse<FriendSettingDetailDTO> getFriendSetting(String wxEnterpriseId) {
FriendSettingDetailBO friendSetting = welcomeService.getFriendSetting(wxEnterpriseId);
return ServiceResponse.success(
EntityUtil.changeEntityNew(FriendSettingDetailDTO.class, friendSetting)
);
}
}
......@@ -125,9 +125,10 @@ public class QywxClerkSyncOperation implements BaseSyncOperation {
dealSyncOperationApiService.cleanDiffrence(wxEnterpriseId, taskId);
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
String corpid = wxEnterpriseDTO.getCorpid();
Integer externalFlag = wxEnterpriseDTO.getExternalFlag();
TabHaobanWxApplication tabHaobanWxApplication = wxApplicationMapper.selectByCorpId(corpid, null);
logger.info("同步通讯录完成,批量处理wx_user_id,corpid:{}", corpid);
if (corpid.length() > 20) {
if (corpid.length() > 20 || externalFlag == 1) {
//批量处理wx_user_id to wx_open_user_id
List<StaffDTO> staffDTOS = staffApiService.listUserIdByWxEnterpriseId(wxEnterpriseId);
logger.info("useridToOpenuserid请求:corpid:{}", corpid);
......
......@@ -96,6 +96,9 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.out.ErrorLogApiService"
ref="errorLogApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.out.WelcomeApiService"
ref="welcomeApiServiceImpl" timeout="10000"/>
<dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService"
id="qywxDepartmentApiService"/>
......@@ -143,4 +146,7 @@
<dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService"/>
<dubbo:reference interface="com.gic.enterprise.api.service.AuthorizeService" id="authorizeService"/>
<dubbo:reference id="quartzService" interface="com.gic.quartz.api.service.QuartzService" timeout="10000"/>
<dubbo:reference id="memberApiService" interface="com.gic.member.api.service.MemberApiService" timeout="10000"/>
<dubbo:reference id="weixinBaseFunService" interface="com.gic.wechat.api.service.fwh.WeixinBaseFunService" timeout="10000"/>
</beans>
\ No newline at end of file
dubbo.registry.file=haoban-mobile-app-service
\ No newline at end of file
dubbo.registry.file=haoban-manage3-service
\ No newline at end of file
......@@ -337,4 +337,13 @@
#{item}
</foreach>
</update>
<select id="listByWxEnterpriseIdAndStaffId"
resultType="com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated">
select
<include refid="Base_Column_List" />
from tab_haoban_staff_department_related
where status_flag = 1
and wx_enterprise_id = #{wxEnterpriseId} and staff_id = #{staffId}
</select>
</mapper>
\ No newline at end of file
......@@ -26,7 +26,8 @@
</resultMap>
<sql id="Base_Column_List">
staff_id, wx_user_id, phone_number, staff_name, nation_code, nick_name, sex, postion,
staff_id
, wx_user_id, phone_number, staff_name, nation_code, nick_name, sex, postion,
active_flag, extend_postion, status_flag, create_time, update_time,wx_enterprise_id,head_img,
sort,sync_postion_flag,super_manager_flag,wx_open_user_id,wx_open_id,qr_code
</sql>
......@@ -42,6 +43,15 @@
where staff_id = #{staffId,jdbcType=VARCHAR}
</delete>
<update id="delOtherStaff">
update tab_haoban_staff
set status_flag = 0
where wx_enterprise_id = #{wxEnterpriseId}
and wx_user_id = #{wxUserId}
and status_flag = 1
and staff_id != #{staffId}
</update>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaff">
insert into tab_haoban_staff
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -438,15 +448,15 @@
<update id="updateOpenIdByStaffId" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaff">
update tab_haoban_staff
set wx_open_id = #{openId},
update_time = now()
set wx_open_id = #{openId},
update_time = now()
where staff_id = #{staffId}
</update>
<update id="updateQrCodeByStaffId" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaff">
update tab_haoban_staff
set qr_code = #{qrCode},
update_time = now()
set qr_code = #{qrCode},
update_time = now()
where staff_id = #{staffId}
</update>
......
......@@ -21,17 +21,20 @@
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
external_clerk_related_id, wx_enterprise_id, enterprise_id, store_id, member_id,
unionid, head_url,external_name, add_create_time, member_unionid_related_id, clerk_id, staff_id,
wx_user_id,relation_key, status_flag, create_time, update_time,external_user_id
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where external_clerk_related_id = #{externalClerkRelatedId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete
from tab_haoban_external_clerk_related
......@@ -320,6 +323,20 @@
and status_flag = 1
</select>
<select id="listByExTernalUseridAndWxEnterpriseId" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where external_user_id = #{externalUserid} and wx_enterprise_id = #{wxEnterpriseId}
<if test="statusFlags != null">
and status_flag IN
<foreach collection="statusFlags" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
</if>
</select>
<select id="listByExTernalUseridAndWxUserIdAllStatus" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
......@@ -603,4 +620,18 @@
and clerk_id = #{clerkId}
AND status_flag = 1
</select>
<select id="getByEnterpriseIdAndExternalUserId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where wx_user_id = #{wxUserId,jdbcType=VARCHAR}
and wx_enterprise_id = #{wxEnterpriseId}
and enterprise_id = #{enterpriseId}
and external_user_id = #{externalUserId}
and status_flag = 4
order by update_time desc limit 1
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.TabHaobanFriendSettingMapper">
<resultMap type="com.gic.haoban.manage.service.entity.TabHaobanFriendSetting" id="TabHaobanFriendSettingMap">
<result property="friendSettingId" column="friend_setting_id" jdbcType="BIGINT"/>
<result property="wxEnterpriseId" column="wx_enterprise_id" jdbcType="VARCHAR"/>
<result property="friendSettingType" column="friend_setting_type" jdbcType="INTEGER"/>
<result property="updateId" column="update_id" jdbcType="VARCHAR"/>
<result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="deleteFlag" column="delete_flag" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
friend_setting_id
, wx_enterprise_id, friend_setting_type, update_id, update_name, create_time, update_time, delete_flag </sql>
<!--新增所有列-->
<insert id="insert" keyProperty="friendSettingId" useGeneratedKeys="true"
parameterType="com.gic.haoban.manage.service.entity.TabHaobanFriendSetting">
INSERT INTO tab_haoban_friend_setting
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="friendSettingId != null">
friend_setting_id,
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id,
</if>
<if test="friendSettingType != null">
friend_setting_type,
</if>
<if test="updateId != null and updateId != ''">
update_id,
</if>
<if test="updateName != null and updateName != ''">
update_name,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="deleteFlag != null">
delete_flag,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="friendSettingId != null">
#{friendSettingId},
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
#{wxEnterpriseId},
</if>
<if test="friendSettingType != null">
#{friendSettingType},
</if>
<if test="updateId != null and updateId != ''">
#{updateId},
</if>
<if test="updateName != null and updateName != ''">
#{updateName},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="deleteFlag != null">
#{deleteFlag},
</if>
</trim>
</insert>
<!--通过主键修改数据-->
<update id="update" parameterType="com.gic.haoban.manage.service.entity.TabHaobanFriendSetting">
update tab_haoban_friend_setting
<set>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="friendSettingType != null">
friend_setting_type = #{friendSettingType},
</if>
<if test="updateId != null and updateId != ''">
update_id = #{updateId},
</if>
<if test="updateName != null and updateName != ''">
update_name = #{updateName},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where friend_setting_id = #{friendSettingId}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete
from tab_haoban_friend_setting
where friend_setting_id = #{friendSettingId}
</delete>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanFriendSettingMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_friend_setting
where friend_setting_id = #{friendSettingId}
</select>
<!--通过实体作为筛选条件查询-->
<select id="queryAll" parameterType="com.gic.haoban.manage.service.entity.TabHaobanFriendSetting"
resultMap="TabHaobanFriendSettingMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_friend_setting
<where>
<if test="friendSettingId != null">
and friend_setting_id = #{friendSettingId}
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="friendSettingType != null">
and friend_setting_type = #{friendSettingType}
</if>
<if test="updateId != null and updateId != ''">
and update_id = #{updateId}
</if>
<if test="updateName != null and updateName != ''">
and update_name = #{updateName}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
</select>
<select id="queryCountByPage" resultType="int">
select count(*)
from tab_haoban_friend_setting
</select>
<select id="queryListByPage" resultMap="TabHaobanFriendSettingMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_friend_setting
limit #{offset}, #{limit}
</select>
<select id="getByWxEnterpriseId" resultType="com.gic.haoban.manage.service.entity.TabHaobanFriendSetting">
select
<include refid="Base_Column_List"/>
from tab_haoban_friend_setting where wx_enterprise_id = #{wxEnterpriseId} and delete_flag = 0
</select>
</mapper>
......@@ -11,10 +11,14 @@
<result column="open_flag" jdbcType="INTEGER" property="openFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="operator_id" jdbcType="VARCHAR" property="operatorId"/>
<result column="operator_name" jdbcType="VARCHAR" property="operatorName"/>
</resultMap>
<sql id="Base_Column_List">
welcome_id, wx_enterprise_id, title, welcome_content,welcome_img,open_flag, status_flag, create_time, update_time
welcome_id
, wx_enterprise_id, title, welcome_content,welcome_img,open_flag, status_flag,
create_time, update_time, operator_id, operator_name
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
......@@ -33,11 +37,18 @@
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabWelcome">
insert into tab_haoban_welcome (welcome_id, wx_enterprise_id, title,
welcome_content, welcome_img, open_flag, status_flag, create_time,
update_time)
values (#{welcomeId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR},
#{welcomeContent,jdbcType=VARCHAR}, #{welcomeImg}, #{openFlag},
#{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
update_time, operator_id, operator_name)
values (#{welcomeId,jdbcType=VARCHAR},
#{wxEnterpriseId,jdbcType=VARCHAR},
#{title,jdbcType=VARCHAR},
#{welcomeContent,jdbcType=VARCHAR},
#{welcomeImg},
#{openFlag},
#{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
#{operatorId,jdbcType=VARCHAR},
#{operatorName,jdbcType=VARCHAR})
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabWelcome">
......@@ -67,6 +78,12 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="operatorId != null">
operator_id = #{operatorId,jdbcType=TIMESTAMP},
</if>
<if test="operatorName != null">
operator_name = #{operatorName,jdbcType=TIMESTAMP},
</if>
</set>
where welcome_id = #{welcomeId,jdbcType=VARCHAR}
</update>
......@@ -78,4 +95,24 @@
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and status_flag=1
</select>
<select id="listByWxEnterpriseId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_welcome
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
<if test="title != null and title != ''">
title = #{title,jdbcType=VARCHAR},
</if>
and status_flag=1
order by create_time desc
</select>
<select id="countByWxEnterpriseId" resultType="java.lang.Long">
select count(*)
from tab_haoban_welcome
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and status_flag = 1
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMediaMapper">
<resultMap type="com.gic.haoban.manage.service.entity.TabHaobanWelcomeMedia" id="TabHaobanWelcomeMediaMap">
<result property="welcomeMediaId" column="welcome_media_id" jdbcType="BIGINT"/>
<result property="wxEnterpriseId" column="wx_enterprise_id" jdbcType="VARCHAR"/>
<result property="welcomeId" column="welcome_id" jdbcType="VARCHAR"/>
<result property="mediaTitle" column="media_title" jdbcType="VARCHAR"/>
<result property="mediaType" column="media_type" jdbcType="INTEGER"/>
<result property="mediaUrl" column="media_url" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="deleteFlag" column="delete_flag" jdbcType="INTEGER"/>
</resultMap>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanWelcomeMediaMap">
select welcome_media_id,
wx_enterprise_id,
welcome_id,
media_title,
media_type,
media_url,
create_time,
update_time,
delete_flag
from haoban3.tab_haoban_welcome_media
where welcome_media_id = #{welcomeMediaId}
</select>
<select id="listByWelcomeId" resultType="com.gic.haoban.manage.service.entity.TabHaobanWelcomeMedia">
select welcome_media_id,
wx_enterprise_id,
welcome_id,
media_title,
media_type,
media_url,
create_time,
update_time,
delete_flag
from tab_haoban_welcome_media
where welcome_id = #{welcomeId} and delete_flag = 0
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="welcomeSuitRangId" useGeneratedKeys="false">
insert into tab_haoban_welcome_media(welcome_media_id, wx_enterprise_id, welcome_id, media_title, media_type, media_url,
create_time, update_time, delete_flag)
values (#{welcomeMediaId}, #{wxEnterpriseId}, #{welcomeId}, #{mediaTitle}, #{mediaType}, #{mediaUrl}, #{createTime}, #{updateTime},
#{deleteFlag})
</insert>
<!--通过主键修改数据-->
<update id="update">
update haoban3.tab_haoban_welcome_media
<set>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="welcomeId != null and welcomeId != ''">
welcome_id = #{welcomeId},
</if>
<if test="mediaTitle != null">
media_title = #{mediaTitle},
</if>
<if test="mediaType != null">
media_type = #{mediaType},
</if>
<if test="mediaUrl != null and mediaUrl != ''">
media_url = #{mediaUrl},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where welcome_media_id = #{welcomeMediaId}
</update>
<update id="removeByWelcomeId">
update tab_haoban_welcome_media
set delete_flag = 1
where welcome_id = #{welcomeId}
</update>
</mapper>
......@@ -189,7 +189,7 @@
from tab_haoban_miniprogram_setting
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and enterprise_id=#{enterpriseId}
and status_flag=1
and status_flag=1 order by create_time desc limit 1
</select>
<select id="listMiniprogramSetting" resultMap="BaseResultMap">
......
package com.gic.haoban.manage.web.controller;
import com.gic.api.base.commons.Constant;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.welcome.dto.FriendSettingDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeDetailDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeListDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveFriendSettingQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeMediaQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.SaveWelcomeQDTO;
import com.gic.haoban.manage.api.service.out.WelcomeApiService;
import com.gic.haoban.manage.web.qo.welcome.ListWelcomeQO;
import com.gic.haoban.manage.web.qo.welcome.SaveFriendSettingQO;
import com.gic.haoban.manage.web.qo.welcome.SaveWelcomeQO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* desc:欢迎语controller
*
* @author: YongEn
* @date: 2022/2/8
**/
@RestController
@RequestMapping("/welcome")
public class WelcomeController extends WebBaseController {
@Autowired
private WelcomeApiService welcomeApiService;
/**
* desc: 保存欢迎语
*
* @param qo qo
* @return : {@link RestResponse< Boolean>}
* @author : YongEn
* @date : 2022/2/11
*/
@RequestMapping(value = "/save", method = RequestMethod.POST)
public RestResponse<Boolean> saveWelcome(@RequestBody @Valid SaveWelcomeQO qo) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
SaveWelcomeQDTO qdto = new SaveWelcomeQDTO();
qdto.setWelcomeId(qo.getWelcomeId());
qdto.setWxEnterpriseId(qo.getWxEnterpriseId());
qdto.setTitle(qo.getTitle());
qdto.setWelcomeContent(qo.getWelcomeContent());
qdto.setMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaQDTO.class, qo.getMediaList()));
qdto.setOperatorId(login.getStaffDTO().getStaffId());
qdto.setOperatorName(login.getStaffDTO().getStaffName());
qdto.setSuitDepartmentAddList(qo.getSuitDepartmentAddList());
qdto.setSuitDepartmentDeleteList(qo.getSuitDepartmentDeleteList());
// 员工暂时不传
ServiceResponse<Boolean> response = welcomeApiService.saveWelcome(qdto);
return RestResponse.successResult(response.getResult());
}
/**
* desc: 删除欢迎语
*
* @param welcomeId 欢迎语id
* @return : {@link RestResponse< Boolean>}
* @author : YongEn
* @date : 2022/2/11
*/
@RequestMapping(value = "/remove", method = RequestMethod.GET)
public RestResponse<Boolean> removeWelcome(@RequestParam("welcomeId") String welcomeId) {
if (StringUtils.isEmpty(welcomeId)) {
RestResponse.failure(Constant.STRING_1, "欢迎语id为空", Boolean.FALSE);
}
ServiceResponse<Boolean> response = welcomeApiService.removeWelcome(welcomeId);
return RestResponse.successResult(response.getResult());
}
/**
* desc: 查询欢迎语列表
*
* @param qo qo
* @return : {@link RestResponse< List< WelcomeListDTO>>}
* @author : YongEn
* @date : 2022/2/11
*/
@RequestMapping(value = "/list", method = RequestMethod.POST)
public RestResponse<List<WelcomeListDTO>> listWelcome(@RequestBody @Valid ListWelcomeQO qo) {
ServiceResponse<List<WelcomeListDTO>> response = welcomeApiService.listWelcome(qo.getWxEnterpriseId(), qo.getTitle());
return RestResponse.successResult(response.getResult());
}
/**
* desc: 获取欢迎语
*
* @param welcomeId 欢迎语id
* @return : {@link RestResponse< WelcomeDetailDTO>}
* @author : YongEn
* @date : 2022/2/11
*/
@RequestMapping(value = "/get", method = RequestMethod.GET)
public RestResponse<WelcomeDetailDTO> getWelcome(@RequestParam("welcomeId") String welcomeId) {
if (StringUtils.isEmpty(welcomeId)) {
RestResponse.failure(Constant.STRING_1, "欢迎语id为空");
}
ServiceResponse<WelcomeDetailDTO> response = welcomeApiService.getWelcome(welcomeId);
return RestResponse.successResult(response.getResult());
}
/**
* desc: 保存加好友配置
*
* @param qo qo
* @return : {@link RestResponse< Boolean>}
* @author : YongEn
* @date : 2022/2/11
*/
@RequestMapping(value = "/save/friend-setting", method = RequestMethod.POST)
public RestResponse<Boolean> saveFriendSetting(@RequestBody @Valid SaveFriendSettingQO qo) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
SaveFriendSettingQDTO qdto = EntityUtil.changeEntityNew(SaveFriendSettingQDTO.class, qo);
qdto.setUpdateId(login.getStaffDTO().getStaffId());
qdto.setUpdateName(login.getStaffDTO().getStaffName());
ServiceResponse<Boolean> response = welcomeApiService.saveFriendSetting(qdto);
return RestResponse.successResult(response.getResult());
}
/**
* desc: 获取加好友配置
*
* @param wxEnterpriseId 微信企业id
* @return : {@link RestResponse< FriendSettingDetailDTO>}
* @author : YongEn
* @date : 2022/2/11
*/
@RequestMapping(value = "/get/friend-setting", method = RequestMethod.GET)
public RestResponse<FriendSettingDetailDTO> getFriendSetting(@RequestParam("wxEnterpriseId") String wxEnterpriseId) {
if (StringUtils.isEmpty(wxEnterpriseId)) {
RestResponse.failure(Constant.STRING_1, "微信企业id为空", Boolean.FALSE);
}
ServiceResponse<FriendSettingDetailDTO> response = welcomeApiService.getFriendSetting(wxEnterpriseId);
return RestResponse.successResult(response.getResult());
}
}
......@@ -20,7 +20,7 @@ import java.lang.reflect.Method;
* @author hua
*/
@ControllerAdvice
public class ResponseInterceptor implements ResponseBodyAdvice<HaobanResponse> {
public class ResponseInterceptor implements ResponseBodyAdvice<Object> {
private Logger logger = LoggerFactory.getLogger(ResponseInterceptor.class);
......@@ -33,7 +33,7 @@ public class ResponseInterceptor implements ResponseBodyAdvice<HaobanResponse> {
}
@Override
public HaobanResponse beforeBodyWrite(HaobanResponse haobanResponse, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
public Object beforeBodyWrite(Object haobanResponse, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
String response = JSONObject.toJSONString(haobanResponse);
logger.info("response:{}", response);
return haobanResponse;
......
package com.gic.haoban.manage.web.qo.welcome;
import org.hibernate.validator.constraints.NotEmpty;
import java.io.Serializable;
/**
* desc:列表查询欢迎语qo
*
* @author: YongEn
* @date: 2022/2/9
**/
public class ListWelcomeQO implements Serializable {
private static final long serialVersionUID = 5543264430718991071L;
/**
* 微信企业id
*/
@NotEmpty(message = "微信企业id不能为空")
private String wxEnterpriseId;
/**
* 标题
*/
private String title;
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Override
public String toString() {
return "ListWelcomeQO{" +
"wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
'}';
}
}
package com.gic.haoban.manage.web.qo.welcome;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* desc:保存加好友配置qo
*
* @author: YongEn
* @date: 2022/2/9
**/
public class SaveFriendSettingQO implements Serializable {
private static final long serialVersionUID = 6560502831024559400L;
/**
* 加好友配置id
*/
private Long friendSettingId;
/**
* 微信企业id
*/
@NotEmpty(message = "微信企业id不能为空")
private String wxEnterpriseId;
/**
* 欢迎语配置类型 :
* 1 发送好办欢迎语文案+小程序卡片(附带导购参数)
* 2 发送好办欢迎语文案+公众号二维码(附带导购参数)
* 3 发送好办欢迎语文案
* 4 不发送好办欢迎语,用企微欢迎语
*/
@NotNull(message = "加好友配置类型不能为空")
private Integer friendSettingType;
public Long getFriendSettingId() {
return friendSettingId;
}
public void setFriendSettingId(Long friendSettingId) {
this.friendSettingId = friendSettingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getFriendSettingType() {
return friendSettingType;
}
public void setFriendSettingType(Integer friendSettingType) {
this.friendSettingType = friendSettingType;
}
@Override
public String toString() {
return "SaveFriendSettingQO{" +
"friendSettingId=" + friendSettingId +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", friendSettingType=" + friendSettingType +
'}';
}
}
package com.gic.haoban.manage.web.qo.welcome;
import java.io.Serializable;
/**
* desc:保存欢迎语媒体qo
*
* @author: YongEn
* @date: 2022/2/10
**/
public class SaveWelcomeMediaQO implements Serializable {
private static final long serialVersionUID = -1182086560980625256L;
/**
* 媒体标题
*/
private String mediaTitle;
/**
* 媒体路径
*/
private String mediaUrl;
/**
* 媒体类型
* @see com.gic.haoban.manage.api.enums.WelcomeMediaTypeEnum
*/
private Integer mediaType;
public String getMediaTitle() {
return mediaTitle;
}
public void setMediaTitle(String mediaTitle) {
this.mediaTitle = mediaTitle;
}
public String getMediaUrl() {
return mediaUrl;
}
public void setMediaUrl(String mediaUrl) {
this.mediaUrl = mediaUrl;
}
public Integer getMediaType() {
return mediaType;
}
public void setMediaType(Integer mediaType) {
this.mediaType = mediaType;
}
@Override
public String toString() {
return "SaveWelcomeMediaQO{" +
"mediaTitle='" + mediaTitle + '\'' +
", mediaUrl='" + mediaUrl + '\'' +
", mediaType=" + mediaType +
'}';
}
}
package com.gic.haoban.manage.web.qo.welcome;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitDepartmentDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitStaffDTO;
import org.hibernate.validator.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
/**
* desc:保存欢迎语qo
*
* @author: YongEn
* @date: 2022/2/9
**/
public class SaveWelcomeQO implements Serializable {
private static final long serialVersionUID = 5563693523008686521L;
/**
* 欢迎语id
*/
private String welcomeId;
/**
* 微信企业id
*/
@NotEmpty(message = "微信企业id不能为空")
private String wxEnterpriseId;
/**
* 标题
*/
@NotEmpty(message = "标题不能为空")
private String title;
/**
* 内容
*/
@NotEmpty(message = "内容不能为空")
private String welcomeContent;
/**
* 媒体列表
*/
private List<SaveWelcomeMediaQO> mediaList;
/**
* 适用部门新增列表
*/
private List<WelcomeSuitDepartmentDTO> suitDepartmentAddList;
/**
* 适用部门删除列表
*/
private List<WelcomeSuitDepartmentDTO> suitDepartmentDeleteList;
/**
* 适用员工新增列表
*/
private List<WelcomeSuitStaffDTO> suitStaffAddList;
/**
* 适用员工删除列表
*/
private List<WelcomeSuitStaffDTO> suitStaffDeleteList;
public String getWelcomeId() {
return welcomeId;
}
public void setWelcomeId(String welcomeId) {
this.welcomeId = welcomeId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getWelcomeContent() {
return welcomeContent;
}
public void setWelcomeContent(String welcomeContent) {
this.welcomeContent = welcomeContent;
}
public List<SaveWelcomeMediaQO> getMediaList() {
return mediaList;
}
public void setMediaList(List<SaveWelcomeMediaQO> mediaList) {
this.mediaList = mediaList;
}
public List<WelcomeSuitDepartmentDTO> getSuitDepartmentAddList() {
return suitDepartmentAddList;
}
public void setSuitDepartmentAddList(List<WelcomeSuitDepartmentDTO> suitDepartmentAddList) {
this.suitDepartmentAddList = suitDepartmentAddList;
}
public List<WelcomeSuitDepartmentDTO> getSuitDepartmentDeleteList() {
return suitDepartmentDeleteList;
}
public void setSuitDepartmentDeleteList(List<WelcomeSuitDepartmentDTO> suitDepartmentDeleteList) {
this.suitDepartmentDeleteList = suitDepartmentDeleteList;
}
public List<WelcomeSuitStaffDTO> getSuitStaffAddList() {
return suitStaffAddList;
}
public void setSuitStaffAddList(List<WelcomeSuitStaffDTO> suitStaffAddList) {
this.suitStaffAddList = suitStaffAddList;
}
public List<WelcomeSuitStaffDTO> getSuitStaffDeleteList() {
return suitStaffDeleteList;
}
public void setSuitStaffDeleteList(List<WelcomeSuitStaffDTO> suitStaffDeleteList) {
this.suitStaffDeleteList = suitStaffDeleteList;
}
@Override
public String toString() {
return "SaveWelcomeQO{" +
"welcomeId='" + welcomeId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", title='" + title + '\'' +
", welcomeContent='" + welcomeContent + '\'' +
", mediaList=" + mediaList +
", suitDepartmentAddList=" + suitDepartmentAddList +
", suitDepartmentDeleteList=" + suitDepartmentDeleteList +
", suitStaffAddList=" + suitStaffAddList +
", suitStaffDeleteList=" + suitStaffDeleteList +
'}';
}
}
......@@ -91,5 +91,11 @@
interface="com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService" timeout="10000"
retries="0" check="false"/>
<dubbo:reference id="welcomeApiService"
interface="com.gic.haoban.manage.api.service.out.WelcomeApiService" timeout="10000"
retries="0" check="false"/>
</beans>
......@@ -106,16 +106,17 @@ public class ClerkController extends WebBaseController {
List<StaffDTO> resultlist = staffApiService.listByIds(staffIds);
Map<String, StaffDTO> map = com.gic.commons.util.CollectionUtil.toMap(resultlist, "staffId");
List<StaffDTO> resultList = new ArrayList<>();
List<StaffVO> resultList = new ArrayList<>();
for (StaffClerkRelationDTO staffClerkRelationDTO : list) {
StaffDTO dto = map.get(staffClerkRelationDTO.getStaffId());
StaffVO vo = EntityUtil.changeEntityByJSON(StaffVO.class, dto);
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getClerkCode());
if (clerk != null) {
long memberCount = distributeApiService.getClerkMemberCount(staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId);
logger.info("【获取会员数】enterpriseId={},clerkId={},storeId={},count={}", staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId, memberCount);
dto.setMemberCount(memberCount);
dto.setClerkId(clerk.getClerkId());
resultList.add(dto);
vo.setMemberCount(Integer.parseInt(memberCount + ""));
vo.setClerkId(clerk.getClerkId());
resultList.add(vo);
}
}
return resultResponse(HaoBanErrCode.ERR_1, resultList);
......@@ -184,6 +185,7 @@ public class ClerkController extends WebBaseController {
/**
* 会员小程序-获取后台认证配置
*
* @param wxEnterpriseId
* @return
*/
......@@ -202,6 +204,7 @@ public class ClerkController extends WebBaseController {
/**
* 会员小程序-获取后台认证配置
*
* @param wxEnterpriseId
* @param staffId
* @return
......@@ -660,7 +663,7 @@ public class ClerkController extends WebBaseController {
//精确查,根据手机号或者code,查找
@RequestMapping("query-clerk-list-by-code")
public HaobanResponse queryClerkListByCode(String keyword, String wxEnterpriseId, String staffId) {
if (StringUtils.isAnyBlank(staffId, wxEnterpriseId,keyword)) {
if (StringUtils.isAnyBlank(staffId, wxEnterpriseId, keyword)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
List<EnterpriseDetailDTO> list = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
......@@ -793,7 +796,7 @@ public class ClerkController extends WebBaseController {
return ret;
}
return ret.stream().filter(mid -> (!clerkIds.contains(mid.getClerkId()))).collect(
Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(n->n.getClerkId()))),ArrayList::new));
Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(n -> n.getClerkId()))), ArrayList::new));
}
//绑定
......@@ -1187,7 +1190,7 @@ public class ClerkController extends WebBaseController {
CustomerFriendMemberVO ret = new CustomerFriendMemberVO();
StaffDTO staffDTO = staffApiService.selectById(qo.getStaffId());
if (staffDTO == null) {
return RestResponse.failure(HaoBanErrCode.ERR_6.getCode()+"",HaoBanErrCode.ERR_6.getMsg());
return RestResponse.failure(HaoBanErrCode.ERR_6.getCode() + "", HaoBanErrCode.ERR_6.getMsg());
}
int friendCount = externalClerkRelatedApiService.countFriendCountByClerkId(qo.getWxEnterpriseId(), qo.getEnterpriseId(), staffDTO.getWxUserId(), qo.getClerkId());
int memberCount = customerApiService.countMember(qo.getEnterpriseId(), qo.getStoreId(), qo.getClerkId());
......@@ -1228,14 +1231,14 @@ public class ClerkController extends WebBaseController {
* @author mozhu
* @date 2021-12-29 10:42:24
*/
@RequestMapping(value = "getOpenIdByStaffId",method = {RequestMethod.POST,RequestMethod.GET})
@RequestMapping(value = "getOpenIdByStaffId", method = {RequestMethod.POST, RequestMethod.GET})
public RestResponse<String> getOpenIdByStaffId() {
String staffId = this.getLoginUser().getStaffId();
String wxEnterpriseId = this.getLoginUser().getWxEnterpriseId();
StaffDTO staffDTO = staffApiService.selectById(staffId);
if (staffDTO == null) {
int code = HaoBanErrCode.ERR_6.getCode();
return RestResponse.failure(String.valueOf(code),HaoBanErrCode.ERR_6.getMsg());
return RestResponse.failure(String.valueOf(code), HaoBanErrCode.ERR_6.getMsg());
}
String wxOpenId = staffDTO.getWxOpenId();
if (StringUtils.isNotBlank(wxOpenId)) {
......@@ -1244,15 +1247,15 @@ public class ClerkController extends WebBaseController {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
int code = HaoBanErrCode.ERR_400002.getCode();
return RestResponse.failure(String.valueOf(code),HaoBanErrCode.ERR_400002.getMsg());
return RestResponse.failure(String.valueOf(code), HaoBanErrCode.ERR_400002.getMsg());
}
String wxUserId = staffDTO.getWxUserId();
String openid = qywxUserApiService.getSelfOpenIdByUserId(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), wxUserId);
if (StringUtils.isBlank(openid)) {
int code = HaoBanErrCode.ERR_600003.getCode();
return RestResponse.failure(String.valueOf(code),HaoBanErrCode.ERR_600003.getMsg());
return RestResponse.failure(String.valueOf(code), HaoBanErrCode.ERR_600003.getMsg());
}
staffApiService.updateOpenIdByStaffId(staffId,openid);
staffApiService.updateOpenIdByStaffId(staffId, openid);
return RestResponse.successResult(openid);
}
}
package com.gic.haoban.manage.web.vo;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class StaffVO implements Serializable{
/**
* 员工id
*/
private String staffId;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 微信用户id
*/
private String wxUserId;
/**
* 手机号
*/
private String phoneNumber;
/**
* 员工姓名
*/
private String staffName;
/**
* 国家码
*/
private String nationCode;
/**
* 昵称
*/
private String nickName;
/**
* 性别
*/
private Integer sex;
/**
* 职位
*/
private String postion;
/**
* 激活状态
*/
private Integer activeFlag;
/**
* 对外职务
*/
private String extendPostion;
/**
* 状态
*/
private Integer statusFlag;
private Date createTime;
private Date updateTime;
private String departmentIds;
private String headImg;
private Integer sort;
private List<DepartmentDTO> departmentList;
private int bindFlag;
private String clerkCode;
private String staffDepartmentRelatedId;
private int clerkType;
private Integer syncPostionFlag;
private Integer superManagerFlag;
private Boolean weixinPush;
private int memberCount;
private String clerkId;
/**
* 关联状态 1 已关联 0 未关联
* 关联状态为 员工是否关联某门店导购
*/
private Integer relationFlag;
private static final long serialVersionUID = 1L;
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public int getClerkType() {
return clerkType;
}
public void setClerkType(int clerkType) {
this.clerkType = clerkType;
}
public String getStaffDepartmentRelatedId() {
return staffDepartmentRelatedId;
}
public void setStaffDepartmentRelatedId(String staffDepartmentRelatedId) {
this.staffDepartmentRelatedId = staffDepartmentRelatedId;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public int getBindFlag() {
return bindFlag;
}
public void setBindFlag(int bindFlag) {
this.bindFlag = bindFlag;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId == null ? null : staffId.trim();
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getExtendPostion() {
return extendPostion;
}
public void setExtendPostion(String extendPostion) {
this.extendPostion = extendPostion;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId == null ? null : wxUserId.trim();
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber == null ? null : phoneNumber.trim();
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName == null ? null : staffName.trim();
}
public String getNationCode() {
return nationCode;
}
public void setNationCode(String nationCode) {
this.nationCode = nationCode == null ? null : nationCode.trim();
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName == null ? null : nickName.trim();
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getPostion() {
return postion;
}
public void setPostion(String postion) {
this.postion = postion == null ? null : postion.trim();
}
public Integer getActiveFlag() {
return activeFlag;
}
public void setActiveFlag(Integer activeFlag) {
this.activeFlag = activeFlag;
}
public String getDepartmentIds() {
return departmentIds;
}
public void setDepartmentIds(String departmentIds) {
this.departmentIds = departmentIds;
}
public String getHeadImg() {
return headImg;
}
public void setHeadImg(String headImg) {
this.headImg = headImg;
}
public List<DepartmentDTO> getDepartmentList() {
return departmentList;
}
public void setDepartmentList(List<DepartmentDTO> departmentList) {
this.departmentList = departmentList;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public Integer getSyncPostionFlag() {
return syncPostionFlag;
}
public void setSyncPostionFlag(Integer syncPostionFlag) {
this.syncPostionFlag = syncPostionFlag;
}
public Integer getSuperManagerFlag() {
return superManagerFlag;
}
public void setSuperManagerFlag(Integer superManagerFlag) {
this.superManagerFlag = superManagerFlag;
}
public Boolean getWeixinPush() {
return weixinPush;
}
public void setWeixinPush(Boolean weixinPush) {
this.weixinPush = weixinPush;
}
public int getMemberCount() {
return memberCount;
}
public void setMemberCount(int memberCount) {
this.memberCount = memberCount;
}
public Integer getRelationFlag() {
return relationFlag;
}
public void setRelationFlag(Integer relationFlag) {
this.relationFlag = relationFlag;
}
}
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