Commit faf3676f by 徐高华

Merge branch 'developer' into 'feature-haoban-role'

# Conflicts:
#   haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/WelcomeServiceImpl.java
parents 2179eadb d73ff068
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
public class QwPendingIdDTO implements Serializable {
private static final long serialVersionUID = -7791318666042954957L;
private String externalUserId;
private String pendingId;
public String getExternalUserId() {
return externalUserId;
}
public String getPendingId() {
return pendingId;
}
public void setExternalUserId(String externalUserId) {
this.externalUserId = externalUserId;
}
public void setPendingId(String pendingId) {
this.pendingId = pendingId;
}
}
...@@ -100,6 +100,8 @@ public class StaffDTO implements Serializable { ...@@ -100,6 +100,8 @@ public class StaffDTO implements Serializable {
private String defaultGicEid; private String defaultGicEid;
private Integer addNum; private Integer addNum;
private Integer activeStatus; private Integer activeStatus;
private String enterpriseId;
private String storeId;
public String getDefaultGicEid() { public String getDefaultGicEid() {
return defaultGicEid; return defaultGicEid;
...@@ -382,4 +384,20 @@ public class StaffDTO implements Serializable { ...@@ -382,4 +384,20 @@ public class StaffDTO implements Serializable {
public void setActiveStatus(Integer activeStatus) { public void setActiveStatus(Integer activeStatus) {
this.activeStatus = activeStatus; this.activeStatus = activeStatus;
} }
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
} }
package com.gic.haoban.manage.api.service;
public interface BindApiService {
void clerkManagerTranfer(String departmentId,String fromClerkCode,String toStaffDepartmentRelatedId);
void clerkUnbind(String departmentId,String fromClerkCode,String toStaffId,String manager);
void clerkSingleUnbind(String fromClerkCode,String departmentId);
void staffBind(String departmentId,String fromClerkCode,String fromStaffDepartmentRelatedId);
}
...@@ -34,4 +34,17 @@ public interface HaobanTimerApiService { ...@@ -34,4 +34,17 @@ public interface HaobanTimerApiService {
*/ */
public ServiceResponse<Void> repairExternalUserId(String wxEnterpriseId) ; public ServiceResponse<Void> repairExternalUserId(String wxEnterpriseId) ;
/**
*
* @Title: repairStaffDepart
* @Description: 修复成员部门
* @author xugh
* @param wxEnterpriseId
* @return
* @throws
*/
public ServiceResponse<Void> repairStaffDepart(String params) ;
} }
...@@ -4,7 +4,6 @@ import com.gic.api.base.commons.Page; ...@@ -4,7 +4,6 @@ import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.MaidianLogDTO; import com.gic.haoban.manage.api.dto.MaidianLogDTO;
import java.util.List;
public interface MaidianLogApiService { public interface MaidianLogApiService {
......
...@@ -59,8 +59,6 @@ public interface MemberUnionidRelatedApiService { ...@@ -59,8 +59,6 @@ public interface MemberUnionidRelatedApiService {
*/ */
List<MemberStoreDTO> listByExTernalUseridAndWxUserId(String externalUserid, String staffId, String storeId); List<MemberStoreDTO> listByExTernalUseridAndWxUserId(String externalUserid, String staffId, String storeId);
void cleanByCid(String cid);
/** /**
* 群发助手发送企业微信消息 * 群发助手发送企业微信消息
* *
...@@ -160,14 +158,6 @@ public interface MemberUnionidRelatedApiService { ...@@ -160,14 +158,6 @@ public interface MemberUnionidRelatedApiService {
String addExternal(ExternalUserDTO dto); String addExternal(ExternalUserDTO dto);
/** /**
* 添加企微好友关联关系表-需触达方式
*
* @param dto
* @return
*/
String addFriendExternal(ExternalUserDTO dto);
/**
* 获取客户详情-第三方 * 获取客户详情-第三方
* *
* @param wxEnterpriseId * @param wxEnterpriseId
...@@ -231,28 +221,6 @@ public interface MemberUnionidRelatedApiService { ...@@ -231,28 +221,6 @@ public interface MemberUnionidRelatedApiService {
/** /**
* 根据id查询
*
* @param memberUnionidRelatedId 成员unionid相关id
* @return {@link MemberUnionidRelatedDTO }
* @author mozhu
* @date 2022-03-11 17:02:45
*/
MemberUnionidRelatedDTO getById(String memberUnionidRelatedId);
/**
* 更新对外联系人id
*
* @param selfExternalUserid 自外部用户标识
* @param memberUnionidRelatedId 成员unionid相关id
* @author mozhu
* @date 2022-03-11 16:59:24
*/
void updateSelfExternalUseridById(String selfExternalUserid, String memberUnionidRelatedId);
/**
* 事件订阅test * 事件订阅test
* *
* @param param 参数 * @param param 参数
......
package com.gic.haoban.manage.api.service;
import java.util.List;
import java.util.Map;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.QwPendingIdDTO;
/**
*
* @ClassName: QwFriendApiService
* @Description: 企微好友
* @author xugh
* @date 2022年9月27日 上午10:09:14
*
*/
public interface QwFriendApiService {
/**
*
* @Title: pendingCheck
* @Description: 校验商户能否获取pending
* @author xugh
* @param enterpriseId
* @param unionid
* @param openid
* @param wxaOpenid
* @return
* @throws
*/
public ServiceResponse<Map<String,String>> pendingIdCheck(String enterpriseId, String unionid, String openid, String wxaUnionid,String wxaOpenid);
public ServiceResponse<Map<String,String>> pendingIdCheck(String enterpriseId);
/**
*
* @Title: getPendingIdByUnionid
* @Description: 通过uniond获取好友id/pendingid
* @author xugh
* @param enterpriseId
* @param unionid
* @param openid 小程序或者服务号openid
* @return
* @throws
*/
public ServiceResponse<QwPendingIdDTO> getPendingIdByUnionid(String enterpriseId, String unionid, String openid);
/**
*
* @Title: getPendingIdByExternalid
* @Description: 通过好友id查询pendingid
* @author xugh
* @param enterpriseId
* @param externalUserId
* @return
* @throws
*/
public ServiceResponse<QwPendingIdDTO> getPendingIdByExternalid(String enterpriseId, String externalUserId);
/**
*
* @Title: getPendingIdByExternalid
* @Description: 通过好友id查询pendingid
* @author xugh
* @param enterpriseId
* @param externalUserId
* @return
* @throws
*/
public ServiceResponse<List<QwPendingIdDTO>> listPendingIdByExternalid(String enterpriseId,
List<String> externalUserIdList);
/**
*
* @Title: getCallTimes
* @Description: 获取调用次数
* @author xugh
* @param wxEnterpriseId
* @return
* @throws
*/
public ServiceResponse<Object> getCallTimes(String wxEnterpriseId) ;
}
...@@ -279,4 +279,15 @@ public interface StaffApiService { ...@@ -279,4 +279,15 @@ public interface StaffApiService {
*/ */
boolean isManager(String clerkId); boolean isManager(String clerkId);
/**
* 绑定的员工列表
*
* @param storeIds 存储id
* @param wxEnterpriseId wx企业标识
* @return {@link List }<{@link StaffDTO }>
* @author mozhu
* @date 2022-10-21 00:25:46
*/
List<StaffDTO> listBindStoreIds(List<String> storeIds,String wxEnterpriseId);
} }
...@@ -58,6 +58,12 @@ ...@@ -58,6 +58,12 @@
<artifactId>haoban-config</artifactId> <artifactId>haoban-config</artifactId>
<version>${haoban-config}</version> <version>${haoban-config}</version>
</dependency> </dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>log-record-sdk</artifactId>
<version>${log-record-sdk}</version>
</dependency>
<dependency> <dependency>
<groupId>com.vdurmont</groupId> <groupId>com.vdurmont</groupId>
<artifactId>emoji-java</artifactId> <artifactId>emoji-java</artifactId>
...@@ -162,11 +168,6 @@ ...@@ -162,11 +168,6 @@
<artifactId>gic-enterprise-operation-api</artifactId> <artifactId>gic-enterprise-operation-api</artifactId>
<version>${gic-enterprise-operation-api}</version> <version>${gic-enterprise-operation-api}</version>
</dependency> </dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>log-record-sdk</artifactId>
<version>${log-record-sdk}</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -9,20 +9,6 @@ public interface MemberUnionidRelatedMapper { ...@@ -9,20 +9,6 @@ public interface MemberUnionidRelatedMapper {
int insert(MemberUnionidRelated record); int insert(MemberUnionidRelated record);
MemberUnionidRelated selectByPrimaryKey(String memberUnionidRelatedId);
int updateByPrimaryKeySelective(MemberUnionidRelated record);
int cleanByCid(@Param("cid") String cid);
MemberUnionidRelated getByUnionId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffId") String staffId, @Param("unionid") String unionid);
void deleteByUnionidAndUserId(@Param("externalUserid") String externalUserid, @Param("staffId") String staffId);
void delMemberUnionidRelatedBatch(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("externalUserids") List<String> externalUserid, @Param("staffId") String staffId);
void cleanStaffRelated(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffIds") List<String> staffIds);
/** /**
* 根据应用内的外部联系人获取信息 * 根据应用内的外部联系人获取信息
* *
...@@ -32,9 +18,6 @@ public interface MemberUnionidRelatedMapper { ...@@ -32,9 +18,6 @@ public interface MemberUnionidRelatedMapper {
* @return * @return
*/ */
MemberUnionidRelated getBySelfExternalUserId(@Param("staffId") String staffId, @Param("wxEnterpriseId") String wxEnterpriseId, @Param("selfExternalUserId") String selfExternalUserId); MemberUnionidRelated getBySelfExternalUserId(@Param("staffId") String staffId, @Param("wxEnterpriseId") String wxEnterpriseId, @Param("selfExternalUserId") String selfExternalUserId);
List<MemberUnionidRelated> listBySelfExternalUserId(@Param("staffId") String staffId, @Param("wxEnterpriseId") String wxEnterpriseId, @Param("selfExternalUserId") String selfExternalUserId);
List<MemberUnionidRelated> listByWxEnterpriseIdAndExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId , @Param("list")List<String> externalUserIdList); List<MemberUnionidRelated> listByWxEnterpriseIdAndExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId , @Param("list")List<String> externalUserIdList);
......
package com.gic.haoban.manage.service.dao.mapper; package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated; import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
public interface StaffDepartmentRelatedMapper { public interface StaffDepartmentRelatedMapper {
...@@ -39,4 +41,6 @@ public interface StaffDepartmentRelatedMapper { ...@@ -39,4 +41,6 @@ public interface StaffDepartmentRelatedMapper {
@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxEnterpriseId") String wxEnterpriseId,
@Param("staffId") String staffId @Param("staffId") String staffId
); );
List<String> listNoDepartStaff(@Param("wxEnterpriseId")String wxEnterpriseId , @Param("addDate")Date addDate) ;
} }
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper; package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.service.entity.TabHaobanStaff; import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -133,4 +134,16 @@ public interface StaffMapper { ...@@ -133,4 +134,16 @@ public interface StaffMapper {
* @date 2022-07-25 16:36:07 * @date 2022-07-25 16:36:07
*/ */
int resetAddNum(); int resetAddNum();
/**
* 绑定的员工列表(暂时取100条,后续和前端一起改为分页接口)
*
* @param storeIds 存储id
* @param wxEnterpriseId wx企业标识
* @return {@link List }<{@link StaffDTO }>
* @author mozhu
* @date 2022-10-21 00:26:47
*/
List<StaffDTO> listBindStoreIds(@Param("storeIds") List<String> storeIds,
@Param("wxEnterpriseId") String wxEnterpriseId);
} }
\ No newline at end of file
...@@ -20,7 +20,7 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -20,7 +20,7 @@ public interface TabHaobanExternalClerkRelatedMapper {
TabHaobanExternalClerkRelated selectByClerkIdAndExternalUserId(@Param("clerkId") String clerkId, TabHaobanExternalClerkRelated selectByClerkIdAndExternalUserId(@Param("clerkId") String clerkId,
@Param("externalUserId") String externalUserId); @Param("externalUserId") String externalUserId);
int delByUserIdAndExternalUserId(TabHaobanExternalClerkRelated record); int delByUserIdAndExternalUserId(@Param("externalUserId") String externalUserId , @Param("staffId") String staffId);
void delByUserIdAndExternalUserIdBatch(@Param("staffId") String staffId, void delByUserIdAndExternalUserIdBatch(@Param("staffId") String staffId,
@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxEnterpriseId") String wxEnterpriseId,
...@@ -380,5 +380,4 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -380,5 +380,4 @@ public interface TabHaobanExternalClerkRelatedMapper {
void updateClerkInfo(@Param("staffId")String staffId, @Param("oldClerkId")String oldClerkId, @Param("newClerkId")String newClerkId, @Param("storeId")String storeId); void updateClerkInfo(@Param("staffId")String staffId, @Param("oldClerkId")String oldClerkId, @Param("newClerkId")String newClerkId, @Param("storeId")String storeId);
} }
\ No newline at end of file
...@@ -38,16 +38,6 @@ public interface WxEnterpriseMapper { ...@@ -38,16 +38,6 @@ public interface WxEnterpriseMapper {
TabHaobanWxEnterprise getEnterpriseBycorpId(@Param("corpId") String corpId, @Param("statusFlag") Integer statusFlag); TabHaobanWxEnterprise getEnterpriseBycorpId(@Param("corpId") String corpId, @Param("statusFlag") Integer statusFlag);
/** /**
* 获取公司by企业名称
*
* @param corpName 公司名称
* @return {@link TabHaobanWxEnterprise }
* @author mozhu
* @date 2021-12-20 20:09:52
*/
TabHaobanWxEnterprise getEnterpriseByCorpName(@Param("corpName") String corpName);
/**
* 更新是否转化外部联系人 * 更新是否转化外部联系人
* *
* @param externalFlag 外部标志 * @param externalFlag 外部标志
......
...@@ -8,8 +8,6 @@ import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated; ...@@ -8,8 +8,6 @@ import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
public interface WxEnterpriseRelatedMapper { public interface WxEnterpriseRelatedMapper {
int deleteByPrimaryKey(String wxEnterpriseRelatedId);
int deleteByEnterpriseId(String enterpriseId) ; int deleteByEnterpriseId(String enterpriseId) ;
int insertSelective(TabHaobanWxEnterpriseRelated record); int insertSelective(TabHaobanWxEnterpriseRelated record);
......
...@@ -43,6 +43,15 @@ public class TabHaobanExternalClerkRelated implements Serializable { ...@@ -43,6 +43,15 @@ public class TabHaobanExternalClerkRelated implements Serializable {
private Date createTime; private Date createTime;
private Date updateTime; private Date updateTime;
private String selfExternalUserid;
public String getSelfExternalUserid() {
return selfExternalUserid;
}
public void setSelfExternalUserid(String selfExternalUserid) {
this.selfExternalUserid = selfExternalUserid;
}
public String getHeadUrl() { public String getHeadUrl() {
return headUrl; return headUrl;
......
...@@ -8,8 +8,11 @@ public enum HaoBanErrCode { ...@@ -8,8 +8,11 @@ public enum HaoBanErrCode {
ERR_0001("10100001", "参数没有传"), ERR_0001("10100001", "参数没有传"),
ERR_10012("10012","企业微信不存在"), ERR_10012("10012","企业微信不存在"),
ERR_OTHER("9999","业务异常"), ERR_OTHER("9999","业务异常"),
ERR_100033("100033", "活码分组已经被关联,不可删除"),
ERR_100033("100033", "活码分组已经被关联,不可删除") ERR_2000("2000", "企微接口调用次数限制-月"),
ERR_2001("2001", "企微接口调用次数限制-天"),
ERR_2002("2002", "企微接口调用次数限制-小时"),
ERR_2010("2010", "pending接口调用限制")
; ;
private String code; private String code;
......
package com.gic.haoban.manage.service.pojo.bo;
public class QwLimitTimesBO {
private int month;
private int day;
private int hour;
public int getMonth() {
return month;
}
public int getDay() {
return day;
}
public int getHour() {
return hour;
}
public void setMonth(int month) {
this.month = month;
}
public void setDay(int day) {
this.day = day;
}
public void setHour(int hour) {
this.hour = hour;
}
}
package com.gic.haoban.manage.service.pojo.bo;
import java.io.Serializable;
public class WxEnterpriseRelationBO implements Serializable {
private static final long serialVersionUID = 4140789670421435421L;
private String wxEnterpriseRelatedId;
private String wxEnterpriseId;
private String enterpriseId;
private int wxEnterpriseType;
private int memberOpenCardFlag;
public String getWxEnterpriseRelatedId() {
return wxEnterpriseRelatedId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public int getWxEnterpriseType() {
return wxEnterpriseType;
}
public int getMemberOpenCardFlag() {
return memberOpenCardFlag;
}
public void setWxEnterpriseRelatedId(String wxEnterpriseRelatedId) {
this.wxEnterpriseRelatedId = wxEnterpriseRelatedId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public void setWxEnterpriseType(int wxEnterpriseType) {
this.wxEnterpriseType = wxEnterpriseType;
}
public void setMemberOpenCardFlag(int memberOpenCardFlag) {
this.memberOpenCardFlag = memberOpenCardFlag;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
}
...@@ -15,7 +15,7 @@ public interface ExternalClerkRelatedService { ...@@ -15,7 +15,7 @@ public interface ExternalClerkRelatedService {
* 删除好友 * 删除好友
* @param dto * @param dto
*/ */
void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto , String wxUserId); void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto);
/** /**
* 删除会员与导购的关联关系 * 删除会员与导购的关联关系
......
package com.gic.haoban.manage.service.service; package com.gic.haoban.manage.service.service;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO; import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.github.pagehelper.PageInfo;
import java.util.List;
public interface MemberUnionRelatedService { public interface MemberUnionRelatedService {
MemberUnionidRelatedDTO getByWxUserIdAndUnionId(String wxEnterpriseId, String staffId, String unionid);
String addMemberUnionidRelated(MemberUnionidRelatedDTO dto); String addMemberUnionidRelated(MemberUnionidRelatedDTO dto);
void delMemberUnionidRelated(MemberUnionidRelatedDTO dto , String staffId);
/**
* 删除外部联系人关系
*
* @param wxEnterpriseId
* @param wxUserId
* @param externalUserids
*/
void delMemberUnionidRelatedBatch(String wxEnterpriseId, String staffId, List<String> externalUserids);
void update(MemberUnionidRelatedDTO exsitDTO);
void clean(String cid);
void cleanStaffRelated(String wxEnterpriseId, List<String> staffIds);
/** /**
* 根据应用内的外部联系人id 获取信息 * 根据应用内的外部联系人id 获取信息
*
* @param wxUserId
* @param wxEnterpriseId
* @param selfExternalUserId
* @return
*/
MemberUnionidRelatedDTO getByWxUserIdAndSelfExternalUserId(String staffId, String wxEnterpriseId, String selfExternalUserId);
/**
* 根据应用内的外部联系人id 获取信息
*
* @param wxEnterpriseId wx企业标识
* @param selfExternalUserId 自外部的用户id
* @return {@link MemberUnionidRelatedDTO }
* @author mozhu
* @date 2021-12-23 22:35:47
*/ */
MemberUnionidRelatedDTO getBySelfExternalUserId(String wxEnterpriseId, String selfExternalUserId); MemberUnionidRelatedDTO getBySelfExternalUserId(String wxEnterpriseId, String selfExternalUserId);
/**
* 根据应用内的外部联系人id 获取信息
*
* @param wxUserId
* @param wxEnterpriseId
* @param selfExternalUserId
* @return
*/
List<MemberUnionidRelatedDTO> listBySelfExternalUserId(String staffId, String wxEnterpriseId, String selfExternalUserId);
} }
package com.gic.haoban.manage.service.service; package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO; import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated; import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import java.util.List; import java.util.List;
...@@ -32,5 +33,17 @@ public interface StaffDepartmentRelatedService { ...@@ -32,5 +33,17 @@ public interface StaffDepartmentRelatedService {
public int cleanStaffDepartment(String wxEnterpriseId,List<String> staffIds); public int cleanStaffDepartment(String wxEnterpriseId,List<String> staffIds);
public int update(TabHaobanStaffDepartmentRelated tab); public int update(TabHaobanStaffDepartmentRelated tab);
/**
*
* @Title: repairAllStaffDepart
* @Description: 定时修复成员部门
* @author xugh
* @param params
* @throws
*/
public void repairAllStaffDepart(String params) ;
public void repairStaffDepart(String staffId) ;
public void staffDepartChange(TabHaobanStaff staff, String wxEnterpriseId, Integer[] departmentIds) ;
} }
package com.gic.haoban.manage.service.service; package com.gic.haoban.manage.service.service;
import java.util.List;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.pojo.bo.WxEnterpriseRelationBO;
import java.util.List;
public interface WxEnterpriseRelatedService { public interface WxEnterpriseRelatedService {
...@@ -37,4 +38,8 @@ public interface WxEnterpriseRelatedService { ...@@ -37,4 +38,8 @@ public interface WxEnterpriseRelatedService {
void setClerkEdit(String id, int clerkEditFlag); void setClerkEdit(String id, int clerkEditFlag);
int getRelationCount(String enterpriseId) ; int getRelationCount(String enterpriseId) ;
public WxEnterpriseRelationBO getHeadEnterprise(String enterpriseId) ;
public boolean getAddByWelcomeFlag(TabHaobanWxEnterpriseRelated wxEnterpriseRelated , String unionid , boolean isHmUnionid) ;
} }
...@@ -38,16 +38,6 @@ public interface WxEnterpriseService { ...@@ -38,16 +38,6 @@ public interface WxEnterpriseService {
int unbind(String wxEnterpriseId); int unbind(String wxEnterpriseId);
/** /**
* 得到企业bycorp名称
*
* @param corpName 公司名称
* @return {@link TabHaobanWxEnterprise }
* @author mozhu
* @date 2021-12-20 20:09:21
*/
TabHaobanWxEnterprise getEnterpriseByCorpName(String corpName);
/**
* 所有企业微信 * 所有企业微信
* *
* @return * @return
......
...@@ -65,10 +65,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -65,10 +65,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
@Autowired @Autowired
private MemberApiService memberApiService; private MemberApiService memberApiService;
@Autowired @Autowired
private StaffMapper staffMapper;
@Autowired
private TabHaobanStaffClerkRelationMapper staffClerkRelationMapper;
@Autowired
private WxUserAddLogService wxUserAddLogService; private WxUserAddLogService wxUserAddLogService;
@Autowired @Autowired
private StoreService storeService; private StoreService storeService;
...@@ -105,34 +101,22 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -105,34 +101,22 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
} }
@Override @Override
public void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto, String wxUserId) { public void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto) {
int count = mapper.delByUserIdAndExternalUserId(EntityUtil.changeEntityByJSON(TabHaobanExternalClerkRelated.class, dto));
if (count <= 0) {
logger.error("无需删除的好友数据:{}", JSON.toJSONString(dto));
return;
}
String staffId = dto.getStaffId(); String staffId = dto.getStaffId();
String externalUserid = dto.getExternalUserid(); String externalUserid = dto.getExternalUserid();
List<TabHaobanExternalClerkRelated> tabHaobanExternalClerkRelatedList = mapper.listByExTernalUseridAndWxUserId(externalUserid, staffId, 2); int count = mapper.delByUserIdAndExternalUserId(externalUserid,staffId);
if (CollectionUtils.isEmpty(tabHaobanExternalClerkRelatedList)) { if (count <= 0) {
logger.info("无解除的好友关系:externalUserid:{},wxUserId:{}", externalUserid, wxUserId); logger.error("无需删除的好友数据:{}", JSON.toJSONString(dto));
return;
}
TabHaobanExternalClerkRelated related = tabHaobanExternalClerkRelatedList.get(0);
String wxEnterpriseId = related.getWxEnterpriseId();
TabHaobanStaff tabHaobanStaff = staffMapper.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
if (null == tabHaobanStaff) {
logger.error("找不到员工:wxUserId:{}", wxUserId);
return; return;
} }
String wxEnterpriseId = dto.getWxEnterpriseId() ;
staffId = tabHaobanStaff.getStaffId(); List<TabHaobanExternalClerkRelated> deleteRelatedList = mapper.listByExTernalUseridAndWxUserId(externalUserid, staffId, 2);
List<TabHaobanStaffClerkRelation> tabHaobanStaffClerkRelations = staffClerkRelationMapper.lisByStaffId(wxEnterpriseId, staffId, null); if (CollectionUtils.isEmpty(deleteRelatedList)) {
if (CollectionUtils.isEmpty(tabHaobanStaffClerkRelations)) { logger.info("无解除的好友关系:externalUserid:{},staffId:{}", externalUserid,staffId);
logger.error("找不到员工导购关联关系:staffId:{},wxEnterpriseId:{}", staffId, wxEnterpriseId);
return; return;
} }
String enterpriseId = tabHaobanStaffClerkRelations.get(0).getEnterpriseId(); TabHaobanExternalClerkRelated related = deleteRelatedList.get(0);
String enterpriseId = related.getEnterpriseId() ;
//该企微该会员所有关联关系解除后通知会员 //该企微该会员所有关联关系解除后通知会员
List<TabHaobanExternalClerkRelated> list = mapper.listByExternalUseridAndWxEnterpriseId(dto.getExternalUserid(), wxEnterpriseId, Arrays.asList("1", "3", "4")); List<TabHaobanExternalClerkRelated> list = mapper.listByExternalUseridAndWxEnterpriseId(dto.getExternalUserid(), wxEnterpriseId, Arrays.asList("1", "3", "4"));
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
...@@ -146,14 +130,12 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -146,14 +130,12 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
} }
} else { } else {
//删除后 每次回调会员 //删除后 每次回调会员
List<TabHaobanExternalClerkRelated> relatedList = mapper.listByExTernalUseridAndWxUserId(dto.getExternalUserid(), wxUserId, 2); for (TabHaobanExternalClerkRelated externalClerkRelated : deleteRelatedList) {
for (TabHaobanExternalClerkRelated externalClerkRelated : relatedList) {
String memberId = externalClerkRelated.getMemberId(); String memberId = externalClerkRelated.getMemberId();
logger.info("通知会员 删除会员后更新为非企微好友时间 memberId:{}", memberId); logger.info("通知会员 删除会员后更新为非企微好友时间 memberId:{}", memberId);
memberApiService.updateMemberQywxEveryOccasion(enterpriseId, memberId, 1, new Date()); memberApiService.updateMemberQywxEveryOccasion(enterpriseId, memberId, 1, new Date());
} }
} }
//添加日志 //添加日志
WxUserAddLogQDTO wxUserAddLogQDTO = new WxUserAddLogQDTO(); WxUserAddLogQDTO wxUserAddLogQDTO = new WxUserAddLogQDTO();
wxUserAddLogQDTO.setWxEnterpriseId(wxEnterpriseId); wxUserAddLogQDTO.setWxEnterpriseId(wxEnterpriseId);
...@@ -165,7 +147,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -165,7 +147,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
wxUserAddLogQDTO.setStaffId(related.getStaffId()); wxUserAddLogQDTO.setStaffId(related.getStaffId());
wxUserAddLogQDTO.setClerkId(related.getClerkId()); wxUserAddLogQDTO.setClerkId(related.getClerkId());
wxUserAddLogService.save(wxUserAddLogQDTO); wxUserAddLogService.save(wxUserAddLogQDTO);
//定制 //定制
addDelFriendEvent(related.getUnionid(), related.getClerkId(), wxEnterpriseId, enterpriseId, related.getMemberId(), related.getStoreId(), 0); addDelFriendEvent(related.getUnionid(), related.getClerkId(), wxEnterpriseId, enterpriseId, related.getMemberId(), related.getStoreId(), 0);
} }
......
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import java.util.Date; import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO; import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated; import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.gic.haoban.manage.service.service.MemberUnionRelatedService; import com.gic.haoban.manage.service.service.MemberUnionRelatedService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@Service @Service
public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService { public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService {
...@@ -23,64 +18,29 @@ public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService ...@@ -23,64 +18,29 @@ public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService
private MemberUnionidRelatedMapper mapper; private MemberUnionidRelatedMapper mapper;
@Override @Override
public MemberUnionidRelatedDTO getByWxUserIdAndUnionId(String wxEnterpriseId, String staffId, String unionid) {
return EntityUtil.changeEntityByJSON(MemberUnionidRelatedDTO.class, mapper.getByUnionId(wxEnterpriseId, staffId, unionid));
}
@Override
public String addMemberUnionidRelated(MemberUnionidRelatedDTO dto) { public String addMemberUnionidRelated(MemberUnionidRelatedDTO dto) {
String wxEnterpriseId = dto.getWxEnterpriseId() ;
String staffId = dto.getStaffId() ;
String selfExternalUserId = dto.getSelfExternalUserid() ;
MemberUnionidRelated oldDTO = this.mapper.getBySelfExternalUserId(staffId, wxEnterpriseId, selfExternalUserId) ;
if(null != oldDTO) {
return oldDTO.getMemberUnionidRelatedId() ;
}
dto.setStatusFlag(1); dto.setStatusFlag(1);
dto.setCreateTime(new Date()); dto.setCreateTime(new Date());
dto.setUpdateTime(new Date()); dto.setUpdateTime(new Date());
dto.setMemberUnionidRelatedId(StringUtil.randomUUID()); dto.setMemberUnionidRelatedId(StringUtil.randomUUID());
String unionid = dto.getUnionid() ;
// unionid不保存,但需要传递
dto.setUnionid(null);
mapper.insert(EntityUtil.changeEntityByJSON(MemberUnionidRelated.class, dto)); mapper.insert(EntityUtil.changeEntityByJSON(MemberUnionidRelated.class, dto));
dto.setUnionid(unionid);
return dto.getMemberUnionidRelatedId(); return dto.getMemberUnionidRelatedId();
} }
@Override @Override
public void delMemberUnionidRelated(MemberUnionidRelatedDTO dto , String staffId) {
mapper.deleteByUnionidAndUserId(dto.getExternalUserid(),staffId);
}
@Override
public void delMemberUnionidRelatedBatch(String wxEnterpriseId, String staffId, List<String> externalUserids) {
mapper.delMemberUnionidRelatedBatch(wxEnterpriseId, externalUserids, staffId);
}
@Override
public void update(MemberUnionidRelatedDTO exsitDTO) {
exsitDTO.setUpdateTime(new Date());
mapper.updateByPrimaryKeySelective(EntityUtil.changeEntityByJSON(MemberUnionidRelated.class, exsitDTO));
}
@Override
public void clean(String cid) {
mapper.cleanByCid(cid);
}
@Override
public void cleanStaffRelated(String wxEnterpriseId, List<String> staffIds) {
if(staffIds == null || staffIds.isEmpty()){
return;
}
mapper.cleanStaffRelated(wxEnterpriseId,staffIds);
}
@Override
public MemberUnionidRelatedDTO getByWxUserIdAndSelfExternalUserId(String staffId, String wxEnterpriseId, String selfExternalUserId) {
MemberUnionidRelated unionidRelated = mapper.getBySelfExternalUserId(staffId,wxEnterpriseId, selfExternalUserId);
return EntityUtil.changeEntityNew(MemberUnionidRelatedDTO.class, unionidRelated);
}
@Override
public MemberUnionidRelatedDTO getBySelfExternalUserId(String wxEnterpriseId, String selfExternalUserId) { public MemberUnionidRelatedDTO getBySelfExternalUserId(String wxEnterpriseId, String selfExternalUserId) {
MemberUnionidRelated unionidRelated = mapper.getBySelfExternalUserId(null,wxEnterpriseId, selfExternalUserId); MemberUnionidRelated unionidRelated = mapper.getBySelfExternalUserId(null,wxEnterpriseId, selfExternalUserId);
return EntityUtil.changeEntityNew(MemberUnionidRelatedDTO.class, unionidRelated); return EntityUtil.changeEntityNew(MemberUnionidRelatedDTO.class, unionidRelated);
} }
@Override
public List<MemberUnionidRelatedDTO> listBySelfExternalUserId(String staffId, String wxEnterpriseId, String selfExternalUserId) {
List<MemberUnionidRelated> retList = mapper.listBySelfExternalUserId(staffId, wxEnterpriseId, selfExternalUserId);
return EntityUtil.changeEntityListNew(MemberUnionidRelatedDTO.class, retList);
}
} }
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.common.utils.DingUtils;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO; import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.StaffMapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated; import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import com.gic.haoban.manage.service.service.DepartmentService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService; import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
import org.springframework.beans.factory.annotation.Autowired; import com.gic.haoban.manage.service.service.WxEnterpriseService;
import org.springframework.stereotype.Service; import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import java.util.Date; import com.google.common.collect.Sets;
import java.util.List;
@Service @Service
public class StaffDepartmentRelatedServiceImpl implements StaffDepartmentRelatedService { public class StaffDepartmentRelatedServiceImpl implements StaffDepartmentRelatedService {
private static final Logger logger = LogManager.getLogger(StaffDepartmentRelatedService.class);
@Autowired @Autowired
private StaffDepartmentRelatedMapper mapper; private StaffDepartmentRelatedMapper mapper;
@Autowired
private StaffMapper staffMapper ;
@Autowired
private SecretSettingService secretSettingService ;
@Autowired
private WxEnterpriseService wxEnterpriseService ;
@Autowired
private QywxUserApiService qywxUserApiService ;
@Autowired
private DepartmentService departmentService ;
@Override @Override
public List<TabHaobanStaffDepartmentRelated> listByDepartmentId(String departmentId) { public List<TabHaobanStaffDepartmentRelated> listByDepartmentId(String departmentId) {
...@@ -78,5 +115,116 @@ public class StaffDepartmentRelatedServiceImpl implements StaffDepartmentRelated ...@@ -78,5 +115,116 @@ public class StaffDepartmentRelatedServiceImpl implements StaffDepartmentRelated
public int update(TabHaobanStaffDepartmentRelated tab) { public int update(TabHaobanStaffDepartmentRelated tab) {
return mapper.updateByPrimaryKeySelective(tab); return mapper.updateByPrimaryKeySelective(tab);
} }
@Override
public void repairAllStaffDepart(String params) {
logger.info("修复无部门成员={}",params);
int addDay = 0 ;
String wxEnterpriseId = null ;
if(params.contains("#")) {
addDay = Integer.parseInt(params.split("#")[0]) ;
wxEnterpriseId = params.split("#")[1] ;
}else {
addDay = Integer.parseInt(params) ;
}
Date addDate = DateUtil.addDay(DateUtil.getStartTimeOfDay(),-addDay) ;
List<String> list = this.mapper.listNoDepartStaff(wxEnterpriseId, addDate) ;
if(CollectionUtils.isNotEmpty(list)) {
logger.info("修复成员部门,成员数={}",list.size());
DingUtils.send("修复无部门成员消息,数量="+list.size(), false);
for(String staffId : list) {
this.repairStaffDepart(staffId);
}
}
logger.info("修复成员部门完成={}",params);
}
@Override
public void repairStaffDepart(String staffId) {
TabHaobanStaff staff = this.staffMapper.selectByPrimaryKey(staffId) ;
String wxEnterpriseId = staff.getWxEnterpriseId() ;
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
if(null == qwDTO) {
return ;
}
String wxUserId = staff.getWxUserId() ;
if(qwDTO.needOpenUserIdDk()) {
wxUserId = staff.getWxOpenUseId() ;
}
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(qwDTO.getWxEnterpriseId(), SecretTypeEnum.CUSTOMIZED_APP.getVal());
if (null != secretSetting && StringUtils.isNotBlank(secretSetting.getSecretVal())) {
UserDTO user = qywxUserApiService.getSelfWorkWxUser(qwDTO.getDkCorpid(), secretSetting.getSecretVal(), wxUserId);
logger.info("成员详情(代开)={}",JSON.toJSONString(user)) ;
if(null != user.getDepartment()) {
this.staffDepartChange(staff, wxEnterpriseId, user.getDepartment()); ;
}
}
}
public void staffDepartChange(TabHaobanStaff staff, String wxEnterpriseId, Integer[] departmentIds) {
//更新部门
List<String> wxDepartIds = new ArrayList<>();
for (Integer wDId : departmentIds) {
wxDepartIds.add(wDId.toString());
}
//关联部门
List<DepartmentDTO> departmentDTOList = departmentService.listDepartmentByWxDepartIds(wxEnterpriseId, wxDepartIds);
if (CollectionUtils.isEmpty(departmentDTOList)) {
logger.info("部门没有更新或同步:{}", wxEnterpriseId);
return;
}
//已存在部门
List<TabHaobanStaffDepartmentRelated> hasRelation = this.listStaffDepartmentByStaffId(staff.getStaffId());
Map<String, TabHaobanStaffDepartmentRelated> hasRelationMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(hasRelation)) {
hasRelationMap = hasRelation.stream().collect(Collectors.toMap(TabHaobanStaffDepartmentRelated::getDepartmentId, tab -> tab));
}
//新增操作
for (DepartmentDTO departmentDTO : departmentDTOList) {
if (!hasRelationMap.containsKey(departmentDTO.getDepartmentId())) {
StaffDepartmentRelatedDTO dto = new StaffDepartmentRelatedDTO();
dto.setPhoneNumber(staff.getPhoneNumber());
dto.setStaffId(staff.getStaffId());
dto.setStaffName(staff.getStaffName());
dto.setWxEnterpriseId(wxEnterpriseId);
dto.setStatusFlag(1);
dto.setDepartmentId(departmentDTO.getDepartmentId());
dto.setNationCode(staff.getNationCode());
this.add(dto);
}
}
//删除操作
Set<String> newDepartIds = departmentDTOList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toSet());
Set<String> hasDepartIds = hasRelationMap.keySet();
Sets.SetView<String> delDepartIds = Sets.difference(hasDepartIds, newDepartIds);
Sets.SetView<String> updateDepartIds = Sets.intersection(newDepartIds, hasDepartIds);//交集
logger.info("删除部门:{}", JSONObject.toJSONString(delDepartIds));
if (CollectionUtils.isNotEmpty(delDepartIds)) {
for (String delDepartId : delDepartIds) {
TabHaobanStaffDepartmentRelated departmentRelated = hasRelationMap.get(delDepartId);
if (null != departmentRelated) {
StaffDepartmentRelatedDTO relatedDTO = new StaffDepartmentRelatedDTO();
relatedDTO.setStaffDepartmentRelatedId(departmentRelated.getStaffDepartmentRelatedId());
this.del(relatedDTO);
}
}
}
if (CollectionUtils.isNotEmpty(updateDepartIds)) {
for (String updateDeId : updateDepartIds) {
TabHaobanStaffDepartmentRelated departmentRelated = hasRelationMap.get(updateDeId);
if (null != departmentRelated) {
departmentRelated.setPhoneNumber(staff.getPhoneNumber());
departmentRelated.setStaffName(staff.getStaffName());
departmentRelated.setNationCode(staff.getNationCode());
departmentRelated.setUpdateTime(new Date());
this.update(departmentRelated);
}
}
}
}
} }
...@@ -91,12 +91,10 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -91,12 +91,10 @@ public class WelcomeServiceImpl implements WelcomeService {
@Autowired @Autowired
private WelcomeRelationService welcomeRelationService; private WelcomeRelationService welcomeRelationService;
@Autowired @Autowired
private KeyDataService keyDataService;
@Autowired
private HmLinkService linkService; private HmLinkService linkService;
@Autowired @Autowired
private HmQrcodeService qrcodeService; private HmQrcodeService qrcodeService;
private static final int WELCOME_LIMIT = 50; private static final int WELCOME_LIMIT = 100;
private static final int DEPARTMENT_NUM_LIMIT = 10000; private static final int DEPARTMENT_NUM_LIMIT = 10000;
private static final int STAFF_NUM_LIMIT = 2000; private static final int STAFF_NUM_LIMIT = 2000;
private static final int MEDIA_NUM_LIMIT = 9; private static final int MEDIA_NUM_LIMIT = 9;
...@@ -144,10 +142,10 @@ public class WelcomeServiceImpl implements WelcomeService { ...@@ -144,10 +142,10 @@ public class WelcomeServiceImpl implements WelcomeService {
long count = welcomeMapper.countByWxEnterpriseId(bo.getWxEnterpriseId(), bo.getType()); long count = welcomeMapper.countByWxEnterpriseId(bo.getWxEnterpriseId(), bo.getType());
if (count >= WELCOME_LIMIT) { if (count >= WELCOME_LIMIT) {
if (HmWelcomeType.NORMAL.getCode().equals(bo.getType())){ if (HmWelcomeType.NORMAL.getCode().equals(bo.getType())){
return "普通欢迎语最多可创建50条"; return "普通欢迎语最多可创建"+WELCOME_LIMIT+"条";
} }
if (HmWelcomeType.SPECIAL.getCode().equals(bo.getType())){ if (HmWelcomeType.SPECIAL.getCode().equals(bo.getType())){
return "特殊欢迎语最多可创建50条"; return "特殊欢迎语最多可创建"+WELCOME_LIMIT+"条";
} }
return "欢迎语条目超过限制"; return "欢迎语条目超过限制";
} }
......
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.EnterpriseSettingDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper; import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.pojo.bo.WxEnterpriseRelationBO;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService; import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -30,6 +36,8 @@ public class WxEnterpriseRelatedServiceImpl implements WxEnterpriseRelatedServic ...@@ -30,6 +36,8 @@ public class WxEnterpriseRelatedServiceImpl implements WxEnterpriseRelatedServic
@Autowired @Autowired
private WxEnterpriseMapper wxEnterpriseMapper; private WxEnterpriseMapper wxEnterpriseMapper;
@Autowired
private EnterpriseService enterpriseService ;
@Override @Override
public TabHaobanWxEnterpriseRelated getByGicEnterpriseIdByEnterpriseRelatedId(String wxEnterpriseRelatedId) { public TabHaobanWxEnterpriseRelated getByGicEnterpriseIdByEnterpriseRelatedId(String wxEnterpriseRelatedId) {
...@@ -75,4 +83,43 @@ public class WxEnterpriseRelatedServiceImpl implements WxEnterpriseRelatedServic ...@@ -75,4 +83,43 @@ public class WxEnterpriseRelatedServiceImpl implements WxEnterpriseRelatedServic
List<TabHaobanWxEnterpriseRelated> list = this.mapper.listByEnterpriseId(enterpriseId) ; List<TabHaobanWxEnterpriseRelated> list = this.mapper.listByEnterpriseId(enterpriseId) ;
return list.size(); return list.size();
} }
@Override
public WxEnterpriseRelationBO getHeadEnterprise(String enterpriseId) {
TabHaobanWxEnterpriseRelated root = this.mapper.findRootWxEnterpriseByEnterpriseId(enterpriseId) ;
if(null != root) {
return EntityUtil.changeEntityByJSON(WxEnterpriseRelationBO.class, root);
}
return null;
}
@Override
public boolean getAddByWelcomeFlag(TabHaobanWxEnterpriseRelated wxEnterpriseRelated, String unionid , boolean isHmUnionid) {
int openCardFlag = wxEnterpriseRelated.getMemberOpenCardFlag() ;
int wxEnterpriseType = wxEnterpriseRelated.getWxEnterpriseType() ;
// 活码
if(StringUtils.isNotBlank(unionid) && isHmUnionid) {
return false ;
}
// unionid存在,并且在同一开放平台,可以创建客户
if(StringUtils.isNotBlank(unionid) && openCardFlag==0) {
return false ;
}
String enterpriseId = wxEnterpriseRelated.getEnterpriseId() ;
EnterpriseSettingDTO setting = this.enterpriseService.getEnterpriseSettingByEnterpriseId(enterpriseId) ;
String customSetting = setting.getCustomSetting() ;
boolean settFlag = true ;
if(StringUtils.isNotBlank(customSetting)) {
JSONObject json = JSON.parseObject(customSetting) ;
String pendingidFlag = json.getString("qwPendingidFlag") ;
if(StringUtils.isBlank(pendingidFlag) || "0".equals(pendingidFlag)) {
settFlag = false ;
}
}
if(openCardFlag == 0 && wxEnterpriseType ==0 && settFlag) {
return false ;
}
return true ;
}
} }
...@@ -65,6 +65,9 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService { ...@@ -65,6 +65,9 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService {
@Override @Override
public WxEnterpriseQwDTO getQwInfo(String wxEnterpriseId) { public WxEnterpriseQwDTO getQwInfo(String wxEnterpriseId) {
TabHaobanWxEnterprise wxEnterprise = this.mapper.selectByPrimaryKey(wxEnterpriseId) ; TabHaobanWxEnterprise wxEnterprise = this.mapper.selectByPrimaryKey(wxEnterpriseId) ;
if(null == wxEnterprise) {
return null ;
}
WxEnterpriseQwDTO qw = new WxEnterpriseQwDTO(); WxEnterpriseQwDTO qw = new WxEnterpriseQwDTO();
qw.setWxEnterpriseId(wxEnterpriseId); qw.setWxEnterpriseId(wxEnterpriseId);
if(null != wxEnterprise.getWxSecurityType()) { if(null != wxEnterprise.getWxSecurityType()) {
...@@ -124,14 +127,6 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService { ...@@ -124,14 +127,6 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService {
} }
@Override @Override
public TabHaobanWxEnterprise getEnterpriseByCorpName(String corpName) {
if (StringUtils.isBlank(corpName)) {
return null;
}
return this.mapper.getEnterpriseByCorpName(corpName);
}
@Override
public List<TabHaobanWxEnterprise> listAll() { public List<TabHaobanWxEnterprise> listAll() {
return mapper.listAll(); return mapper.listAll();
} }
......
...@@ -142,7 +142,8 @@ public class AuditApiServiceImpl implements AuditApiService { ...@@ -142,7 +142,8 @@ public class AuditApiServiceImpl implements AuditApiService {
tab.setAuditStatus(5); tab.setAuditStatus(5);
String reason = "该成员在该门店下已经绑定过一个导购了"; String reason = "该成员在该门店下已经绑定过一个导购了";
if (clerkDTO != null) { if (clerkDTO != null) {
if (clerkDTO.getClerkType() == 2) { Integer clerkType = clerkDTO.getClerkType();
if (clerkType == 2) {
reason = "该成员在该商户下已经绑定过一个区经了"; reason = "该成员在该商户下已经绑定过一个区经了";
} }
} }
......
...@@ -215,22 +215,12 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -215,22 +215,12 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
externalClerkRelated.setStatusFlag(1); externalClerkRelated.setStatusFlag(1);
tabHaobanExternalClerkRelatedMapper.updateByPrimaryKeySelective(externalClerkRelated); tabHaobanExternalClerkRelatedMapper.updateByPrimaryKeySelective(externalClerkRelated);
//更新unionid
MemberUnionidRelated memberUnionidRelated = memberUnionidRelatedMapper.selectByPrimaryKey(externalClerkRelated.getMemberUnionidRelatedId());
if (memberUnionidRelated != null) {
memberUnionidRelated.setMemberId(memberId);
memberUnionidRelated.setUnionid(unionid);
memberUnionidRelated.setEnterpriseId(enterpriseId);
memberUnionidRelated.setUpdateTime(new Date());
memberUnionidRelatedMapper.updateByPrimaryKeySelective(memberUnionidRelated);
}
String wxEnterpriseId = externalClerkRelated.getWxEnterpriseId(); String wxEnterpriseId = externalClerkRelated.getWxEnterpriseId();
//同步标签 //同步标签
pushTagSync(memberId, wxEnterpriseId, enterpriseId); pushTagSync(memberId, wxEnterpriseId, enterpriseId);
//回调给会员,更新是否为企微好友 //回调给会员,更新是否为企微好友
log.info("通知会员 合并会员后更新为企微好友,memberId:{}", memberId); log.info("通知会员 合并会员后更新为企微好友,memberId:{}", memberId);
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1); memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
//定制 //定制
addDelFriendEvent(unionid, externalClerkRelated.getClerkId(), wxEnterpriseId, enterpriseId, memberId, externalClerkRelated.getStoreId(), 1); addDelFriendEvent(unionid, externalClerkRelated.getClerkId(), wxEnterpriseId, enterpriseId, memberId, externalClerkRelated.getStoreId(), 1);
//日志 //日志
......
...@@ -6,6 +6,7 @@ import org.springframework.stereotype.Service; ...@@ -6,6 +6,7 @@ import org.springframework.stereotype.Service;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.service.HaobanTimerApiService; import com.gic.haoban.manage.api.service.HaobanTimerApiService;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService; import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeTempService; import com.gic.haoban.manage.service.service.hm.HmQrcodeTempService;
@Service("haobanTimerApiService") @Service("haobanTimerApiService")
...@@ -13,10 +14,10 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService { ...@@ -13,10 +14,10 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
@Autowired @Autowired
private HmQrcodeTempService hmQrcodeTempService ; private HmQrcodeTempService hmQrcodeTempService ;
@Autowired @Autowired
private ExternalClerkRelatedService externalClerkRelatedService ; private ExternalClerkRelatedService externalClerkRelatedService ;
@Autowired
private StaffDepartmentRelatedService staffDepartmentRelatedService ;
@Override @Override
public ServiceResponse<Void> deleteTempWxHm(String params) { public ServiceResponse<Void> deleteTempWxHm(String params) {
...@@ -29,6 +30,11 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService { ...@@ -29,6 +30,11 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
this.externalClerkRelatedService.repairExternalUserId(wxEnterpriseId) ; this.externalClerkRelatedService.repairExternalUserId(wxEnterpriseId) ;
return ServiceResponse.success(); return ServiceResponse.success();
} }
@Override
public ServiceResponse<Void> repairStaffDepart(String params) {
this.staffDepartmentRelatedService.repairAllStaffDepart(params);
return ServiceResponse.success();
}
} }
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
...@@ -33,7 +49,16 @@ import com.gic.haoban.manage.service.entity.TabHaobanDepartment; ...@@ -33,7 +49,16 @@ import com.gic.haoban.manage.service.entity.TabHaobanDepartment;
import com.gic.haoban.manage.service.entity.TabHaobanStaff; import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated; import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import com.gic.haoban.manage.service.entity.TabHaobanSyncErrorLog; import com.gic.haoban.manage.service.entity.TabHaobanSyncErrorLog;
import com.gic.haoban.manage.service.service.*; import com.gic.haoban.manage.service.service.DepartmentService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
import com.gic.haoban.manage.service.service.StaffPrivacyUseLogService;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.StoreRangeService;
import com.gic.haoban.manage.service.service.SyncErrorLogService;
import com.gic.haoban.manage.service.service.UserLoginLogService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.util.EmojiFilterUtil; import com.gic.haoban.manage.service.util.EmojiFilterUtil;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.thirdparty.api.dto.PicUploadResDTO; import com.gic.thirdparty.api.dto.PicUploadResDTO;
...@@ -43,17 +68,6 @@ import com.gic.wechat.api.dto.qywx.UserDTO; ...@@ -43,17 +68,6 @@ import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Service @Service
public class StaffApiServiceImpl implements StaffApiService { public class StaffApiServiceImpl implements StaffApiService {
...@@ -90,8 +104,6 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -90,8 +104,6 @@ public class StaffApiServiceImpl implements StaffApiService {
@Autowired @Autowired
private StaffPrivacyUseLogService staffPrivacyUseLogService; private StaffPrivacyUseLogService staffPrivacyUseLogService;
@Autowired @Autowired
private WxApplicationService wxApplicationService;
@Autowired
private StoreWidgetService storeWidgetService; private StoreWidgetService storeWidgetService;
@Autowired @Autowired
private PowerService powerService; private PowerService powerService;
...@@ -123,6 +135,10 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -123,6 +135,10 @@ public class StaffApiServiceImpl implements StaffApiService {
@Override @Override
public List<StaffDepartmentRelatedDTO> listStaffDepartmentByStaffId(String staffId) { public List<StaffDepartmentRelatedDTO> listStaffDepartmentByStaffId(String staffId) {
List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedService.listStaffDepartmentByStaffId(staffId); List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedService.listStaffDepartmentByStaffId(staffId);
// 如果成员部门为空,修复部门数据
if(CollectionUtils.isEmpty(list)) {
this.staffDepartmentRelatedService.repairStaffDepart(staffId);
}
return EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list); return EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list);
} }
...@@ -250,7 +266,7 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -250,7 +266,7 @@ public class StaffApiServiceImpl implements StaffApiService {
staffService.updateByPrimaryKey(staff); staffService.updateByPrimaryKey(staff);
} }
logger.info("staff变更保存:{}", JSONObject.toJSONString(user)); logger.info("staff变更保存:{}", JSONObject.toJSONString(user));
staffDepartChange(staff, wxEnterpriseId, user); this.staffDepartmentRelatedService.staffDepartChange(staff, wxEnterpriseId, user.getDepartment());
// 返回结果带上员工姓名 // 返回结果带上员工姓名
res.setResult(staff.getStaffName()); res.setResult(staff.getStaffName());
return res; return res;
...@@ -320,74 +336,6 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -320,74 +336,6 @@ public class StaffApiServiceImpl implements StaffApiService {
return arr; return arr;
} }
private void staffDepartChange(TabHaobanStaff staff, String wxEnterpriseId, UserDTO user) {
//更新部门
Integer[] departmentIds = user.getDepartment();
List<String> wxDepartIds = new ArrayList<>();
for (Integer wDId : departmentIds) {
wxDepartIds.add(wDId.toString());
}
//关联部门
List<DepartmentDTO> departmentDTOList = departmentService.listDepartmentByWxDepartIds(wxEnterpriseId, wxDepartIds);
if (CollectionUtils.isEmpty(departmentDTOList)) {
logger.info("部门没有更新或同步:{}", wxEnterpriseId);
return;
}
//已存在部门
List<TabHaobanStaffDepartmentRelated> hasRelation = staffDepartmentRelatedService.listStaffDepartmentByStaffId(staff.getStaffId());
Map<String, TabHaobanStaffDepartmentRelated> hasRelationMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(hasRelation)) {
hasRelationMap = hasRelation.stream().collect(Collectors.toMap(TabHaobanStaffDepartmentRelated::getDepartmentId, tab -> tab));
}
//新增操作
for (DepartmentDTO departmentDTO : departmentDTOList) {
if (!hasRelationMap.containsKey(departmentDTO.getDepartmentId())) {
StaffDepartmentRelatedDTO dto = new StaffDepartmentRelatedDTO();
dto.setPhoneNumber(staff.getPhoneNumber());
dto.setStaffId(staff.getStaffId());
dto.setStaffName(user.getName());
dto.setWxEnterpriseId(wxEnterpriseId);
dto.setStatusFlag(1);
dto.setDepartmentId(departmentDTO.getDepartmentId());
dto.setNationCode(staff.getNationCode());
dto.setStaffName(user.getName());
staffDepartmentRelatedService.add(dto);
}
}
//删除操作
Set<String> newDepartIds = departmentDTOList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toSet());
Set<String> hasDepartIds = hasRelationMap.keySet();
Sets.SetView<String> delDepartIds = Sets.difference(hasDepartIds, newDepartIds);
Sets.SetView<String> updateDepartIds = Sets.intersection(newDepartIds, hasDepartIds);//交集
logger.info("删除部门:{}", JSONObject.toJSONString(delDepartIds));
if (CollectionUtils.isNotEmpty(delDepartIds)) {
for (String delDepartId : delDepartIds) {
TabHaobanStaffDepartmentRelated departmentRelated = hasRelationMap.get(delDepartId);
if (null != departmentRelated) {
StaffDepartmentRelatedDTO relatedDTO = new StaffDepartmentRelatedDTO();
relatedDTO.setStaffDepartmentRelatedId(departmentRelated.getStaffDepartmentRelatedId());
staffDepartmentRelatedService.del(relatedDTO);
}
}
}
if (CollectionUtils.isNotEmpty(updateDepartIds)) {
for (String updateDeId : updateDepartIds) {
TabHaobanStaffDepartmentRelated departmentRelated = hasRelationMap.get(updateDeId);
if (null != departmentRelated) {
departmentRelated.setPhoneNumber(staff.getPhoneNumber());
departmentRelated.setStaffName(staff.getStaffName());
departmentRelated.setNationCode(staff.getNationCode());
departmentRelated.setUpdateTime(new Date());
staffDepartmentRelatedService.update(departmentRelated);
}
}
}
}
@Override @Override
public ServiceResponse wxGetAdd(String userId, String wxEnterpriseId) { public ServiceResponse wxGetAdd(String userId, String wxEnterpriseId) {
RedisUtil.lock("haoban_add_user" + wxEnterpriseId + userId, 2L); RedisUtil.lock("haoban_add_user" + wxEnterpriseId + userId, 2L);
...@@ -1018,4 +966,9 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -1018,4 +966,9 @@ public class StaffApiServiceImpl implements StaffApiService {
} }
return false; return false;
} }
@Override
public List<StaffDTO> listBindStoreIds(List<String> storeIds, String wxEnterpriseId) {
return staffMapper.listBindStoreIds(storeIds,wxEnterpriseId);
}
} }
...@@ -123,8 +123,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -123,8 +123,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} }
@Override @Override
public List<StaffClerkRelationDTO> listBindCode(String wxEnterpriseId,String enterpriseId, Set<String> clerkCodeList) { public List<StaffClerkRelationDTO> listBindCode(String wxEnterpriseId, String enterpriseId, Set<String> clerkCodeList) {
return staffClerkRelationService.listBindCode(wxEnterpriseId,enterpriseId, clerkCodeList); return staffClerkRelationService.listBindCode(wxEnterpriseId, enterpriseId, clerkCodeList);
} }
@Override @Override
...@@ -163,9 +163,10 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -163,9 +163,10 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override @Override
public ServiceResponse bindStaffClerk(StaffClerkRelationDTO staffClerkRelationDTO, String optStaffId, int channelCode) { public ServiceResponse bindStaffClerk(StaffClerkRelationDTO staffClerkRelationDTO, String optStaffId, int channelCode) {
ServiceResponse resp = this.bindCheck(staffClerkRelationDTO, optStaffId, channelCode) ; ServiceResponse resp = this.bindCheck(staffClerkRelationDTO, optStaffId, channelCode);
if(null != resp) { if (resp != null && !resp.isSuccess()) {
return resp ; logger.error("不允许绑定:{}", resp.getMessage());
return resp;
} }
String relationId = staffClerkRelationService.bind(staffClerkRelationDTO, optStaffId, channelCode); String relationId = staffClerkRelationService.bind(staffClerkRelationDTO, optStaffId, channelCode);
return ServiceResponse.success(relationId); return ServiceResponse.success(relationId);
...@@ -186,26 +187,35 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -186,26 +187,35 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} else { } else {
StaffClerkRelationDTO relationDTO = staffClerkRelationService.getBindByClerkId(clerkId, wxEnterpriseId); StaffClerkRelationDTO relationDTO = staffClerkRelationService.getBindByClerkId(clerkId, wxEnterpriseId);
if (null != relationDTO) { if (null != relationDTO) {
logger.info("已经被绑定,不能绑定");
return ServiceResponse.failure("2", "已经被绑定,不能绑定"); return ServiceResponse.failure("2", "已经被绑定,不能绑定");
} }
} }
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_BIND.getCode(),wxEnterpriseId,enterpriseId); AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_BIND.getCode(), wxEnterpriseId, enterpriseId);
if (null != auditDTO) { if (null != auditDTO) {
logger.info("该导购已经被被申请绑定,请审核处理后再绑定");
return ServiceResponse.failure("4", "该导购已经被被申请绑定,请审核处理后再绑定"); return ServiceResponse.failure("4", "该导购已经被被申请绑定,请审核处理后再绑定");
} }
List<AuditDTO> list = auditApiService.listByStoreId(staffClerkRelationDTO.getStoreId()); List<AuditDTO> list = auditApiService.listByStoreId(staffClerkRelationDTO.getStoreId());
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
Set<String> staffIds = list.stream().map(AuditDTO::getCommitStaffId).collect(Collectors.toSet()); Set<String> staffIds = list.stream().map(AuditDTO::getCommitStaffId).collect(Collectors.toSet());
if (staffIds.contains(staffId)) { if (staffIds.contains(staffId)) {
logger.info("该成员已经已经在该门店下申请了绑定,请审核处理后再绑定");
return ServiceResponse.failure("5", "该成员已经已经在该门店下申请了绑定,请审核处理后再绑定"); return ServiceResponse.failure("5", "该成员已经已经在该门店下申请了绑定,请审核处理后再绑定");
} }
} }
StaffClerkRelationDTO storeHasBind = staffClerkRelationService.getOneBindByStoreId(staffId, staffClerkRelationDTO.getStoreId()); StaffClerkRelationDTO storeHasBind = staffClerkRelationService.getOneBindByStoreId(staffId, staffClerkRelationDTO.getStoreId());
if (storeHasBind != null) { if (storeHasBind != null) {
logger.info("该导购已在该门店下有其它成员绑定");
return ServiceResponse.failure("3", "该导购已在该门店下有其它成员绑定"); return ServiceResponse.failure("3", "该导购已在该门店下有其它成员绑定");
} }
return null ; List<StaffClerkRelationDTO> staffClerkRelationDTOS = staffClerkRelationService.listManageBindByStaffId(staffId);
if (CollectionUtils.isNotEmpty(staffClerkRelationDTOS)) {
logger.info("该导购已绑定区经,不允许绑定导购");
return ServiceResponse.failure("3", "该导购已绑定区经,不允许绑定导购");
}
return null;
} }
@Override @Override
...@@ -226,7 +236,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -226,7 +236,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (CollectionUtil.isEmpty(clerkIds)) { if (CollectionUtil.isEmpty(clerkIds)) {
return Collections.emptyList(); return Collections.emptyList();
} }
return EntityUtil.changeEntityListNew(StaffClerkRelationDTO.class,tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds, null)); return EntityUtil.changeEntityListNew(StaffClerkRelationDTO.class, tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds, null));
} }
@Override @Override
...@@ -234,7 +244,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -234,7 +244,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (CollectionUtil.isEmpty(clerkIds)) { if (CollectionUtil.isEmpty(clerkIds)) {
return Collections.emptyList(); return Collections.emptyList();
} }
return EntityUtil.changeEntityListNew(StaffClerkRelationDTO.class,tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds, wxEnterpriseId)); return EntityUtil.changeEntityListNew(StaffClerkRelationDTO.class, tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds, wxEnterpriseId));
} }
@Override @Override
...@@ -295,6 +305,12 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -295,6 +305,12 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
return serviceResponse; return serviceResponse;
} }
} }
String staffId = staffClerkRelation.getStaffId();
List<StaffClerkRelationDTO> staffClerkRelationDTOS = staffClerkRelationService.listManageBindByStaffId(staffId);
if (CollectionUtils.isNotEmpty(staffClerkRelationDTOS)) {
logger.info("该导购已绑定区经,不允许绑定导购");
return ServiceResponse.failure("3", "该导购已绑定区经,不允许绑定导购");
}
if (StringUtils.isNotBlank(staffClerkRelation.getStaffClerkRelationId())) { if (StringUtils.isNotBlank(staffClerkRelation.getStaffClerkRelationId())) {
TabHaobanStaffClerkRelation oldStaffClerkRelation = tabHaobanStaffClerkRelationMapper.selectByPrimaryKey(staffClerkRelation.getStaffClerkRelationId()); TabHaobanStaffClerkRelation oldStaffClerkRelation = tabHaobanStaffClerkRelationMapper.selectByPrimaryKey(staffClerkRelation.getStaffClerkRelationId());
tabHaobanStaffClerkRelationMapper.delByPrimaryKey(staffClerkRelation.getStaffClerkRelationId()); tabHaobanStaffClerkRelationMapper.delByPrimaryKey(staffClerkRelation.getStaffClerkRelationId());
...@@ -488,9 +504,9 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -488,9 +504,9 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} }
} else if (type == 2) { } else if (type == 2) {
logger.info("导购门店转移,新的导购和门店,clerkId={},storeId={}", clerkId, clerkSyncQDTO.getStoreId()); logger.info("导购门店转移,新的导购和门店,clerkId={},storeId={}", clerkId, clerkSyncQDTO.getStoreId());
StaffClerkRelationDTO oldRelationDTO = staffClerkRelationService.getByCodeAndEnterpriseId(clerkCode,enterpriseId); StaffClerkRelationDTO oldRelationDTO = staffClerkRelationService.getByCodeAndEnterpriseId(clerkCode, enterpriseId);
if (null == oldRelationDTO) { if (null == oldRelationDTO) {
logger.info("导购未关联成员,clerkCode={}",clerkCode); logger.info("导购未关联成员,clerkCode={}", clerkCode);
return; return;
} }
/* StaffClerkRelationDTO oldRelationDTO = staffClerkRelationService.getByClerkId(oldClerkId); /* StaffClerkRelationDTO oldRelationDTO = staffClerkRelationService.getByClerkId(oldClerkId);
...@@ -530,25 +546,25 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -530,25 +546,25 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} }
} }
} }
// 导购门店转移 // 导购门店转移
private void moveOrAddClerk(ClerkSyncQDTO clerkSyncQDTO, StaffClerkRelationDTO oldRelationDTO) { private void moveOrAddClerk(ClerkSyncQDTO clerkSyncQDTO, StaffClerkRelationDTO oldRelationDTO) {
boolean flag = false ; boolean flag = false;
if(null != RedisUtil.getCache("clerkMoveFlag2022")) { if (null != RedisUtil.getCache("clerkMoveFlag2022")) {
flag = true ; flag = true;
} }
if(flag) { if (flag) {
String oldClerkId = oldRelationDTO.getClerkId(); String oldClerkId = oldRelationDTO.getClerkId();
this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), clerkSyncQDTO.getClerkId()); this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), clerkSyncQDTO.getClerkId());
// 设置新的ID // 设置新的ID
oldRelationDTO.setClerkId(clerkSyncQDTO.getClerkId()); oldRelationDTO.setClerkId(clerkSyncQDTO.getClerkId());
oldRelationDTO.setStoreId(clerkSyncQDTO.getStoreId()); oldRelationDTO.setStoreId(clerkSyncQDTO.getStoreId());
ServiceResponse response = this.bindCheck(oldRelationDTO, "-1", ChannelCodeEnum.SYNC_BIND.getCode()) ; ServiceResponse response = this.bindCheck(oldRelationDTO, "-1", ChannelCodeEnum.SYNC_BIND.getCode());
logger.info("绑定结果正常:{},{}", JSONObject.toJSONString(response), oldRelationDTO.getClerkId()); logger.info("绑定结果正常:{},{}", JSONObject.toJSONString(response), oldRelationDTO.getClerkId());
if(response==null) { if (response == null) {
this.staffClerkRelationService.insert(oldRelationDTO) ; this.staffClerkRelationService.insert(oldRelationDTO);
} }
}else { } else {
String oldClerkId = oldRelationDTO.getClerkId(); String oldClerkId = oldRelationDTO.getClerkId();
this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), null); this.staffClerkRelationService.delBind(oldClerkId, "-1", ChannelCodeEnum.SYNC_UNBIND.getCode(), null);
// 设置新的ID // 设置新的ID
......
package com.gic.haoban.manage.service.util;
public enum QwInterfaceLimitEnum {
GET_PENDING_ID("qw_limit_pending_id", "unionid查询external_userid接口", 0);
private String name;
private String remark;
private int type;
private QwInterfaceLimitEnum(String name, String remark, int type) {
this.name = name;
this.remark = remark;
this.type = type;
}
public String getName() {
return name;
}
public String getRemark() {
return remark;
}
public int getType() {
return type;
}
public void setName(String name) {
this.name = name;
}
public void setRemark(String remark) {
this.remark = remark;
}
public void setType(int type) {
this.type = type;
}
}
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.KeyDataApiService" ref="keyDataApiService" timeout="10000"/> <dubbo:service interface="com.gic.haoban.manage.api.service.KeyDataApiService" ref="keyDataApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmLinkApiService" ref="hmLinkApiService" timeout="10000"/> <dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmLinkApiService" ref="hmLinkApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.HaobanUserApiService" ref="haobanUserApiService" timeout="10000"/> <dubbo:service interface="com.gic.haoban.manage.api.service.HaobanUserApiService" ref="haobanUserApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.QwFriendApiService" ref="qwFriendApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.ApplicationApiService" ref="applicationApiServiceImpl" <dubbo:service interface="com.gic.haoban.manage.api.service.ApplicationApiService" ref="applicationApiServiceImpl"
timeout="10000"/> timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.TestApiService" ref="testServiceImpl" timeout="10000"/> <dubbo:service interface="com.gic.haoban.manage.api.service.TestApiService" ref="testServiceImpl" timeout="10000"/>
...@@ -46,8 +47,6 @@ ...@@ -46,8 +47,6 @@
timeout="10000"/> timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService" <dubbo:service interface="com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService"
ref="memberUnionidRelatedApiServiceImpl" timeout="10000"/> ref="memberUnionidRelatedApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.BindApiService" ref="bindApiServiceImpl"
timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.ApplicationSettingApiService" <dubbo:service interface="com.gic.haoban.manage.api.service.ApplicationSettingApiService"
ref="applicationSettingApiServiceImpl" timeout="10000"/> ref="applicationSettingApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.AuditSettingApiService" ref="auditSettingApiServiceImpl" <dubbo:service interface="com.gic.haoban.manage.api.service.AuditSettingApiService" ref="auditSettingApiServiceImpl"
...@@ -134,8 +133,7 @@ ...@@ -134,8 +133,7 @@
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/> <dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" ref="haobanMenuApiServiceImpl"/> <dubbo:service interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" ref="haobanMenuApiServiceImpl"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.role.HaobanRoleApiService" ref="haobanRoleApiServiceImpl"/> <dubbo:service interface="com.gic.haoban.manage.api.service.role.HaobanRoleApiService" ref="haobanRoleApiServiceImpl"/>
<dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/> <dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService" <dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService"
id="qywxDepartmentApiService"/> id="qywxDepartmentApiService"/>
...@@ -191,7 +189,7 @@ ...@@ -191,7 +189,7 @@
interface="com.gic.enterprise.api.service.StoreWidgetService" timeout="10000" interface="com.gic.enterprise.api.service.StoreWidgetService" timeout="10000"
retries="0" check="false"/> retries="0" check="false"/>
<dubbo:reference id="memberTagOpenApiService" interface="com.gic.member.tag.api.service.MemberTagOpenApiService" timeout="10000" retries="0" check="false"/> <dubbo:reference id="memberTagOpenApiService" interface="com.gic.member.tag.api.service.MemberTagOpenApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxExternalUserService" id="qywxExternalUserService"/>
<dubbo:reference interface="com.gic.marketing.api.service.SmsService" id="smsService" timeout="10000" retries="0"/> <dubbo:reference interface="com.gic.marketing.api.service.SmsService" id="smsService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.marketing.api.service.AccountOverdueSmsSendService" id="accountOverdueSmsSendService" timeout="10000" retries="0"/> <dubbo:reference interface="com.gic.marketing.api.service.AccountOverdueSmsSendService" id="accountOverdueSmsSendService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.thirdparty.api.service.VoiceService" id="voiceService" timeout="10000" retries="0"/> <dubbo:reference interface="com.gic.thirdparty.api.service.VoiceService" id="voiceService" timeout="10000" retries="0"/>
......
...@@ -20,12 +20,6 @@ ...@@ -20,12 +20,6 @@
member_unionid_related_id, member_id, unionid, wx_enterprise_id, status_flag, external_userid, member_unionid_related_id, member_id, unionid, wx_enterprise_id, status_flag, external_userid,
staff_id, create_time, update_time,add_create_time,self_external_userid,external_name,enterprise_id staff_id, create_time, update_time,add_create_time,self_external_userid,external_name,enterprise_id
</sql> </sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_haoban_member_unionid_related
where member_unionid_related_id = #{memberUnionidRelatedId,jdbcType=VARCHAR}
</select>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.MemberUnionidRelated"> <insert id="insert" parameterType="com.gic.haoban.manage.service.entity.MemberUnionidRelated">
insert into tab_haoban_member_unionid_related (member_unionid_related_id, member_id, insert into tab_haoban_member_unionid_related (member_unionid_related_id, member_id,
unionid, wx_enterprise_id, status_flag, unionid, wx_enterprise_id, status_flag,
...@@ -39,102 +33,6 @@ ...@@ -39,102 +33,6 @@
#{enterpriseId}) #{enterpriseId})
</insert> </insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.MemberUnionidRelated">
update tab_haoban_member_unionid_related
<set>
<if test="memberId != null">
member_id = #{memberId,jdbcType=VARCHAR},
</if>
<if test="unionid != null">
unionid = #{unionid,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null">
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="externalUserid != null">
external_userid = #{externalUserid,jdbcType=VARCHAR},
</if>
<if test="staffId != null">
staff_id = #{staffId,jdbcType=VARCHAR},
</if>
<if test="addCreateTime != null">
add_create_time = #{addCreateTime,jdbcType=VARCHAR},
</if>
<if test="selfExternalUserid != null">
self_external_userid = #{selfExternalUserid,jdbcType=VARCHAR},
</if>
<if test="externalName != null">
external_name = #{externalName,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
update_time = now()
</set>
where member_unionid_related_id = #{memberUnionidRelatedId,jdbcType=VARCHAR}
</update>
<update id="cleanByCid">
update tab_haoban_member_unionid_related
set
status_flag = 0,
update_time=now()
where member_id is null
<if test="cid !=null">
and wx_enterprise_id = #{cid}
</if>
</update>
<select id="getByUnionId" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_haoban_member_unionid_related
where staff_id = #{staffId}
and wx_enterprise_id=#{wxEnterpriseId}
and status_flag = 1
and unionid = #{unionid}
limit 1
</select>
<update id="deleteByUnionidAndUserId" parameterType="com.gic.haoban.manage.service.entity.MemberUnionidRelated">
update tab_haoban_member_unionid_related
set status_flag = 0,
update_time=now()
where external_userid = #{externalUserid,jdbcType=VARCHAR}
and staff_id = #{staffId}
</update>
<update id="delMemberUnionidRelatedBatch" parameterType="com.gic.haoban.manage.service.entity.MemberUnionidRelated">
update tab_haoban_member_unionid_related
set status_flag = 0,update_time=now()
where
wx_enterprise_id=#{wxEnterpriseId}
and staff_id = #{staffId}
and external_userid in
<foreach collection="externalUserids" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</update>
<update id="cleanStaffRelated" parameterType="com.gic.haoban.manage.service.entity.MemberUnionidRelated">
update tab_haoban_member_unionid_related
set status_flag = 0,
update_time = now()
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and staff_id in
<foreach collection="staffIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
and status_flag = 1
</update>
<select id="getBySelfExternalUserId" resultMap="BaseResultMap"> <select id="getBySelfExternalUserId" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
...@@ -148,16 +46,6 @@ ...@@ -148,16 +46,6 @@
order by create_time desc limit 1 order by create_time desc limit 1
</select> </select>
<select id="listBySelfExternalUserId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_member_unionid_related
where wx_enterprise_id = #{wxEnterpriseId}
and status_flag = 1
and staff_id = #{staffId}
and self_external_userid = #{selfExternalUserId}
</select>
<select id="listByWxEnterpriseIdAndExternalUserId" resultMap="BaseResultMap"> <select id="listByWxEnterpriseIdAndExternalUserId" resultMap="BaseResultMap">
select select
external_userid, self_external_userid from tab_haoban_member_unionid_related external_userid, self_external_userid from tab_haoban_member_unionid_related
......
...@@ -187,6 +187,17 @@ ...@@ -187,6 +187,17 @@
from tab_haoban_staff_department_related from tab_haoban_staff_department_related
where status_flag = 1 where status_flag = 1
and wx_enterprise_id = #{wxEnterpriseId} and staff_id = #{staffId} and wx_enterprise_id = #{wxEnterpriseId} and staff_id = #{staffId}
</select>
<select id="listNoDepartStaff" resultType="String">
SELECT distinct(a.staff_id) FROM `tab_haoban_staff` a LEFT JOIN `tab_haoban_staff_department_related` b ON a.`staff_id` = b.`staff_id` AND b.`status_flag` = 1
WHERE
a.create_time >= #{addDate}
<if test="null != wxEnterpriseId">
and a.wx_enterprise_id = #{wxEnterpriseId}
</if>
AND a.status_flag = 1 AND b.`staff_department_related_id` IS NULL
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -28,7 +28,8 @@ ...@@ -28,7 +28,8 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <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, 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,add_num,active_status sort,sync_postion_flag,super_manager_flag,wx_open_user_id,wx_open_id,qr_code,add_num,active_status
</sql> </sql>
...@@ -38,7 +39,7 @@ ...@@ -38,7 +39,7 @@
from tab_haoban_staff from tab_haoban_staff
where staff_id = #{staffId,jdbcType=VARCHAR} and status_flag = 1 where staff_id = #{staffId,jdbcType=VARCHAR} and status_flag = 1
</select> </select>
<update id="delOtherStaffByWxUserId"> <update id="delOtherStaffByWxUserId">
update tab_haoban_staff update tab_haoban_staff
...@@ -282,11 +283,11 @@ ...@@ -282,11 +283,11 @@
select select
a.* a.*
<if test="departmentIds != null and departmentIds.size() > 0"> <if test="departmentIds != null and departmentIds.size() > 0">
, b.department_id departmentIds , b.department_id departmentIds
</if> </if>
from tab_haoban_staff a from tab_haoban_staff a
<if test="departmentIds != null and departmentIds.size() > 0"> <if test="departmentIds != null and departmentIds.size() > 0">
left join tab_haoban_staff_department_related b on a.staff_id = b.staff_id and b.status_flag = 1 left join tab_haoban_staff_department_related b on a.staff_id = b.staff_id and b.status_flag = 1
</if> </if>
where a.status_flag = 1 and a.wx_enterprise_id = #{wxEnterpriseId} where a.status_flag = 1 and a.wx_enterprise_id = #{wxEnterpriseId}
<if test="keyword != null and keyword != ''"> <if test="keyword != null and keyword != ''">
...@@ -314,7 +315,7 @@ ...@@ -314,7 +315,7 @@
</foreach> </foreach>
</if> </if>
<if test="departmentIds != null and departmentIds.size() > 0"> <if test="departmentIds != null and departmentIds.size() > 0">
group by a.staff_id group by a.staff_id
</if> </if>
order by a.create_time desc order by a.create_time desc
</select> </select>
...@@ -358,7 +359,7 @@ ...@@ -358,7 +359,7 @@
<foreach collection="userIds" item="id" index="index" open="(" close=")" separator=","> <foreach collection="userIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR} #{id,jdbcType=VARCHAR}
</foreach> </foreach>
or or
wx_open_user_id IN wx_open_user_id IN
<foreach collection="userIds" item="id" index="index" open="(" close=")" separator=","> <foreach collection="userIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR} #{id,jdbcType=VARCHAR}
...@@ -467,16 +468,17 @@ ...@@ -467,16 +468,17 @@
<update id="updateAddNumById" parameterType="java.lang.String"> <update id="updateAddNumById" parameterType="java.lang.String">
update tab_haoban_staff update tab_haoban_staff
set add_num = add_num +1, set add_num = add_num + 1,
update_time = now() update_time = now()
where staff_id = #{staffId} and status_flag = 1 where staff_id = #{staffId}
and status_flag = 1
</update> </update>
<update id="updateActiveStatusById" > <update id="updateActiveStatusById">
update tab_haoban_staff update tab_haoban_staff
set active_status = #{activeStatus}, set active_status = #{activeStatus},
update_time = now() update_time = now()
where staff_id = #{staffId} where staff_id = #{staffId}
</update> </update>
...@@ -489,4 +491,29 @@ ...@@ -489,4 +491,29 @@
where status_flag = 1 where status_flag = 1
</update> </update>
<select id="listBindStoreIds" resultType="com.gic.haoban.manage.api.dto.StaffDTO">
select
a.staff_id staffId,
a.phone_number phoneNumber,
a.staff_name staffName,
a.head_img headImg,
a.wx_enterprise_id wxEnterpriseId,
b.clerk_id clerkId,
b.clerk_code clerkCode,
b.enterprise_id enterpriseId,
b.store_id storeId
from tab_haoban_staff a
left join tab_haoban_staff_clerk_relation b on a.staff_id = b.staff_id
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.status_flag = 1 and b.status_flag = 1
<if test="null != storeIds and storeIds.size gt 0">
and b.store_id in
<foreach collection="storeIds" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
limit 100
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -91,6 +91,9 @@ ...@@ -91,6 +91,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
update_time, update_time,
</if> </if>
<if test="selfExternalUserid != null">
self_external_userid,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="externalClerkRelatedId != null"> <if test="externalClerkRelatedId != null">
...@@ -147,6 +150,9 @@ ...@@ -147,6 +150,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="selfExternalUserid != null">
#{selfExternalUserid},
</if>
</trim> </trim>
</insert> </insert>
<update id="updateByPrimaryKeySelective" <update id="updateByPrimaryKeySelective"
...@@ -211,11 +217,11 @@ ...@@ -211,11 +217,11 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<update id="delByUserIdAndExternalUserId" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" > <update id="delByUserIdAndExternalUserId">
update tab_haoban_external_clerk_related update tab_haoban_external_clerk_related
set status_flag = 2, set status_flag = 2,
update_time = now() update_time = now()
where external_user_id = #{externalUserId,jdbcType=VARCHAR} where external_user_id = #{externalUserId}
and staff_id = #{staffId} and staff_id = #{staffId}
and status_flag in (1, 3, 4) and status_flag in (1, 3, 4)
</update> </update>
......
...@@ -160,8 +160,11 @@ ...@@ -160,8 +160,11 @@
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
from tab_haoban_staff_clerk_relation from tab_haoban_staff_clerk_relation
where status_flag=1 where status_flag=1
and store_id = #{storeId,jdbcType=VARCHAR}
and staff_id = #{staffId,jdbcType=VARCHAR} and staff_id = #{staffId,jdbcType=VARCHAR}
<if test="null != storeId and storeId != ''">
and store_id = #{storeId}
</if>
order by update_time desc limit 1
</select> </select>
......
...@@ -473,15 +473,6 @@ ...@@ -473,15 +473,6 @@
order by create_time desc limit 1 order by create_time desc limit 1
</select> </select>
<select id="getEnterpriseByCorpName" resultMap="BaseResultMap" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_haoban_wx_enterprise
where corp_name = #{corpName} and status_flag = 1
order by create_time desc limit 1
</select>
<update id="updateExternalFlagById"> <update id="updateExternalFlagById">
update tab_haoban_wx_enterprise update tab_haoban_wx_enterprise
set external_flag = #{externalFlag}, set external_flag = #{externalFlag},
......
...@@ -27,11 +27,6 @@ ...@@ -27,11 +27,6 @@
from tab_haoban_wx_enterprise_related from tab_haoban_wx_enterprise_related
where wx_enterprise_related_id = #{wxEnterpriseRelatedId,jdbcType=VARCHAR} where wx_enterprise_related_id = #{wxEnterpriseRelatedId,jdbcType=VARCHAR}
</select> </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete
from tab_haoban_wx_enterprise_related
where wx_enterprise_related_id = #{wxEnterpriseRelatedId,jdbcType=VARCHAR}
</delete>
<update id="deleteByEnterpriseId"> <update id="deleteByEnterpriseId">
update tab_haoban_wx_enterprise_related set status_flag = 0 , update_time=now() where enterprise_id=#{enterpriseId} and status_flag=1 update tab_haoban_wx_enterprise_related set status_flag = 0 , update_time=now() where enterprise_id=#{enterpriseId} and status_flag=1
......
...@@ -129,6 +129,11 @@ ...@@ -129,6 +129,11 @@
<version>${haoban-config}</version> <version>${haoban-config}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.gic</groupId>
<artifactId>log-record-sdk</artifactId>
<version>${log-record-sdk}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId> <artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
...@@ -10,6 +11,7 @@ import com.gic.clerk.api.service.ClerkNewService; ...@@ -10,6 +11,7 @@ import com.gic.clerk.api.service.ClerkNewService;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.DateUtil; import com.gic.commons.util.DateUtil;
import com.gic.commons.util.ExcelUtils; import com.gic.commons.util.ExcelUtils;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.enterprise.api.service.StoreWidgetService; import com.gic.enterprise.api.service.StoreWidgetService;
...@@ -407,6 +409,27 @@ public class StaffController extends WebBaseController { ...@@ -407,6 +409,27 @@ public class StaffController extends WebBaseController {
} }
/** /**
* 是否展示区经 true是
* @return
*/
@RequestMapping("hasManagerFlag")
public RestResponse hasManagerFlag() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId();
List<EnterpriseDetailDTO> list = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtil.isEmpty(list)) {
return RestResponse.failure(Convert.toStr(HaoBanErrCode.ERR_10010.getCode()),HaoBanErrCode.ERR_10010.getMsg());
}
List<String> enterpriseIds = list.stream().filter(dto -> {
boolean over = wxEnterpriseApiService.enterpriseIsOver(dto.getEnterpriseId());
return !over;
}).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
List<ClerkDTO> clerkDTOList = clerkService.listClerkEnableHaoban(enterpriseIds, null);
boolean flag = CollectionUtils.isNotEmpty(clerkDTOList);
return RestResponse.successResult(flag);
}
/**
* @return 返回值类型: <pre> * @return 返回值类型: <pre>
* @author 作者: qwm * @author 作者: qwm
* @date 时间: 2020年12月18日 上午11:11:35 <pre> * @date 时间: 2020年12月18日 上午11:11:35 <pre>
......
...@@ -56,8 +56,6 @@ public class TestController extends WebBaseController { ...@@ -56,8 +56,6 @@ public class TestController extends WebBaseController {
@Autowired @Autowired
private QywxSuiteApiService qywxSuiteApiService; private QywxSuiteApiService qywxSuiteApiService;
@Autowired @Autowired
private MemberUnionidRelatedApiService memberUnionidRelatedApiService;
@Autowired
private TestApiService testApiService; private TestApiService testApiService;
@Autowired @Autowired
private MaidianLogApiService maidianLogApiService; private MaidianLogApiService maidianLogApiService;
...@@ -77,8 +75,19 @@ public class TestController extends WebBaseController { ...@@ -77,8 +75,19 @@ public class TestController extends WebBaseController {
private HmQrcodeApiService hmQrcodeApiService; private HmQrcodeApiService hmQrcodeApiService;
@Autowired @Autowired
private QywxCorpApiService qywxCorpApiService; private QywxCorpApiService qywxCorpApiService;
@Autowired
private QwFriendApiService qwFriendApiService ;
@RequestMapping("/pending-check")
public HaobanResponse pendingChec(String enterpriseId, String unionid,String openid,String wxaUnionid ,String wxaOpenid) {
return this.resultResponse(HaoBanErrCode.ERR_0,this.qwFriendApiService.pendingIdCheck(enterpriseId, unionid, openid, wxaUnionid,wxaOpenid));
}
@RequestMapping("/get-pending-times")
public HaobanResponse getTestTimes(String wxEnterpriseId) {
return this.resultResponse(HaoBanErrCode.ERR_0,this.qwFriendApiService.getCallTimes(wxEnterpriseId));
}
@RequestMapping("/send-message-test") @RequestMapping("/send-message-test")
public HaobanResponse testSendMessage(QywxXcxSendMessageQo qo) { public HaobanResponse testSendMessage(QywxXcxSendMessageQo qo) {
...@@ -96,11 +105,6 @@ public class TestController extends WebBaseController { ...@@ -96,11 +105,6 @@ public class TestController extends WebBaseController {
} }
} }
@RequestMapping("/clean-out")
public HaobanResponse cleanMessage(String cid) {
memberUnionidRelatedApiService.cleanByCid(cid);
return resultResponse(HaoBanErrCode.ERR_1);
}
@RequestMapping("/test-dubbo") @RequestMapping("/test-dubbo")
public HaobanResponse dubbo(@RequestParam(defaultValue = "2000") Integer n, @RequestParam(defaultValue = "100") String t) { public HaobanResponse dubbo(@RequestParam(defaultValue = "2000") Integer n, @RequestParam(defaultValue = "100") String t) {
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<dubbo:protocol name="dubbo" port="30009"/> <dubbo:protocol name="dubbo" port="30009"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.QwFriendApiService" id="qwFriendApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.hm.WxUserAddLogApiService" id="wxUserAddLogApiService" timeout="10000"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.hm.WxUserAddLogApiService" id="wxUserAddLogApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.member.tag.api.service.MemberTagApiService" id="memberTagApiService" timeout="10000"/> <dubbo:reference interface="com.gic.member.tag.api.service.MemberTagApiService" id="memberTagApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService" timeout="10000"/> <dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService" timeout="10000"/>
......
...@@ -558,18 +558,8 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -558,18 +558,8 @@ public class WxEnterpriseInfoController extends WebBaseController {
if (externalUserDTO == null) { if (externalUserDTO == null) {
logger.info("请先添加好友,企业微信未查询到该好友,externalUserid:{}", externalUserid); logger.info("请先添加好友,企业微信未查询到该好友,externalUserid:{}", externalUserid);
return resultResponse(HaoBanErrCode.ERR_11126); return resultResponse(HaoBanErrCode.ERR_11126);
} else { }
//是否需修复数据
String unionId = externalUserDTO.getUnionId();
ExternalClerkRelatedDTO externalClerkRelatedDTO = externalClerkRelatedApiService.getByWxEnterpriseIdAndUnionId(wxEnterpriseId, staffId, unionId);
if (externalClerkRelatedDTO != null) {
String memberUnionidRelatedId = externalClerkRelatedDTO.getMemberUnionidRelatedId();
MemberUnionidRelatedDTO memberUnionidRelatedDTO = memberUnionidRelatedApiService.getById(memberUnionidRelatedId);
if (memberUnionidRelatedDTO != null && StringUtils.isBlank(memberUnionidRelatedDTO.getSelfExternalUserid())) {
memberUnionidRelatedApiService.updateSelfExternalUseridById(externalUserid, memberUnionidRelatedId);
}
}
}
MemberUnionidRelatedDTO memberUnionidRelatedDTO = memberUnionidRelatedApiService.getBySelfExternalUserId(wxEnterpriseId, externalUserid); MemberUnionidRelatedDTO memberUnionidRelatedDTO = memberUnionidRelatedApiService.getBySelfExternalUserId(wxEnterpriseId, externalUserid);
if (null == memberUnionidRelatedDTO) { if (null == memberUnionidRelatedDTO) {
logger.info("请刷新好友,wxEnterpriseId:{},传入的externalUserid:{},wxUserId:{}", wxEnterpriseId, externalUserid, wxUserId); logger.info("请刷新好友,wxEnterpriseId:{},传入的externalUserid:{},wxUserId:{}", wxEnterpriseId, externalUserid, wxUserId);
......
...@@ -117,26 +117,14 @@ public class WxStaffController extends WebBaseController { ...@@ -117,26 +117,14 @@ public class WxStaffController extends WebBaseController {
if (storeIds.contains("-1")) { if (storeIds.contains("-1")) {
storeIds = null; storeIds = null;
} }
List<StaffClerkRelationDTO> list = staffClerkRelationApiService.listByStoreIds(storeIds); List<StaffDTO> resultlist = staffApiService.listBindStoreIds(storeIds, wxEnterpriseId);
List<String> staffIds = list.stream().map(StaffClerkRelationDTO::getStaffId).collect(Collectors.toList());
List<StaffDTO> resultlist = staffApiService.listByIds(staffIds);
Map<String, StaffDTO> map = com.gic.commons.util.CollectionUtil.toMap(resultlist, "staffId");
List<StaffVO> resultList = new ArrayList<>(); List<StaffVO> resultList = new ArrayList<>();
for (StaffClerkRelationDTO staffClerkRelationDTO : list) { for (StaffDTO staffDTO : resultlist) {
String staffId = staffClerkRelationDTO.getStaffId(); String enterpriseId = staffDTO.getEnterpriseId();
logger.info("员工id为:{}", staffId); long memberCount = distributeApiService.getClerkMemberCount(enterpriseId, staffDTO.getClerkId(), storeId);
StaffDTO staffDTO = map.get(staffId); logger.info("【获取会员数】enterpriseId={},clerkId={},storeId={},memberCount={}", enterpriseId, staffDTO.getClerkId(), storeId, memberCount);
if (staffDTO != null) { staffDTO.setMemberCount(Convert.toInt(memberCount, 0));
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getClerkCode()); resultList.add(EntityUtil.changeEntityNew(StaffVO.class, staffDTO));
if (clerk != null) {
long memberCount = distributeApiService.getClerkMemberCount(staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId);
logger.info("【获取会员数】enterpriseId={},clerkId={},storeId={},memberCount={}", staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId, memberCount);
staffDTO.setMemberCount(Convert.toInt(memberCount, 0));
staffDTO.setClerkId(clerk.getClerkId());
staffDTO.setClerkCode(clerk.getClerkCode());
resultList.add(EntityUtil.changeEntityNew(StaffVO.class, staffDTO));
}
}
} }
return resultResponse(HaoBanErrCode.ERR_1, resultList); return resultResponse(HaoBanErrCode.ERR_1, resultList);
...@@ -331,7 +319,7 @@ public class WxStaffController extends WebBaseController { ...@@ -331,7 +319,7 @@ public class WxStaffController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_10009); return resultResponse(HaoBanErrCode.ERR_10009);
} }
String enterpriseId = store.getEnterpriseId(); String enterpriseId = store.getEnterpriseId();
boolean b = auditApiService.judgeHavePhoneNumberOrCode(enterpriseId, clerkCode, phoneNumber,wxEnterpriseId); boolean b = auditApiService.judgeHavePhoneNumberOrCode(enterpriseId, clerkCode, phoneNumber, wxEnterpriseId);
if (b) { if (b) {
//待审核中存在code或该手机号 //待审核中存在code或该手机号
return resultResponse(HaoBanErrCode.ERR_10021); return resultResponse(HaoBanErrCode.ERR_10021);
...@@ -343,7 +331,7 @@ public class WxStaffController extends WebBaseController { ...@@ -343,7 +331,7 @@ public class WxStaffController extends WebBaseController {
} }
AuditSettingDTO dto = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId); AuditSettingDTO dto = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId);
if (dto.getAuditFlag() == 1 && dto.getClerkChangeFlag() == 1) { if (dto.getAuditFlag() == 1 && dto.getClerkChangeFlag() == 1) {
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkCode, AuditType.CLERK_ADD.getCode(),wxEnterpriseId,enterpriseId); AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkCode, AuditType.CLERK_ADD.getCode(), wxEnterpriseId, enterpriseId);
if (auditDTO != null) { if (auditDTO != null) {
logger.info("已经存在了审核记录,待审核{}", clerkCode); logger.info("已经存在了审核记录,待审核{}", clerkCode);
return resultResponse(HaoBanErrCode.ERR_10018); return resultResponse(HaoBanErrCode.ERR_10018);
...@@ -431,7 +419,7 @@ public class WxStaffController extends WebBaseController { ...@@ -431,7 +419,7 @@ public class WxStaffController extends WebBaseController {
//需要审核 //需要审核
String[] clerkIdArr = clerkIds.split(","); String[] clerkIdArr = clerkIds.split(",");
for (String clerkId : clerkIdArr) { for (String clerkId : clerkIdArr) {
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_DEL.getCode(),wxEnterpriseId,store.getEnterpriseId()); AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_DEL.getCode(), wxEnterpriseId, store.getEnterpriseId());
if (auditDTO != null) { if (auditDTO != null) {
logger.info("已经存在了审核记录,待审核{}", clerkId); logger.info("已经存在了审核记录,待审核{}", clerkId);
continue; continue;
...@@ -853,7 +841,7 @@ public class WxStaffController extends WebBaseController { ...@@ -853,7 +841,7 @@ public class WxStaffController extends WebBaseController {
if (staff == null) { if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10006); return resultResponse(HaoBanErrCode.ERR_10006);
} }
AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_BIND.getCode(),wxEnterpriseId,clerk.getEnterpriseId()); AuditDTO auditDTO = auditApiService.findByBindRelatedIdAndAuditType(clerkId, AuditType.CLERK_BIND.getCode(), wxEnterpriseId, clerk.getEnterpriseId());
if (auditDTO != null) { if (auditDTO != null) {
return resultResponse(HaoBanErrCode.ERR_10018); return resultResponse(HaoBanErrCode.ERR_10018);
} }
...@@ -1015,13 +1003,21 @@ public class WxStaffController extends WebBaseController { ...@@ -1015,13 +1003,21 @@ public class WxStaffController extends WebBaseController {
List<BindClerkVO> bindList = new ArrayList<>(); List<BindClerkVO> bindList = new ArrayList<>();
List<BindClerkVO> unBindList = new ArrayList<>(); List<BindClerkVO> unBindList = new ArrayList<>();
for (ClerkDTO dto : list) { for (ClerkDTO dto : list) {
BindClerkVO vo = EntityUtil.changeEntityByJSON(BindClerkVO.class, dto); BindClerkVO vo = EntityUtil.changeEntityNew(BindClerkVO.class, dto);
if (bindCodeMap.containsKey(dto.getClerkCode())) { if (bindCodeMap.containsKey(dto.getClerkCode())) {
String staffId = bindCodeMap.get(dto.getClerkCode()).getStaffId(); String staffId = bindCodeMap.get(dto.getClerkCode()).getStaffId();
StaffDTO staffDTO = staffApiService.selectById(staffId); StaffDTO staffDTO = staffApiService.selectById(staffId);
vo.setStaffId(staffId); vo.setStaffId(staffId);
vo.setNationCode(dto.getNationcode()); String phoneNumber = dto.getPhoneNumber();
vo.setPhoneNumber(dto.getPhoneNumber()); if (StringUtils.isNotBlank(phoneNumber)) {
vo.setPhoneNumber(phoneNumber);
if (StringUtils.isNotBlank(dto.getNationcode())) {
vo.setNationCode(dto.getNationcode());
}
}else {
vo.setPhoneNumber("");
vo.setNationCode("");
}
vo.setStaffName(staffDTO == null ? "" : staffDTO.getStaffName()); vo.setStaffName(staffDTO == null ? "" : staffDTO.getStaffName());
bindList.add(vo); bindList.add(vo);
} else { } else {
......
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
<dubbo:reference interface="com.gic.enterprise.api.service.StoreService" id="storeService"/> <dubbo:reference interface="com.gic.enterprise.api.service.StoreService" id="storeService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxCorpApiService" id="qywxCorpApiService"/> <dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxCorpApiService" id="qywxCorpApiService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxUserApiService" id="qywxUserApiService"/> <dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxUserApiService" id="qywxUserApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.BindApiService" id="bindApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.AuditApiService" id="auditApiService"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.AuditApiService" id="auditApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.AuditSettingApiService" id="auditSettingApiService"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.AuditSettingApiService" id="auditSettingApiService"/>
<dubbo:reference interface="com.gic.dict.api.service.ManagerDictService" id="managerDictService"/> <dubbo:reference interface="com.gic.dict.api.service.ManagerDictService" id="managerDictService"/>
......
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