Commit f5fcf30e by 墨竹

Merge branch 'feature/01-10'

parents 2226f004 1999fd36
......@@ -32,6 +32,8 @@ public class StaffClerkRelationDTO implements Serializable {
private String storeName;
private String staffName;
private String wxOpenUserId;
public String getStaffClerkRelationId() {
return staffClerkRelationId;
}
......@@ -135,4 +137,12 @@ public class StaffClerkRelationDTO implements Serializable {
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getWxOpenUserId() {
return wxOpenUserId;
}
public void setWxOpenUserId(String wxOpenUserId) {
this.wxOpenUserId = wxOpenUserId;
}
}
......@@ -77,6 +77,17 @@ public interface MemberUnionidRelatedApiService {
Page<MemberUnionidRelatedDTO> pageMemberUnionByParams(List<String> userIdList, List<String> sendMemberIds,
String enterpriseId, BasePageInfo pageInfo);
/**
* 群发助手发送企业微信消息
*
* @param wxEnterpriseId
* @param userId
* @param extendUserList
* @param materialId
* @return {@link String }
* @author mozhu
* @date 2022-01-13 10:50:44
*/
String sendMessage(String wxEnterpriseId, String userId, List<String> extendUserList, String materialId);
/**
......
......@@ -40,12 +40,22 @@ public interface StaffApiService {
void staffEdit(StaffDTO staffDTO, String departmentIds);
/**
* 选择用户id和企业标识
*
* @param userId 用户id
* @param wxEnterpriseId wx企业标识
* @return {@link StaffDTO }
* @author mozhu
* @date 2022-01-13 15:02:22
*/
StaffDTO selectByUserIdAndEnterpriseId(String userId, String wxEnterpriseId);
StaffDepartmentRelatedDTO getDepartmentIdAndStaffId(String departmentId, String staffId);
int countByDepartmentId(String departmentId);
@Deprecated
void syncGicClerk(String fieldListString);
void addGicClerk(GicClerkDTO clerkDTO);
......@@ -56,6 +66,7 @@ public interface StaffApiService {
List<String> listUnBindClerk(String storeId);
@Deprecated
void cleanGicClerk(String clerkCode, String departmentId);
String insertUserLoginLog(UserLoginLogDTO userLoginLogDTO);
......@@ -157,4 +168,5 @@ public interface StaffApiService {
* @date 2021-12-21 19:53:30
*/
int updateOpenUserIdsByUserId(String wxEnterpriseId, String wxUserId, String wxOpenUseId);
}
......@@ -26,6 +26,15 @@ public interface StaffMapper {
Page<TabHaobanStaff> pageStaff(@Param("staffIds") Set<String> staffIds, @Param("activeFlag") Integer activeFlag, @Param("keyword") String keyword);
/**
* 选择用户id和企业标识
*
* @param userId 用户id
* @param wxEnterpriseId wx企业标识
* @return {@link TabHaobanStaff }
* @author mozhu
* @date 2022-01-13 15:05:28
*/
TabHaobanStaff selectByUserIdAndEnterpriseId(@Param("userId") String userId,
@Param("wxEnterpriseId") String wxEnterpriseId);
......
......@@ -56,7 +56,15 @@ public interface TabHaobanStaffClerkRelationMapper {
void delByStoreIdAndCode( @Param("storeId")String storeId,@Param("clerkCode")String clerkCode);
List<TabHaobanStaffClerkRelation> listByClerkIds(@Param("clerkIds") List<String> clerkIds);
/**
* 由职员id列表
*
* @param clerkIds 职员id
* @return {@link List<StaffClerkRelationDTO> }
* @author mozhu
* @date 2022-01-13 11:36:11
*/
List<StaffClerkRelationDTO> listByClerkIds(@Param("clerkIds") List<String> clerkIds);
List<TabHaobanStaffClerkRelation> listByStoreId(@Param("storeId")String storeId);
......
......@@ -21,6 +21,15 @@ public interface StaffService {
int delByuserid(String staffId);
/**
* 选择用户id和企业标识
*
* @param userId 用户id
* @param wxEnterpriseId wx企业标识
* @return {@link TabHaobanStaff }
* @author mozhu
* @date 2022-01-13 15:02:30
*/
TabHaobanStaff selectByUserIdAndEnterpriseId(String userId, String wxEnterpriseId);
......@@ -76,7 +85,6 @@ public interface StaffService {
*/
List<StaffDTO> listByOpenUserIdsAndWxEnterpriseId(List<String> openUserIds, String wxEnterpriseId);
/**
* 更新开放用户id,用户id
*
......@@ -90,16 +98,4 @@ public interface StaffService {
int updateOpenUserIdsByUserId(String wxEnterpriseId, String wxUserId, String wxOpenUseId);
/**
* 选择通过corpid和用户id和企业id
*
* @param corpid corpid
* @param userId 用户id
* @param wxEnterpriseId wx企业标识
* @return {@link TabHaobanStaff }
* @author mozhu
* @date 2021-12-21 22:54:25
*/
TabHaobanStaff selectByCorpidAndUserIdAndEnterpriseId(String corpid, String userId, String wxEnterpriseId);
}
......@@ -234,10 +234,10 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
@Override
public List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList) {
if (clerkList == null || clerkList.isEmpty()) {
if (CollectionUtils.isEmpty(clerkList)) {
return Collections.EMPTY_LIST;
}
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.listByClerkIds(clerkList));
return mapper.listByClerkIds(clerkList);
}
@Override
......
......@@ -68,18 +68,8 @@ public class StaffServiceImpl implements StaffService {
@Override
public TabHaobanStaff selectByUserIdAndEnterpriseId(String userId, String wxEnterpriseId) {
TabHaobanWxEnterprise tabHaobanWxEnterprise = wxEnterpriseMapper.selectByPrimaryKey(wxEnterpriseId);
if (tabHaobanWxEnterprise == null) {
return null;
}
String corpid = tabHaobanWxEnterprise.getCorpid();
log.info("corpid:{}", corpid);
if (corpid.length() > 20 && userId.length() == 32) {
return mapper.selectByOpenUserIdAndEnterpriseId(userId, wxEnterpriseId);
} else {
return mapper.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
}
}
@Override
public TabHaobanStaff selectByPhoneNumberAndEnterpriseId(String phoneNumber, String wxEnterpriseId) {
......@@ -136,12 +126,4 @@ public class StaffServiceImpl implements StaffService {
return mapper.updateOpenUserIdsByUserId(wxEnterpriseId, wxUserId, wxOpenUseId);
}
@Override
public TabHaobanStaff selectByCorpidAndUserIdAndEnterpriseId(String corpid, String userId, String wxEnterpriseId) {
if (corpid.length() > 20) {
return mapper.selectByOpenUserIdAndEnterpriseId(userId, wxEnterpriseId);
} else {
return mapper.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
}
}
}
......@@ -372,7 +372,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
checkQywxSettingApiService.saveFriendCallback(wxEnterpriseId, null, dto);
return;
}
TabHaobanStaff staff = staffService.selectByCorpidAndUserIdAndEnterpriseId(corpid, wxUserId, wxEnterpriseId);
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
if (staff == null) {
log.info("staff不存在:{},{}", dto.getUnionid(), dto.getWxUserId());
return;
......@@ -736,7 +736,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
public MemberUnionidRelatedDTO getMemberUnionidRelatedDTONew(MemberUnionidRelatedDTO dto) {
log.info("【新增外部联系人回调】dto={}", JSON.toJSONString(dto));
String corpId = dto.getCorpid();
TabHaobanWxApplication tabHaobanWxApplication = wxApplicationMapper.selectByCorpId(corpId,null);
TabHaobanWxApplication tabHaobanWxApplication = wxApplicationMapper.selectByCorpId(corpId, null);
if (tabHaobanWxApplication == null) {
log.info("查询tab_haoban_wx_application为空:{}", corpId);
return null;
......@@ -1169,14 +1169,26 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
jp.setErrorMessage("群发素材不存在, 群发创建失败");
return jp;
}
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
//请求参数赋值
qywxExternalMessageDTO.setChatType("single");
qywxExternalMessageDTO.setExternalUserid(extendUserList);
String corpid = enterprise.getCorpid();
if (corpid.length() > 20) {
TabHaobanStaff tabHaobanStaff = staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
if (tabHaobanStaff == null) {
JSONResponse jp = new JSONResponse();
jp.setErrorCode(-1);
jp.setErrorMessage("员工未查询到,群发创建失败,userId:"+userId);
return jp;
}
qywxExternalMessageDTO.setSenderUserId(tabHaobanStaff.getWxOpenUseId());
} else {
qywxExternalMessageDTO.setSenderUserId(userId);
}
qywxExternalMessageDTO.setAttachments(messageMaterialList);
//调接口执行创建群发
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
return qywxSuiteApiService.sendExternalMessage(enterprise.getCorpid(), config.getWxSuiteid(), qywxExternalMessageDTO);
return qywxSuiteApiService.sendExternalMessage(corpid, config.getWxSuiteid(), qywxExternalMessageDTO);
}
/**
......@@ -1746,6 +1758,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public MemberUnionidRelatedDTO getBySelfExternalUserId(String wxEnterpriseId, String selfExternalUserId) {
return memberUnionRelatedService.getBySelfExternalUserId(wxEnterpriseId,selfExternalUserId);
return memberUnionRelatedService.getBySelfExternalUserId(wxEnterpriseId, selfExternalUserId);
}
}
......@@ -100,8 +100,6 @@ public class StaffApiServiceImpl implements StaffApiService {
private SecretSettingService secretSettingService;
@Autowired
private StaffPrivacyUseLogService staffPrivacyUseLogService;
@Autowired
private Config config;
@Override
public StaffDTO selectById(String staffId) {
......@@ -695,32 +693,10 @@ public class StaffApiServiceImpl implements StaffApiService {
tab.setActiveFlag(0);
}
String staffId = staffService.add(tab);
// Integer[] departmentId = user.getDepartment();
// for (Integer integer : departmentId) {
// TabHaobanDepartment tabDepartment = departmentService.getByWxId(integer.toString(), wxEnterpriseId);
// if(tabDepartment != null){
// TabHaobanStaffDepartmentRelated tabStaff = staffDepartmentRelatedService.getDepartmentIdAndStaffId(tabDepartment.getDepartmentId(), tab.getStaffId());
// if(tabStaff == null){
// StaffDepartmentRelatedDTO dto = new StaffDepartmentRelatedDTO();
// dto.setPhoneNumber(user.getMobile());
// dto.setWxUserId(userId);
// dto.setStaffId(staffId);
// dto.setStaffName(user.getName());
// dto.setWxEnterpriseId(wxEnterpriseId);
// dto.setStatusFlag(1);
// dto.setDepartmentId(tabDepartment.getDepartmentId());
// dto.setNationCode("86");
// dto.setStaffName(user.getName());
// staffDepartmentRelatedService.add(dto);
// }
// }
// }
}
} else {
WxEnterpriseDTO enterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (enterpriseDTO != null) {
//UserDTO user = qywxUserApiService.getSelfWorkWxUser(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), userId);
logger.info("【修改用户】user={}", JSON.toJSONString(user));
Integer[] departmentId = user.getDepartment();
String departmentIds = "";
......@@ -736,7 +712,6 @@ public class StaffApiServiceImpl implements StaffApiService {
StaffDTO staffDTO = EntityUtil.changeEntityByJSON(StaffDTO.class, staff);
staffDTO.setWeixinPush(true);
this.staffEdit(staffDTO, departmentIds);
//String staffId = staffService.add(tab);
}
}
}
......@@ -782,9 +757,6 @@ public class StaffApiServiceImpl implements StaffApiService {
related.setStaffName(staffName);
staffDepartmentRelatedMapper.updateByPrimaryKeySelective(related);
}
// if (!syncGic) {
// updateGicClerk(oldStaff, staffDTO, addId, related);
// }
}
}
}
......@@ -798,9 +770,6 @@ public class StaffApiServiceImpl implements StaffApiService {
logger.info("【员工修改删除】tab1.getDepartmentId()={}", tab1.getDepartmentId());
StaffDepartmentRelatedDTO related = EntityUtil.changeEntityByJSON(StaffDepartmentRelatedDTO.class, tab1);
staffDepartmentRelatedService.del(related);
// if(org.apache.commons.lang3.StringUtils.isNotBlank(tab1.getClerkCode())){
// cleanGicClerk(tab1.getClerkCode(), tab1.getDepartmentId());
// }
}
}
......@@ -942,12 +911,10 @@ public class StaffApiServiceImpl implements StaffApiService {
@Override
public void syncGicClerk(String fieldListString) {
// logger.info("【同步店员】fieldList={}", fieldListString);
List<SyncJsonColumnDTO> fieldList = JSONArray.parseArray(fieldListString, SyncJsonColumnDTO.class);
if (fieldList.isEmpty() || true) {
if (true) {
return;
}
}
......@@ -1064,15 +1031,6 @@ public class StaffApiServiceImpl implements StaffApiService {
staffRelated.setClerkCode(code);
staffDepartmentRelatedMapper.updateByPrimaryKey(EntityUtil.changeEntityByJSON(TabHaobanStaffDepartmentRelated.class, staffRelated));
}
// ClerkDTO clerkDTO= clerkService.getClerkByCodeNoStatus(enterpriseId,code);
// if(clerkDTO != null && (!clerkDTO.getClerkName().equals(staffName) || !staff.getPhoneNumber().equals(clerkDTO.getPhoneNumber()))){
// logger.info("【员工修改】clerkDTO={}",JSON.toJSONString(clerkDTO));
// clerkDTO.setClerkName(staff.getStaffName());
// clerkDTO.setPhoneNumber(staff.getPhoneNumber());
// clerkService.updateClerk(clerkDTO);
// }
//}
this.staffEditDeal(staff, departmentIds, true);
}
}
......@@ -1399,18 +1357,14 @@ public class StaffApiServiceImpl implements StaffApiService {
@Override
public List<String> listBindClerkUserId(String storeId) {
// TabHaobanDepartment department = departmentService.selectByRelatedId(storeId);
// if(department == null){
// return Collections.EMPTY_LIST;
// }
// List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedService.listByDepartmentId(department.getDepartmentId());
// List<String> userIdList = list.stream().filter(s->StringUtils.isNotBlank(s.getClerkCode())).map(s->s.getWxUserId()).collect(Collectors.toList());
List<String> userIdList = new ArrayList<String>();
List<String> storeIds = new ArrayList<String>();
storeIds.add(storeId);
List<String> clerkList = clerkService.getclerkListByStoreIds(storeIds);
List<StaffClerkRelationDTO> staffRelationList = staffClerkRelationService.listByClerkIds(clerkList);
if (CollectionUtils.isEmpty(staffRelationList)) {
return Collections.EMPTY_LIST;
}
Map<String, StaffClerkRelationDTO> clerkIdMap = staffRelationList.stream().filter(s -> s.getClerkId() != null).collect(Collectors.toMap(StaffClerkRelationDTO::getClerkId, s -> s));
Set<String> keySet = clerkIdMap.keySet();
for (String clerkId : clerkList) {
......
......@@ -234,15 +234,10 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
public List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkIds) {
if (clerkIds == null || clerkIds.isEmpty()) {
if (CollectionUtil.isEmpty(clerkIds)) {
return Collections.EMPTY_LIST;
}
List<TabHaobanStaffClerkRelation> list = tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds);
if (CollectionUtil.isEmpty(list)) {
return new ArrayList<StaffClerkRelationDTO>();
}
List<StaffClerkRelationDTO> result = EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, list);
return result;
return tabHaobanStaffClerkRelationMapper.listByClerkIds(clerkIds);
}
@Override
......
......@@ -293,9 +293,9 @@
select
<include refid="Base_Column_List"/>
from tab_haoban_staff
where wx_user_id = #{userId,jdbcType=VARCHAR}
where (wx_user_id = #{userId,jdbcType=VARCHAR} or wx_open_user_id = #{userId,jdbcType=VARCHAR})
and wx_enterprise_id = #{wxEnterpriseId}
and status_flag = 1
and status_flag = 1 limit 1
</select>
<select id="selectSuperByWxEnterpriseId" resultMap="BaseResultMap" parameterType="java.lang.String">
......
......@@ -156,15 +156,26 @@
and status_flag = 1
</update>
<select id="listByClerkIds" resultMap="BaseResultMap" parameterType="java.lang.String">
<select id="listByClerkIds" resultType="com.gic.haoban.manage.api.dto.StaffClerkRelationDTO" parameterType="java.lang.String">
select
<include refid="Base_Column_List"/>
from tab_haoban_staff_clerk_relation
where status_flag=1
and clerk_id in
a.staff_clerk_relation_id staffClerkRelationId,
a.staff_id staffId,
a.wx_enterprise_id wxEnterpriseId,
a.wx_user_id wxUserId,
a.enterprise_id enterpriseId,
a.store_id storeId,
a.clerk_id clerkId,
a.clerk_code clerkCode,
a.status_flag statusFlag,
b.wx_open_user_id wxOpenUserId
from tab_haoban_staff_clerk_relation a
left join tab_haoban_staff b on b.staff_id = a.staff_id
where a.status_flag=1
and a.clerk_id in
<foreach collection="clerkIds" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
group by b.staff_id
</select>
<select id="listByStoreId" resultMap="BaseResultMap" parameterType="java.lang.String">
......
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