招商 init

This commit is contained in:
苏竹红
2024-03-05 13:59:11 +08:00
parent 1816fdca39
commit c0789d6932
605 changed files with 217 additions and 48460 deletions

View File

@@ -1,18 +0,0 @@
package com.cool.store.dto.auth;
import lombok.Data;
import java.util.List;
/**
* describe:
*
* @author zhouyiping
* @date 2020/12/09
*/
@Data
public class AuthRegionStoreDTO {
String userId;
private List<AuthRegionStoreUserDTO> authRegionStoreUserList;
}

View File

@@ -1,38 +0,0 @@
package com.cool.store.dto.auth;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* describe:
*
* @author zhouyiping
* @date 2020/10/10
*/
@Data
public class AuthRegionStoreUserDTO {
private String id;
/**
* 名称
*/
private String name;
/**
* 是否是门店
*/
@JsonProperty("store_flag")
private Boolean storeFlag ;
/**
* 权限来源 create-数智门店创建 sync-钉钉同步
*/
private String source;
/**
* 门店类型区域对应的 门店id
*/
@JsonProperty("store_id")
private String storeId;
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.buser;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: UserEventDTO
* @Description:
* @date 2023-06-09 13:53
*/
@Data
public class UserEventDTO {
private String eventType;
private String userId;
private String openId;
private String unionId;
}

View File

@@ -1,23 +0,0 @@
package com.cool.store.dto.buser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: UserPositionAndUserScopeDTO
* @Description: 员工角色&获取线索范围
* @date 2023-06-19 16:33
*/
@Data
public class UserPositionAndUserScopeDTO {
@ApiModelProperty("招商经理用户ids")
private List<String> investmentUserIds;
@ApiModelProperty("开发经理用户ids")
private List<String> developmentUserIds;
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.buser;
import lombok.Data;
/**
* describe:
*
* @author zhouyiping
* @date 2020/11/06
*/
@Data
public class UserRoleDTO {
private String userId;
private String roleName;
private String roleAuth;
private Long roleId;
private Integer priority;
private String roleEnum;
}

View File

@@ -1,33 +0,0 @@
package com.cool.store.dto.calendar;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: CreateCalendarEventDTO
* @Description: 创建用户日程到用户主日历
* @date 2023-06-13 14:09
*/
@Data
public class CreateCalendarEventDTO {
@ApiModelProperty("发起人")
private String userId;
@ApiModelProperty("日程标题")
private String summary;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("截止时间")
private Long endTime;
@ApiModelProperty("参与者")
private List<String> joinUserIds;
}

View File

@@ -1,24 +0,0 @@
package com.cool.store.dto.calendar;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: DeleteCalendarEventDTO
* @Description:
* @date 2023-06-13 15:02
*/
@Data
public class DeleteCalendarEventDTO {
@ApiModelProperty("发起人id")
private String userId;
@ApiModelProperty("日历id")
private String calendarId;
@ApiModelProperty("事件id")
private String eventId;
}

View File

@@ -1,39 +0,0 @@
package com.cool.store.dto.calendar;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: CreateCalendarEventDTO
* @Description: 创建用户日程到用户主日历
* @date 2023-06-13 14:09
*/
@Data
public class UpdateCalendarEventDTO {
@ApiModelProperty("发起人id")
private String userId;
@ApiModelProperty("日历id")
private String calendarId;
@ApiModelProperty("事件id")
private String eventId;
@ApiModelProperty("日程标题")
private String summary;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("截止时间")
private Long endTime;
@ApiModelProperty("参与者")
private List<String> joinUserIds;
}

View File

@@ -1,42 +0,0 @@
package com.cool.store.dto.calendar;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: UserCalendarsEventVO
* @Description:
* @date 2023-06-13 11:18
*/
@Data
public class UserCalendarsEventDTO implements Comparable<UserCalendarsEventDTO>{
@ApiModelProperty("日历id")
private String calendarId;
@ApiModelProperty("日程id")
private String eventId;
@ApiModelProperty("日程标题")
private String summary;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("截止时间")
private Long endTime;
public UserCalendarsEventDTO(String calendarId, String eventId, String summary, Long startTime, Long endTime) {
this.calendarId = calendarId;
this.eventId = eventId;
this.summary = summary;
this.startTime = startTime;
this.endTime = endTime;
}
@Override
public int compareTo(UserCalendarsEventDTO other) {
return this.startTime.compareTo(other.getStartTime());
}
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.calendar;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: UserFreeBusyList
* @Description:
* @date 2023-06-13 10:06
*/
@Data
public class UserFreeBusyInfoDTO {
private Long startTime;
private Long endTime;
public UserFreeBusyInfoDTO(long startTime, long endTime) {
this.startTime = startTime;
this.endTime = endTime;
}
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.call;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: young.yu
* @Date: 2023-08-11 15:24
* @Description:
*/
@Data
public class CallUpDTO {
private String transNo;
private String outgoingMobile;
private String incomingMobile;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.common;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: IdParamDTO
* @Description:
* @date 2023-08-01 11:16
*/
@Data
public class IdParamDTO {
private Long id;
}

View File

@@ -1,18 +0,0 @@
package com.cool.store.dto.common;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: IdParamDTO
* @Description:
* @date 2023-08-01 11:16
*/
@Data
public class IdsParamDTO {
private List<Long> ids;
}

View File

@@ -1,32 +0,0 @@
package com.cool.store.dto.content;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ContentAddDto {
@ApiModelProperty(value = "标题", required = true)
private String contentTitle;
@ApiModelProperty(value = "状态,0.启用1.禁用", required = true)
private String status;
@ApiModelProperty(value = "栏目code", required = true)
private ContentSubjectEnum subject;
@ApiModelProperty(value = "类型", required = true)
private ContentTypeEnum contentType;
@ApiModelProperty(value = "封面地址", required = true)
private String cover;
@ApiModelProperty(value = "内容(文字信息或视频地址)", required = true)
private String content;
@ApiModelProperty(value = "创建用户id", required = true)
private String createUserId;
}

View File

@@ -1,12 +0,0 @@
package com.cool.store.dto.content;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ContentDelDto {
@ApiModelProperty("动态id")
private String contentId;
}

View File

@@ -1,12 +0,0 @@
package com.cool.store.dto.content;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ContentQueryDetailDto {
@ApiModelProperty("动态id")
private String contentId;
}

View File

@@ -1,29 +0,0 @@
package com.cool.store.dto.content;
import com.cool.store.common.PageBasicInfo;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class ContentQueryListDto extends PageBasicInfo {
@ApiModelProperty("标题")
private String contentTitle;
@ApiModelProperty("栏目Code")
private ContentSubjectEnum subject;
@ApiModelProperty("类型,默认选中全部时不传值")
private ContentTypeEnum contentType;
@ApiModelProperty("筛选开始时间")
private String startTime;
@ApiModelProperty("筛选结束时间")
private String endTime;
}

View File

@@ -1,12 +0,0 @@
package com.cool.store.dto.content;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ContentQueryTitlesDto {
@ApiModelProperty("用户输入标题")
private String title;
}

View File

@@ -1,35 +0,0 @@
package com.cool.store.dto.content;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ContentUpdateDto {
@ApiModelProperty(value = "动态id", required = true)
private String contentId;
@ApiModelProperty("标题")
private String contentTitle;
@ApiModelProperty("状态,0.启用1.禁用")
private String status;
@ApiModelProperty("栏目code")
private ContentSubjectEnum subject;
@ApiModelProperty("类型")
private ContentTypeEnum contentType;
@ApiModelProperty("封面地址")
private String cover;
@ApiModelProperty("内容(文字信息或视频地址)")
private String content;
@ApiModelProperty(value = "更新用户id", required = true)
private String updateUserId;
}

View File

@@ -1,24 +0,0 @@
package com.cool.store.dto.dept;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: DepartmentEventDTO
* @Description: 部门事件
* @date 2023-06-16 15:30
*/
@Data
public class DepartmentEventDTO {
@ApiModelProperty("部门id")
private String departmentId;
@ApiModelProperty("是否变更父级节点")
private Boolean isChangeParent;
@ApiModelProperty("事件类型")
private String eventType;
}

View File

@@ -1,21 +0,0 @@
package com.cool.store.dto.dept;
import lombok.Data;
import java.util.List;
/**
* @author 邵凌志
* @date 2020/12/2 14:17
*/
@Data
public class SyncTreeNode {
private String id;
private String pid;
private String name;
private List<SyncTreeNode> child;
}

View File

@@ -1,39 +0,0 @@
package com.cool.store.dto.enterprise;
import com.alibaba.fastjson.annotation.JSONField;
public class AgentInfoDTO {
@JSONField(name = "agentid")
private Long agentId;
@JSONField(name = "appid")
private Long appId;
@JSONField(name = "auth_mode")
private Integer authMode;
public Long getAgentId() {
return agentId;
}
public void setAgentId(Long agentId) {
this.agentId = agentId;
}
public Long getAppId() {
return appId;
}
public void setAppId(Long appId) {
this.appId = appId;
}
public Integer getAuthMode() {
return authMode;
}
public void setAuthMode(Integer authMode) {
this.authMode = authMode;
}
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.enterprise;
import com.alibaba.fastjson.annotation.JSONField;
import java.util.List;
/**
* 企业标识信息
*/
public class AuthAgentInfoDTO {
@JSONField(name = "agent")
private List<AgentInfoDTO> agentInfos;
public List<AgentInfoDTO> getAgentInfos() {
return agentInfos;
}
public void setAgentInfos(List<AgentInfoDTO> agentInfos) {
this.agentInfos = agentInfos;
}
}

View File

@@ -1,39 +0,0 @@
package com.cool.store.dto.enterprise;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
/**
* 授权企业信息
* @author zhangchenbiao
* @date 2022-01-18 04:40
*/
@Data
public class AuthCorpInfoDTO {
@JSONField(name = "corp_logo_url")
private String corpLogoUrl;
@JSONField(name = "corp_name")
private String corpName;
private String industry;
@JSONField(name = "auth_channel")
private String authChannel;
@JSONField(name = "auth_channel_type")
private String authChannelType;
@JSONField(name = "is_authenticated")
private boolean isAuthenticated;
@JSONField(name = "auth_level")
private int authLevel;
@JSONField(name = "corp_province")
private String corpProvince;
@JSONField(name = "corp_city")
private String corpCity;
}

View File

@@ -1,45 +0,0 @@
package com.cool.store.dto.enterprise;
import com.alibaba.fastjson.annotation.JSONField;
/**
* 企业开通授权信息
* @author zhangchenbiao
* @date 2022-01-18 04:40
*/
public class AuthInfoDTO {
@JSONField(name = "auth_corp_info")
private AuthCorpInfoDTO authCorpInfo;
@JSONField(name = "auth_user_info")
private AuthUserInfoDTO authUserInfo;
@JSONField(name = "auth_info")
private AuthAgentInfoDTO authAgentInfo;
public AuthCorpInfoDTO getAuthCorpInfo() {
return authCorpInfo;
}
public void setAuthCorpInfo(AuthCorpInfoDTO authCorpInfo) {
this.authCorpInfo = authCorpInfo;
}
public AuthUserInfoDTO getAuthUserInfo() {
return authUserInfo;
}
public void setAuthUserInfo(AuthUserInfoDTO authUserInfo) {
this.authUserInfo = authUserInfo;
}
public AuthAgentInfoDTO getAuthAgentInfo() {
return authAgentInfo;
}
public void setAuthAgentInfo(AuthAgentInfoDTO authAgentInfo) {
this.authAgentInfo = authAgentInfo;
}
}

View File

@@ -1,36 +0,0 @@
package com.cool.store.dto.enterprise;
import java.util.List;
/**
* 钉钉通讯录授权范围
* @author zhangchenbiao
* @date 2022-01-18 04:40
*/
public class AuthScopeDTO {
/**
* 部门id
*/
private List<String> deptIdList;
/**
* 用户id
*/
private List<String> userIdList;
public List<String> getDeptIdList() {
return deptIdList;
}
public void setDeptIdList(List<String> deptIdList) {
this.deptIdList = deptIdList;
}
public List<String> getUserIdList() {
return userIdList;
}
public void setUserIdList(List<String> userIdList) {
this.userIdList = userIdList;
}
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.enterprise;
import com.alibaba.fastjson.annotation.JSONField;
/**
* 授权用户信息
* @author zhangchenbiao
* @date 2022-01-18 04:40
*/
public class AuthUserInfoDTO {
@JSONField(name = "userId")
private String userId;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}

View File

@@ -1,206 +0,0 @@
package com.cool.store.dto.enterprise;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.enums.FSEventTypeEnum;
import com.cool.store.enums.UserStatusEnum;
import com.cool.store.utils.UUIDUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.*;
/**
*
* @author zhangchenbiao
* @date 2022-01-18 04:40
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EnterpriseUserDTO implements Serializable {
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("用户主键id")
private Long id;
@ApiModelProperty("钉钉用户id")
private String userId;
@ApiModelProperty("飞书 user_id")
private String feishuUserId;
@ApiModelProperty("手机号码")
private String mobile;
@ApiModelProperty("")
private String name;
@ApiModelProperty("是否是主管理员01")
private Boolean mainAdmin;
@ApiModelProperty("是否为企业的管理员, true表示是, false表示不是")
private Boolean isAdmin;
@ApiModelProperty("员工的电子邮箱")
private String email;
@ApiModelProperty("在当前isv全局范围内唯一标识一个用户的身份,用户无法修改")
private String unionid;
@ApiModelProperty("是否号码隐藏, true表示隐藏, false表示不隐藏")
private Boolean isHide;
@ApiModelProperty("职务")
private String jobTitle;
@ApiModelProperty("员工的企业邮箱")
private String orgEmail;
@ApiModelProperty("头像url")
private String avatar;
@ApiModelProperty("")
private String roles;
@ApiModelProperty("是否是部门的主管, true表示是, false表示不是")
private Boolean isLeader;
@ApiModelProperty("用户创建时间")
private Date createTime;
@ApiModelProperty("第三方OA系统唯一标识")
private String thirdOaUniqueFlag;
@ApiModelProperty("")
private String orderInDepts;
@ApiModelProperty("")
private List<String> isLeaderInDepts;
@ApiModelProperty("")
private String monitoredDepartments;
@ApiModelProperty("工号")
private String jobnumber;
private String openUserid;
@ApiModelProperty("用户所属部门")
private List<String> departmentLists;
public static List<EnterpriseUserDO> transUserDtoToDo(List<EnterpriseUserDTO> userList, Map<String, String> regionPathMap, Multimap<String, String> leaderDeptMap, Multimap<String, String> roleUserMap) {
if(CollectionUtils.isEmpty(userList)){
return Lists.newArrayList();
}
List<EnterpriseUserDO> resultList = new ArrayList<>();
for (EnterpriseUserDTO user : userList) {
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
enterpriseUserDO.setUserId(user.getUserId());
enterpriseUserDO.setFeishuUserId(user.getFeishuUserId());
enterpriseUserDO.setName(user.getName());
enterpriseUserDO.setRemark(user.getRemark());
if(StringUtils.isNotBlank(user.getMobile())){
enterpriseUserDO.setMobile(user.getMobile().replace("+86", ""));
}
enterpriseUserDO.setEmail(user.getEmail());
enterpriseUserDO.setOrgEmail(user.getOrgEmail());
enterpriseUserDO.setMainAdmin(user.getMainAdmin());
enterpriseUserDO.setIsAdmin(user.getIsAdmin());
enterpriseUserDO.setUnionid(user.getUnionid());
enterpriseUserDO.setAvatar(user.getAvatar());
enterpriseUserDO.setJobnumber(user.getJobnumber());
enterpriseUserDO.setUserStatus(UserStatusEnum.NORMAL.getCode());
enterpriseUserDO.setIsLeader(Boolean.FALSE);
enterpriseUserDO.setLeaderDeptIds("[]");
List<String> departmentLists = user.getDepartmentLists();
List<String> regionPaths = new ArrayList<>();
if(CollectionUtils.isNotEmpty(departmentLists)){
for (String departmentId : departmentLists) {
String regionPath = regionPathMap.get(departmentId);
if(StringUtils.isNotBlank(regionPath)){
regionPaths.add(regionPath);
}
}
}
//挂跟节点
if(CollectionUtils.isEmpty(regionPaths)){
regionPaths.add(CommonConstants.ROOT_REGION_PATH);
}
Collection<String> deptIds = leaderDeptMap.get(user.getUserId());
if(CollectionUtils.isNotEmpty(deptIds)){
enterpriseUserDO.setIsLeader(Boolean.TRUE);
enterpriseUserDO.setLeaderDeptIds(JSONObject.toJSONString(deptIds));
}
enterpriseUserDO.setUserRegionIds(JSONObject.toJSONString(regionPaths));
enterpriseUserDO.setDeleted(Boolean.FALSE);
enterpriseUserDO.setCreateTime(new Date());
if(StringUtils.isNotBlank(user.getJobTitle())){
roleUserMap.put(user.getJobTitle(), user.getUserId());
}
resultList.add(enterpriseUserDO);
}
return resultList;
}
public static EnterpriseUserDO transUserDtoToDo(EnterpriseUserDTO user, Map<String, String> regionPathMap, Multimap<String, String> leaderDeptMap, FSEventTypeEnum eventType) {
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
enterpriseUserDO.setUserId(user.getUserId());
enterpriseUserDO.setName(user.getName());
enterpriseUserDO.setRemark(user.getRemark());
if(StringUtils.isNotBlank(user.getMobile())){
enterpriseUserDO.setMobile(user.getMobile().replace("+86", ""));
}
enterpriseUserDO.setEmail(user.getEmail());
enterpriseUserDO.setOrgEmail(user.getOrgEmail());
enterpriseUserDO.setMainAdmin(user.getMainAdmin());
enterpriseUserDO.setIsAdmin(user.getIsAdmin());
enterpriseUserDO.setUnionid(user.getUnionid());
enterpriseUserDO.setFeishuUserId(user.getFeishuUserId());
enterpriseUserDO.setAvatar(user.getAvatar());
enterpriseUserDO.setJobnumber(user.getJobnumber());
enterpriseUserDO.setUserStatus(UserStatusEnum.NORMAL.getCode());
List<String> departmentLists = user.getDepartmentLists();
List<String> regionPaths = new ArrayList<>();
if(CollectionUtils.isNotEmpty(departmentLists)){
for (String departmentId : departmentLists) {
String regionPath = regionPathMap.get(departmentId);
if(StringUtils.isNotBlank(regionPath)){
regionPaths.add(regionPath);
}
}
}
if(CollectionUtils.isEmpty(regionPaths)){
regionPaths.add(CommonConstants.ROOT_REGION_PATH);
}
//创建的时候给个默认值
if(FSEventTypeEnum.USER_CREATED.equals(eventType)){
enterpriseUserDO.setIsLeader(Boolean.FALSE);
enterpriseUserDO.setLeaderDeptIds("[]");
}
Collection<String> deptIds = leaderDeptMap.get(user.getUserId());
if(CollectionUtils.isNotEmpty(deptIds)){
enterpriseUserDO.setIsLeader(Boolean.TRUE);
enterpriseUserDO.setLeaderDeptIds(JSONObject.toJSONString(deptIds));
}
enterpriseUserDO.setUserRegionIds(JSONObject.toJSONString(regionPaths));
enterpriseUserDO.setDeleted(Boolean.FALSE);
enterpriseUserDO.setCreateTime(new Date());
return enterpriseUserDO;
}
}

View File

@@ -1,32 +0,0 @@
package com.cool.store.dto.enterprise;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @ClassName EnterpriseUserRole
* @Description 用一句话描述什么
* @author 首亮
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class EnterpriseUserRole {
private Long id;
private String roleId;
private String userId;
//创建时间
private Date createTime;
//更新时间
public EnterpriseUserRole(String roleId, String userId) {
this.roleId = roleId;
this.userId = userId;
this.createTime = new Date();
}
private Date updateTime;
}

View File

@@ -1,23 +0,0 @@
package com.cool.store.dto.enterprise;
import lombok.Data;
/**
* @author 邵凌志
* @date 2020/12/9 16:29
*/
@Data
public class QueryDeptChildDTO {
private String id;
private String parentId;
private String name;
/**
* 部门次序
*/
private Integer departOrder;
private String path;
}

View File

@@ -1,253 +0,0 @@
package com.cool.store.dto.enterprise;
import com.cool.store.constants.CommonConstants;
import com.cool.store.entity.RegionDO;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
* @ClassName SysDepartmentDO
* @Description
* @author 王春辉
*/
@Data
public class SysDepartmentDTO {
/**
* 部门id
*/
private String id;
/**
* 部门名称
*/
private String name;
/**
* 父部门id根部门为1
*/
private String parentId;
/**
* 在父部门中的次序值
*/
private Integer departOrder;
/**
* 是否同步创建一个关联此部门的企业群, true表示是, false表示不是
*/
private Boolean createDeptGroup;
/**
* 当群已经创建后,是否有新人加入部门会自动加入该群, true表示是, false表示不是
*/
private Boolean autoAddUser;
/**
* 是否隐藏部门, true表示隐藏, false表示显示
*/
private Boolean depHiding;
/**
* 可以查看指定隐藏部门的其他部门列表如果部门隐藏则此值生效取值为其他的部门id组成的的字符串使用|符号进行分割
*/
private String deptPerimits;
/**
* 可以查看指定隐藏部门的其他人员列表如果部门隐藏则此值生效取值为其他的人员userid组成的的字符串使用|符号进行分割
*/
private String userPerimits;
/**
* 是否本部门的员工仅可见员工自己, 为true时本部门员工默认只能看到员工自己
*/
private Boolean outerDept;
/**
* 本部门的员工仅可见员工自己为true时可以配置额外可见部门值为部门id组成的的字符串使用|符号进行分割
*/
private String outerPermitDepts;
/**
* 本部门的员工仅可见员工自己为true时可以配置额外可见人员值为userid组成的的字符串使用| 符号进行分割
*/
private String outerPermitUsers;
/**
* 企业群群主
*/
private String orgDeptOwner;
/**
* 部门的主管列表,取值为由主管的userid组成的字符串不同的userid使用|符号进行分割
*/
private List<String> deptManagerUseridList;
/**
* 该部门下所有的用户数,包括子部门
*/
private Integer userCount;
/**
* 部门下所有未激活的用户数,包括子部门
*/
private Integer unactiveUserCount;
/**
* 父级部门ids
*/
private String parentIds;
/**
* 子部门ids
*/
private String subIds;
private String leaderUserId;
public SysDepartmentDTO() {
}
/**
* 构造函数
*
* @param nodeId 节点Id
*/
public SysDepartmentDTO(String nodeId) {
this.id = nodeId;
}
/**
* 构造函数
*
* @param nodeId 节点Id
* @param parentId 父节点Id
*/
public SysDepartmentDTO(String nodeId, String parentId) {
this.id = nodeId;
this.parentId = parentId;
}
/**
* 设置部门名称
*
* @param name 部门名称
*/
public void setName(String name) {
if (StringUtils.isNotBlank(name)) {
this.name = name.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", "");
if (StringUtils.isBlank(this.name)) {
this.name = "";
}
}
}
/**
* 获取父部门id根部门为1
*
* @return parent_id - 父部门id根部门为1
*/
public String getParentId() {
if (id.equals(CommonConstants.ROOT_DEPT_ID_STR)) {
return null;
}
return parentId;
}
@Override
public String toString() {
return "SysDepartment{" +
"id=" + id +
", parentId=" + parentId + ",name='" + name + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SysDepartmentDTO that = (SysDepartmentDTO) o;
return Objects.equals(id, that.id);
}
@Override
public int hashCode() {
return Objects.hash(id);
}
public static List<RegionDO> convertRegionDO(List<SysDepartmentDTO> departmentList, Multimap<String, String> leaderDeptMap){
if(CollectionUtils.isEmpty(departmentList)){
return Lists.newArrayList();
}
Map<String, String> parentMap = departmentList.stream().collect(Collectors.toMap(SysDepartmentDTO::getId, SysDepartmentDTO::getParentId));
List<RegionDO> resultList = new ArrayList<>();
for (SysDepartmentDTO dept : departmentList) {
RegionDO region = new RegionDO();
region.setRegionId(dept.getId());
region.setName(dept.getName());
region.setParentId(dept.getParentId());
region.setUnclassifiedFlag(CommonConstants.ZERO);
region.setLeaderUserId(dept.getLeaderUserId());
region.setOrderNum(dept.getDepartOrder());
region.setThirdDeptId(dept.getId());
region.setCreateTime(new Date());
region.setUpdateTime(new Date());
List<String> pathIds = new ArrayList<>();
pathIds.add(region.getRegionId());
String parentId = parentMap.get(region.getRegionId());
while (Objects.nonNull(parentId)){
pathIds.add(parentId);
parentId = parentMap.get(parentId);
}
Collections.reverse(pathIds);
String regionPath = CommonConstants.PATH_SPILT + String.join(CommonConstants.PATH_SPILT, pathIds) + CommonConstants.PATH_SPILT;
region.setRegionPath(regionPath);
region.setDeleted(Boolean.FALSE);
if(CollectionUtils.isNotEmpty(dept.getDeptManagerUseridList())){
for (String leader : dept.getDeptManagerUseridList()) {
leaderDeptMap.put(leader, dept.getId());
}
}
resultList.add(region);
}
return resultList;
}
public static RegionDO convertRegionDO(SysDepartmentDTO dept, Multimap<String, String> leaderDeptMap, RegionDO parentRegion){
RegionDO region = new RegionDO();
region.setRegionId(dept.getId());
region.setName(dept.getName());
region.setParentId(dept.getParentId());
region.setUnclassifiedFlag(CommonConstants.ZERO);
region.setLeaderUserId(dept.getLeaderUserId());
region.setOrderNum(dept.getDepartOrder());
region.setThirdDeptId(dept.getId());
region.setCreateTime(new Date());
region.setUpdateTime(new Date());
String regionPath = parentRegion.getRegionPath() + region.getRegionId() + CommonConstants.PATH_SPILT;
region.setRegionPath(regionPath);
region.setDeleted(Boolean.FALSE);
if(CollectionUtils.isNotEmpty(dept.getDeptManagerUseridList())){
for (String leader : dept.getDeptManagerUseridList()) {
leaderDeptMap.put(leader, dept.getId());
}
}
return region;
}
}

View File

@@ -1,17 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/11/30 15:30
* @Version 1.0
*/
@Data
public class CollaboratorDTO {
private String collaborateId;
private String collaborateName;
}

View File

@@ -1,36 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/11/30 15:33
* @Version 1.0
*/
@Data
public class ExhibitionDTO {
private String exhibitionName;
private String location;
private String startDate;
private Integer id;
private Date closeTime;
private Integer exhibitionGroupId;
private String collaboratorStr;
private String creator;
private Integer closedType;
private List<CollaboratorDTO> collaborators;
}

View File

@@ -1,19 +0,0 @@
package com.cool.store.dto.exhibition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/11/30 15:03
* @version 1.0
*/
@Data
public class ExhibitionEnterInterviewDTO {
@ApiModelProperty("线索id")
private String partnerLineId;
@ApiModelProperty("会销id")
private Integer exhibitionId;
}

View File

@@ -1,21 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/11/30 15:57
* @Version 1.0
*/
@Data
public class ExhibitionGroupDTO {
private Integer exhibitionGroupId;
private String exhibitionGroupName;
private List<ExhibitionDTO> exhibitionList;
}

View File

@@ -1,28 +0,0 @@
package com.cool.store.dto.exhibition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2024/1/4 17:09
* @version 1.0
*/
@Data
public class ExhibitionInterviewInfoDTO {
@ApiModelProperty("相关的会销面试发起人 userId")
private String userId;
@ApiModelProperty("相关的会销面试发起人姓名")
private String exhibitionInterviewerName;
@ApiModelProperty("相关的会销面试发起人手机号")
private String exhibitionInterviewerMobile;
@ApiModelProperty("会销面试计划 id")
private String exhibitionInterviewPlanId;
@ApiModelProperty("会销面试发起时间")
private String exhibitionInterviewTime;
}

View File

@@ -1,23 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/12/8 16:56
* @Version 1.0
*/
@Data
public class ExhibitionLineBaseDTO {
private String partnerName;
private String mobile;
private String partnerId;
private Integer participationStatus;
}

View File

@@ -1,43 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/12/6 17:13
* @Version 1.0
*/
@Data
public class ExhibitionLineDTO {
private String partnerId;
private String partnerName;
private String mobile;
private String exhibitionId;
private Long lineId;
private Integer wantShopArea;
private String wantShopAreaName;
private Integer participationStatus;
private String channelName;
private Integer id;
private Long planId;
private Integer expectedVisitorsCount;
private String expectedInformation;
private String customerManager;
private Integer channelId;
}

View File

@@ -1,48 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/12/5 16:53
* @Version 1.0
*/
@Data
public class ExhibitionStatisticsDTO {
/**
* 展会code
*/
private Integer exhibitionId;
/**
* 报名人数
*/
private Integer signUpCount;
/**
* 签到人数
*/
private Integer checkInCount;
/**
*
* 意向申请填写人数
*/
private Integer formFillCount;
/**
* 面试人数
*/
private Integer interviewCount;
public ExhibitionStatisticsDTO(){
this.checkInCount = 0;
this.signUpCount = 0;
this.formFillCount = 0;
this.interviewCount = 0;
}
}

View File

@@ -1,43 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/12/5 20:16
* @Version 1.0
*/
@Data
public class MyExhibitionGroupDTO {
/**
* 会销组名称
*/
private String exhibitionGroupName;
/**
* 会销组ID
*/
private Integer id;
/**
* 创建人ID
*/
private String createId;
/**
* 创建人名称
*/
private String createName;
/**
* 创建人手机号
*/
private String mobile;
/**
* 是否结束
*/
private Integer closed;
}

View File

@@ -1,17 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/12/13 13:25
* @Version 1.0
*/
@Data
public class PartnerSignUpDTO {
private Long lineId;
private Integer count;
}

View File

@@ -1,26 +0,0 @@
package com.cool.store.dto.exhibition;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/12/11 11:11
* @Version 1.0
*/
@Data
public class SignUpExhibitionDTO {
private String partnerName;
private String mobile;
private String wantShopArea;
private String intendedAccountManager;
private Integer exhibitionId;
private Integer expectedVisitorsCount;
private String expectedInformation;
}

View File

@@ -1,42 +0,0 @@
package com.cool.store.dto.follow;
import com.cool.store.constants.MessageConstants;
import com.cool.store.utils.StringUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.text.MessageFormat;
/**
* @author zhangchenbiao
* @FileName: FollowTaskNumDTO
* @Description:
* @date 2023-08-14 16:01
*/
@Data
public class FollowTaskNumDTO {
@ApiModelProperty("任务跟进人id")
private String followUserId;
@ApiModelProperty("未完成数量")
private Integer todoNum;
@ApiModelProperty("逾期数量")
private Integer overdueNum;
public static String getMessageContent(FollowTaskNumDTO followTask){
if(followTask.getTodoNum() > 0 && followTask.getOverdueNum() > 0){
return MessageFormat.format(MessageConstants.FOLLOW_TASK_MESSAGE_CONTENT_1, followTask.getTodoNum(), followTask.getOverdueNum());
}
if(followTask.getTodoNum() == 0 && followTask.getOverdueNum() > 0){
return MessageFormat.format(MessageConstants.FOLLOW_TASK_MESSAGE_CONTENT_2, followTask.getOverdueNum());
}
if(followTask.getTodoNum() > 0 && followTask.getOverdueNum() == 0){
return MessageFormat.format(MessageConstants.FOLLOW_TASK_MESSAGE_CONTENT_3, followTask.getTodoNum());
}
return StringUtil.EMPTY;
}
}

View File

@@ -1,25 +0,0 @@
package com.cool.store.dto.inspection.interview;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:47
*/
@Data
public class InspectionRevocationDTO {
@ApiModelProperty("稽核信息Id")
private Long inspectionId;
@ApiModelProperty("操作说明")
private String description;
@ApiModelProperty("多凭证文件链接集合")
private List<String> files;
}

View File

@@ -1,29 +0,0 @@
package com.cool.store.dto.inspection.interview;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author Fun Li
* @version 1.0
* @date 2023/7/19 17:05
*/
@Data
public class InspectionSubmissionDTO {
@ApiModelProperty(value = "稽核信息表id", required = true)
private Long inspectionId;
@ApiModelProperty(value = "是否合格0为不合格1为合格", required = true)
private Integer whetherPass;
@ApiModelProperty("稽核说明,仅当不合格时为必传项")
private String description;
@ApiModelProperty("稽核多凭证文件链接")
private List<String> files;
}

View File

@@ -1,25 +0,0 @@
package com.cool.store.dto.inspection.setting;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: AddInspectionSettingDTO
* @Description: 新增稽核区域设置
* @date 2023-07-17 14:40
*/
@Data
public class AddInspectionSettingDTO {
@ApiModelProperty("区域名称")
private String zoneName;
@ApiModelProperty("稽核人id")
private String inspectionUserId;
@ApiModelProperty("归属地ids")
private List<Long> openAreaMappingIds;
}

View File

@@ -1,23 +0,0 @@
package com.cool.store.dto.inspection.setting;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: DeleteInspectionSettingDTO
* @Description: 删除稽核区域设置
* @date 2023-07-17 14:41
*/
@Data
public class CheckInspectionSettingDTO {
@ApiModelProperty("id")
private Long inspectionSettingId;
@ApiModelProperty("归属地ids")
private List<Long> openAreaMappingIds;
}

View File

@@ -1,18 +0,0 @@
package com.cool.store.dto.inspection.setting;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: DeleteInspectionSettingDTO
* @Description: 删除稽核区域设置
* @date 2023-07-17 14:41
*/
@Data
public class DeleteInspectionSettingDTO {
@ApiModelProperty("id")
private Long inspectionSettingId;
}

View File

@@ -1,29 +0,0 @@
package com.cool.store.dto.inspection.setting;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: UpdateInspectionSettingDTO
* @Description: 更新稽核区域设置
* @date 2023-07-17 14:41
*/
@Data
public class UpdateInspectionSettingDTO {
@ApiModelProperty("id")
private Long inspectionSettingId;
@ApiModelProperty("区域名称")
private String zoneName;
@ApiModelProperty("稽核人id")
private String inspectionUserId;
@ApiModelProperty("归属地ids")
private List<Long> openAreaMappingIds;
}

View File

@@ -1,19 +0,0 @@
package com.cool.store.dto.label;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/8/10 15:55
* @version 1.0
*/
@Data
public class LabelAddDTO {
@ApiModelProperty(value = "标签名称", required = true)
private String labelName;
@ApiModelProperty(value = "标签组id", required = true)
private Long labelGroupId;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.label;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/8/10 16:43
* @version 1.0
*/
@Data
public class LabelDeleteDTO {
@ApiModelProperty(value = "标签id", required = true)
private Long id;
}

View File

@@ -1,19 +0,0 @@
package com.cool.store.dto.label;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Fun Li 2023/8/10 13:28
* @version 1.0
*/
@Data
public class LabelGroupAddDTO {
@ApiModelProperty(value = "标签组名称", required = true)
private @NotBlank(message = "镖标签组名称不能为空")
String labelGroupName;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.label;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/8/10 13:29
* @version 1.0
*/
@Data
public class LabelGroupDeleteDTO {
@ApiModelProperty("id")
private Long id;
}

View File

@@ -1,19 +0,0 @@
package com.cool.store.dto.label;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author Fun Li 2023/8/10 13:29
* @version 1.0
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class LabelGroupListDTO extends PageBasicInfo {
@ApiModelProperty(value = "标签组名称", required = false)
private String labelGroupName;
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.label;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Fun Li 2023/8/10 13:30
* @version 1.0
*/
@Data
public class LabelGroupUpdateDTO {
@ApiModelProperty(value = "id", required = true)
private Long id;
@ApiModelProperty(value = "标签组名称", required = true)
private @NotBlank(message = "标签组名称不能为空")
String labelGroupName;
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.label;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author Fun Li 2023/8/10 14:46
* @version 1.0
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class LabelListDTO extends PageBasicInfo {
@ApiModelProperty(value = "标签名称")
private String labelName;
@ApiModelProperty(value = "标签组id")
private Long labelGroupId;
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.label;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/8/10 16:03
* @version 1.0
*/
@Data
public class LabelUpdateDTO {
@ApiModelProperty(value = "标签id", required = true)
private Long id;
@ApiModelProperty(value = "标签名称", required = true)
private String labelName;
@ApiModelProperty(value = "标签组id", required = true)
private Long labelGroupId;
}

View File

@@ -1,28 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/7/4 10:05
* @Version 1.0
*/
@Data
@Builder
public class AddTagsDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private List<String> addLabels;
private List<String> removeLabels;
}

View File

@@ -1,23 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 15:52
* @Version 1.0
*/
@Data
@Builder
public class AllocationInvestmentManagerLogDTO {
private String allocationUserId;
private String allocationUsername;
private String mobile;
private String operateTime;
}

View File

@@ -1,26 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @author Fun Li 2023/12/12 15:48
* @version 1.0
*/
@Data
@Builder
public class ApproveAppointmentDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private String rawInterviewDateTime;
private String interviewPlanId;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @author Fun Li 2023/12/12 17:53
* @version 1.0
*/
@Data
@Builder
public class AutoOpenInterviewRoomDTO {
private String operateTime;
}

View File

@@ -1,25 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 16:51
* @Version 1.0
*/
@Data
@Builder
public class BlackListLogDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private String reason;
}

View File

@@ -1,18 +0,0 @@
package com.cool.store.dto.log;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-08-16 11:41
* @Description:
*/
@Data
@SuperBuilder
public class CallUpLogDTO extends LogBasicDTO{
private String transNo;
private String incomingUserId;
private String incomingUserName;
}

View File

@@ -1,31 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 19:46
* @Version 1.0
*/
@Data
@Builder
public class CloseOrPassFollowLogDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private String passReason;
private String certifyFile;
private String rejectPublicReason;
private String rejectRealReason;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:54
* @Description:
*/
@Data
@SuperBuilder
public class CreateQualifyVerifyDTO extends LogBasicDTO{
private String summary;
private String qualiVerifyContent;
}

View File

@@ -1,18 +0,0 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:31
* @Description:
*/
@Data
@SuperBuilder
public class EntrustOthersDTO extends LogBasicDTO{
private String beforeInterviwerName;
private String beforeInterviwerMobile;
private String afterInterviwerName;
private String afterInterviwerMobile;
}

View File

@@ -1,114 +0,0 @@
package com.cool.store.dto.log;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.entity.HyPartnerTaskInfoLogDO;
import com.cool.store.enums.OperateLogFieldValueEnum;
import com.cool.store.enums.OperateTypeEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.util.*;
/**
* @author zhangchenbiao
* @FileName: LineLogInfo
* @Description:
* @date 2023-06-27 13:44
*/
@Slf4j
@Data
public class LineLogInfo<T> {
@ApiModelProperty("hy_partner_user_info.partner_id")
private String partnerId;
@ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId;
@ApiModelProperty("操作人id")
private String operateUserId;
@ApiModelProperty("操作人姓名")
private String operateUsername;
@ApiModelProperty("操作类型")
private OperateTypeEnum operateType;
@ApiModelProperty("流程阶段:意向申请审核、预约面试时间、加盟资格面试、分配选址开发经理、商圈点位评估、上传店铺租赁信息、完善加盟签约信息、支付加盟费用、签订加盟合同")
private WorkflowStageEnum workflowStage;
@ApiModelProperty("流程子状态")
private String workflowStatus;
@ApiModelProperty("备注")
private String message;
@ApiModelProperty("数据处理字段")
private T data;
public LineLogInfo(){
}
public LineLogInfo(String partnerId, Long partnerLineId, String operateUserId, String operateUsername,
OperateTypeEnum operateType, WorkflowStageEnum workflowStage,
String workflowStatus, String message) {
this.partnerId = partnerId;
this.partnerLineId = partnerLineId;
this.operateUserId = operateUserId;
this.operateUsername = operateUsername;
this.operateType = operateType;
this.workflowStage = workflowStage;
this.workflowStatus = workflowStatus;
this.message = message;
}
public static boolean checkParams(LineLogInfo params){
//部分操作没有操作人,这里不再校验操作人
if(StringUtils.isAnyBlank(params.getPartnerId())){
log.info("lineLogInfo string:{}", JSONObject.toJSONString(params));
return false;
}
if(Objects.isNull(params.getOperateType()) || Objects.isNull(params.getWorkflowStage()) || Objects.isNull(params.getWorkflowStatus())){
log.info("lineLogInfo enum is null:{}", JSONObject.toJSONString(params));
return false;
}
return true;
}
public static HyPartnerTaskInfoLogDO convertDO(LineLogInfo params){
OperateTypeEnum operateType = params.getOperateType();
HyPartnerTaskInfoLogDO result = new HyPartnerTaskInfoLogDO();
result.setPartnerId(params.getPartnerId());
result.setPartnerLineId(params.getPartnerLineId());
result.setOperateType(params.getOperateType().getCode());
result.setWorkflowStage(params.getWorkflowStage().getCode());
result.setWorkflowStatus(params.getWorkflowStatus());
result.setOperateUserId(params.getOperateUserId());
result.setOperateUsername(params.getOperateUsername());
result.setMessage(params.getMessage());
result.setCreateTime(new Date());
result.setUpdateTime(new Date());
Object data = params.getData();
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(data));
List<OperateLogFieldValueEnum> filedList = operateType.getFiledList();
List<Map<String, Object>> fieldMapList = new ArrayList<>();
for (OperateLogFieldValueEnum field : filedList) {
Map<String, Object> fieldMap = new HashMap<>();
if(jsonObject.get(field.getCode())==null){
continue;
}
fieldMap.put("code",field.getCode());
fieldMap.put("name",field.getName());
fieldMap.put("value",jsonObject.get(field.getCode()));
fieldMapList.add(fieldMap);
}
result.setFieldCopy(JSONObject.toJSONString(fieldMapList));
return result;
}
}

View File

@@ -1,22 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-27 23:00
* @Description:
*/
@Data
@SuperBuilder
public class LogBasicDTO {
private String operateUsername;
private String operateUserId;
private String mobile;
private String operateTime;
}

View File

@@ -1,15 +0,0 @@
package com.cool.store.dto.log;
import lombok.Data;
/**
* @Author: young.yu
* @Date: 2023-06-28 15:32
* @Description:
*/
@Data
public class LogFieldDTO {
private String code;
private String name;
private String value;
}

View File

@@ -1,17 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:23
* @Description:
*/
@Data
@SuperBuilder
public class ModifyInterviewTimeDTO extends LogBasicDTO{
private String beforeInterviewTime;
private String afterInterviewTime;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:43
* @Description:
*/
@Data
@SuperBuilder
public class ReInterviewDTO extends LogBasicDTO{
private String rejectRealReason;
private String certifyFile;
}

View File

@@ -1,21 +0,0 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
* @Author: young.yu
* @Date: 2023-06-28 00:43
* @Description:
*/
@Data
@SuperBuilder
public class RejectInterviewDTO extends LogBasicDTO{
private List<String> certifyFile;
private String rejectPublicReason;
private String rejectRealReason;
}

View File

@@ -1,31 +0,0 @@
package com.cool.store.dto.log;
import lombok.Builder;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/27 20:20
* @Version 1.0
*/
@Data
@Builder
public class TransferInvestmentManagerLogDTO {
private String operateTime;
private String operateUsername;
private String operateUserId;
private String mobile;
private String beforeInvestmentManagerUsername;
private String beforeInvestmentManagerMobile;
private String afterInvestmentManagerUsername;
private String afterInvestmentManagerMobile;
}

View File

@@ -1,30 +0,0 @@
package com.cool.store.dto.log;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @Author: wxp
* @Date: 2023-06-30 10:23
* @Description:
*/
@Data
@SuperBuilder
public class UserInfoUpdateDTO extends LogBasicDTO{
private UserInfoUpdate beforeUserinfoUpdate;
private UserInfoUpdate afterUserinfoUpdate;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class UserInfoUpdate{
private String username;
private String mobile;
private String liveArea;
private String wantShopArea;
private Integer acceptAdjustType;
}
}

View File

@@ -1,90 +0,0 @@
package com.cool.store.dto.log;
import lombok.Data;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.List;
/**
* @Author: wxp
* @Date: 2023-06-30 10:23
* @Description:
*/
@Data
@SuperBuilder
public class WantInfoUpdateDTO extends LogBasicDTO{
private BaseInfoUpdate beforeBaseInfoUpdate;
private BaseInfoUpdate afterBaseInfoUpdate;
private IntentInfoUpdate beforeIntentInfoUpdate;
private IntentInfoUpdate afterIntentInfoUpdate;
private List<ClerkUpdate> beforeClerkUpdate;
private List<ClerkUpdate> afterClerkUpdate;
@Data
public static class BaseInfoUpdate{
private Long id;
private String partnerId;
private Long partnerLineId;
private String mobile;
private String username;
private Integer sex;
private String nation;
private Date birthdate;
private String idCard;
private String idCardPhotoFront;
private String idCardPhotoBlack;
private String liveAddress;
private String userPortrait;
private Integer status;
private String latestLogMessage;
private String passReason;
private String certifyFile;
private Date passTime;
private String passUserId;
}
@Data
public static class IntentInfoUpdate{
private Long id;
private String partnerId;
private Long partnerLineId;
private String liveArea;
private String wantShopArea;
private Integer acceptAdjustType;
private Integer isHaveWantShop;
private String wantShopInfo;
private String maxBudget;
private String moneySource;
private String moneyProve;
private String education;
private String workYear;
private Integer isHaveWorkExp;
private String workExp;
private Integer isConsumer;
private String otherBand;
private String brandStrength;
private String needImprove;
private String strength;
private String weakness;
private String passCause;
private Date passTime;
private String passUser;
private String passCertifyFile;
}
@Data
public static class ClerkUpdate{
private Long id;
private Long partnerLineId;
private String partnerId;
private String username;
private String relationship;
private Integer age;
private String chooseReason;
}
}

View File

@@ -1,21 +0,0 @@
package com.cool.store.dto.login;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: FeiShuLoginDTO
* @Description:
* @date 2023-05-19 19:25
*/
@Data
public class FeiShuLoginDTO {
@ApiModelProperty("code")
private String code;
@ApiModelProperty("应用id")
private String appId;
}

View File

@@ -1,25 +0,0 @@
package com.cool.store.dto.login;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: UserIdInfoDTO
* @Description:
* @date 2023-05-29 10:58
*/
@Data
public class UserIdInfoDTO {
private String openId;
private String unionId;
private String userId;
public UserIdInfoDTO(String openId, String unionId, String userId) {
this.openId = openId;
this.unionId = unionId;
this.userId = userId;
}
}

View File

@@ -1,27 +0,0 @@
package com.cool.store.dto.mdm;
/**
* @Author: young.yu
* @Date: 2023-06-15 13:35
* @Description:
*/
public class AccessTokenDTO {
private Long expiresIn;
private String accessToken;
public Long getExpiresIn() {
return expiresIn;
}
public void setExpiresIn(Long expiresIn) {
this.expiresIn = expiresIn;
}
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
}

View File

@@ -1,12 +0,0 @@
package com.cool.store.dto.mdm;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AreaSonDTO {
@ApiModelProperty("父级code")
private String code;
}

View File

@@ -1,49 +0,0 @@
package com.cool.store.dto.mdm;
import lombok.Data;
@Data
public class CallbackDto {
//
// private Owner owner;
//
// private long modifiedTime;
//
// private Creator creator;
//
// private CreatorDepartment creatorDepartment;
//
// private String authCode;
//
// private Modifier modifier;
//
// private int amtDeposit;
//
// private FraSource fraSource;
//
// private String intendedSignerTel;
//
// private String sequenceNo;
//
// private String sequenceStatus;
//
// private String instanceId;
//
// private OwnerDepartment ownerDepartment;
//
// private SelfObject selfObject;
//
// private String name;
//
// private long createdTime;
//
// private String id;
//
// private long intendedSignDate;
//
// private String intendedSigner;
//
// private String systemsource;
}

View File

@@ -1,50 +0,0 @@
package com.cool.store.dto.menu;
import com.cool.store.entity.SysMenuDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.MenuTypeEnum;
import com.cool.store.exception.ServiceException;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class AddMenuDTO {
@NotBlank(message = "名称不能为空")
private String name;
@JsonProperty("parent_id")
@NotNull(message = "父Id不能为空")
private Long parentId;
@NotBlank(message = "地址不能为空")
private String path;
private String component;
private String target;
private String icon;
private String env;
private String code;
public static SysMenuDO convertDO(AddMenuDTO param, MenuTypeEnum menuTypeEnum){
SysMenuDO sysMenuDO = new SysMenuDO();
sysMenuDO.setParentId(param.getParentId());
sysMenuDO.setName(param.getName());
sysMenuDO.setCode(param.getCode());
sysMenuDO.setPath(param.getPath());
sysMenuDO.setIcon(param.getIcon());
sysMenuDO.setMenuType(menuTypeEnum.getCode());
return sysMenuDO;
}
}

View File

@@ -1,17 +0,0 @@
package com.cool.store.dto.message;
import lombok.Data;
/**
* @Author: young.yu
* @Date: 2023-06-30 11:02
* @Description:
*/
@Data
public class RemindInterviewMsgDTO {
private String partnerId;
private String interviewerId;
private String partnerName;
private String partnerMobile;
private String startTime;
}

View File

@@ -1,33 +0,0 @@
package com.cool.store.dto.message;
import com.cool.store.enums.FeiShuNoticeMsgEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author zhangchenbiao
* @FileName: SendCardMessageDTO
* @Description:发送卡片消息
* @date 2023-06-15 11:05
*/
@Data
public class SendCardMessageDTO {
@ApiModelProperty("消息接收人")
private List<String> userIds;
@ApiModelProperty("消息链接")
private String messageUrl;
@ApiModelProperty("消息标题")
private String title;
@ApiModelProperty("消息内容")
private String content;
@ApiModelProperty("消息类型, FeiShuNoticeMsgEnum")
private FeiShuNoticeMsgEnum messageType;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.outbound;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/8/9 17:44
* @version 1.0
*/
@Data
public class AddNumberDTO {
@ApiModelProperty("11位外呼号码")
private String outboundNumber;
}

View File

@@ -1,16 +0,0 @@
package com.cool.store.dto.outbound;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/8/9 18:38
* @version 1.0
*/
@Data
public class DeleteNumberDTO {
@ApiModelProperty("id")
private Long id;
}

View File

@@ -1,14 +0,0 @@
package com.cool.store.dto.outbound;
import com.cool.store.common.PageBasicInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author Fun Li 2023/8/9 15:49
* @version 1.0
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class OutboundListDTO extends PageBasicInfo {
}

View File

@@ -1,19 +0,0 @@
package com.cool.store.dto.outbound;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fun Li 2023/8/9 18:05
* @version 1.0
*/
@Data
public class UpdateNumberDTO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("11位外呼号码")
private String newOutboundNumber;
}

View File

@@ -1,19 +0,0 @@
package com.cool.store.dto.partner;
import lombok.Data;
import java.util.Date;
/**
* @Author suzhuhong
* @Date 2023/7/5 15:52
* @Version 1.0
*/
@Data
public class AdvanceLineDTO {
private String date;
private Integer count;
}

View File

@@ -1,19 +0,0 @@
package com.cool.store.dto.partner;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/7 17:27
* @Version 1.0
*/
@Data
public class ApplyReservationProvinceDTO {
private String areaName;
private Integer applyCount;
private Integer reservationCount;
}

View File

@@ -1,33 +0,0 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: DescribePhoneNumberDTO
* @Description:手机号归属
* @date 2023-06-15 20:07
*/
@Data
public class DescribePhoneNumberDTO {
@ApiModelProperty("基础运营商")
public String basicCarrier;
@ApiModelProperty("实际运营商")
public String carrier;
@ApiModelProperty("是否携号转网")
public Boolean isNumberPortability;
@ApiModelProperty("号码归属号段")
public Long numberSegment;
@ApiModelProperty("号码归属城市")
public String city;
@ApiModelProperty("号码归属省份")
public String province;
}

View File

@@ -1,18 +0,0 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class EnterInterviewDto {
@ApiModelProperty(value = "会议计划id", required = true)
private String interviewPlanId;
@ApiModelProperty(value = "用户id", required = true)
private String userId;
@ApiModelProperty(value = "1.面试官2.加盟商3.其他", required = true)
private Integer userType;
}

View File

@@ -1,21 +0,0 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/16 17:38
* @Version 1.0
*/
@Data
public class InviteCodeDetailDTO {
@ApiModelProperty("推荐加盟商名称")
private String partnerName;
@ApiModelProperty("推荐加盟商手机号码")
private String partnerPhone;
@ApiModelProperty("邀请码")
private String inviteCode;
@ApiModelProperty("门店名称")
private String storeName;
}

View File

@@ -1,17 +0,0 @@
package com.cool.store.dto.partner;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/15 21:19
* @Version 1.0
*/
@Data
public class LineCountDTO {
private String partnerId;
private Integer followCount;
}

View File

@@ -1,30 +0,0 @@
package com.cool.store.dto.partner;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/12/7 16:28
* @Version 1.0
*/
@Data
public class LineInterviewDTO {
private Integer id;
private Long lineId;
private Integer lineStatus;
private String investmentManager;
private String investmentManagerName;
private String investmentManagerMobile;
private String interviewer;
private String interviewerName;
private String interviewerMobile;
}

View File

@@ -1,12 +0,0 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class LineQueryInterviewDto {
@ApiModelProperty("加盟商线索id")
private String partnerLineId;
}

View File

@@ -1,27 +0,0 @@
package com.cool.store.dto.partner;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @author hxd
*/
@Data
@Accessors(chain = true)
public class MobileCheckDTO {
private String partnerId;
private String mobile;
private Integer lineStatus;
private String workflowStage;
private String workflowStatus;
private String closeTime;
private String investmentManager;
private String investmentManagerName;
private Long lineId;
private String partnerName;
private String investmentManagerMobile;
}

View File

@@ -1,33 +0,0 @@
package com.cool.store.dto.partner;
import lombok.Data;
import java.util.Date;
/**
* @Author suzhuhong
* @Date 2023/6/13 10:26
* @Version 1.0
*/
@Data
public class PartnerBlackListDTO {
private Long lineId;
private String partnerId;
private String mobile;
private String partnerUserName;
private Date createTime;
private String closeUserId;
private Date closeTime;
private String joinBlackReason;
private String phoneAddress;
}

View File

@@ -1,12 +0,0 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PartnerGetPassLetterDetailDto {
@ApiModelProperty("面试计划id")
private String interviewPlanId;
}

View File

@@ -1,66 +0,0 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Author suzhuhong
* @Date 2023/6/9 15:37
* @Version 1.0
*/
@Data
public class PartnerIntentApplyInfoDTO {
@ApiModelProperty("")
private Long id;
@ApiModelProperty("加盟商用户名称")
private String partnerUserName;
private String mobile;
@ApiModelProperty("hy_partner_user_info.partner_id")
private String partnerId;
@ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId;
@ApiModelProperty("常驻区域")
private String liveArea;
@ApiModelProperty("意向开店区域")
private String wantShopArea;
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
private Integer acceptAdjustType;
@ApiModelProperty("截止时间")
private Date deadline;
@ApiModelProperty("阶段提交时间")
private Date partnerSubmitTime;
@ApiModelProperty("所属阶段")
private String workflowStage;
@ApiModelProperty("子流程状态")
private String workflowStatus;
@ApiModelProperty("上次跟进时间")
private String lastFollowTime;
@ApiModelProperty("接通状态")
private Integer callStatus;
@ApiModelProperty("来源名称")
private String userChannelName;
private Integer userChannelId;
private String userPortrait;
private String ecWantShopArea;
}

View File

@@ -1,72 +0,0 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Author suzhuhong
* @Date 2023/6/9 19:40
* @Version 1.0
*/
@Data
public class PartnerInterviewInfoDTO {
@ApiModelProperty("hy_partner_interview.id")
private Long interviewId;
@ApiModelProperty("hy_partner_interview_plan.id")
private Long id;
@ApiModelProperty("加盟商用户名称")
private String partnerUserName;
@ApiModelProperty("预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝")
private Integer status;
@ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId;
@ApiModelProperty("加盟商用户ID")
private String partnerId;
@ApiModelProperty("截止时间")
private Date deadline;
@ApiModelProperty("审批发起时间")
private Date approveTime;
@ApiModelProperty("意向合同号")
private String intentionContractNo;
@ApiModelProperty("面试开始时间")
private Date startTime;
@ApiModelProperty("面试结束时间")
private Date endTime;
@ApiModelProperty("面试官ID")
private String interviewer;
@ApiModelProperty("面试官名称")
private String interviewerName;
@ApiModelProperty("预约时间")
private Date createTime;
@ApiModelProperty("房间号")
private String roomId;
@ApiModelProperty("过程信息")
private String processInfo;
@ApiModelProperty("上次跟进时间")
private Date lastFollowTime;
@ApiModelProperty("接通状态")
private Integer callStatus;
private String userPortrait;
}

Some files were not shown because too many files have changed in this diff Show More