Commit 375e1aa8 by 墨竹

feat:推送兼容

parent 10aca368
...@@ -168,10 +168,12 @@ public interface ExternalClerkRelatedApiService { ...@@ -168,10 +168,12 @@ public interface ExternalClerkRelatedApiService {
* @param memberIdList 会员id列表 * @param memberIdList 会员id列表
* @param clerkIdList 导购id列表 * @param clerkIdList 导购id列表
* @param enterpriseId 企业id * @param enterpriseId 企业id
* @return map:key-会员id value-导购的wxUserId * @param wxEnterpriseId wx企业标识
* @author: YongEn * @return {@link Map<String, List<ClerkStaffWxUserDTO>> }
* @author mozhu
* @date 2021-12-23 15:43:03
*/ */
Map<String, List<ClerkStaffWxUserDTO>> listMemberStaffRel(List<String> memberIdList, List<String> clerkIdList, String enterpriseId); Map<String, List<ClerkStaffWxUserDTO>> listMemberStaffRel(List<String> memberIdList, List<String> clerkIdList, String enterpriseId,String wxEnterpriseId);
/** /**
......
...@@ -154,4 +154,20 @@ public interface TabHaobanStaffClerkRelationMapper { ...@@ -154,4 +154,20 @@ public interface TabHaobanStaffClerkRelationMapper {
@Param("memberIdList") List<String> memberIdList, @Param("memberIdList") List<String> memberIdList,
@Param("clerkIdList") List<String> clerkIdList, @Param("clerkIdList") List<String> clerkIdList,
@Param("enterpriseId") String enterpriseId); @Param("enterpriseId") String enterpriseId);
/**
* 批量查询会员与导购关系并且返回关联信息(新企业)
*
* @param memberIdList 会员id列表
* @param clerkIdList 职员id列表
* @param enterpriseId 企业标识
* @return {@link List<MemberStaffRelExtDO> }
* @author mozhu
* @date 2021-12-23 15:45:48
*/
List<MemberStaffRelExtDO> listMemberStaffRelNew(
@Param("memberIdList") List<String> memberIdList,
@Param("clerkIdList") List<String> clerkIdList,
@Param("enterpriseId") String enterpriseId);
} }
\ No newline at end of file
...@@ -65,7 +65,7 @@ import com.github.pagehelper.PageHelper; ...@@ -65,7 +65,7 @@ import com.github.pagehelper.PageHelper;
*/ */
@Service @Service
public class AuditApiServiceImpl implements AuditApiService{ public class AuditApiServiceImpl implements AuditApiService{
private static Logger logger = LoggerFactory.getLogger(AuditApiServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(AuditApiServiceImpl.class);
@Autowired @Autowired
private TabHaobanAuditMapper auditMapper; private TabHaobanAuditMapper auditMapper;
...@@ -386,7 +386,7 @@ public class AuditApiServiceImpl implements AuditApiService{ ...@@ -386,7 +386,7 @@ public class AuditApiServiceImpl implements AuditApiService{
String areaId = obj.getAreaId(); String areaId = obj.getAreaId();
String storeAddress = obj.getStoreAddress(); String storeAddress = obj.getStoreAddress();
logger.info("==========================>areaId={},storeAddress={},newValue={}",areaId,storeAddress,newValue); logger.info("==========================>areaId={},storeAddress={},newValue={}",areaId,storeAddress,newValue);
String arr[] = storeAddress.split(" "); String[] arr = storeAddress.split(" ");
store.setAreaId(areaId); store.setAreaId(areaId);
store.setFullArea(arr[0]); store.setFullArea(arr[0]);
//避免多个空格造成数据混乱 //避免多个空格造成数据混乱
...@@ -431,19 +431,24 @@ public class AuditApiServiceImpl implements AuditApiService{ ...@@ -431,19 +431,24 @@ public class AuditApiServiceImpl implements AuditApiService{
content.substring(0, 26); content.substring(0, 26);
content = content+"..."; content = content+"...";
} }
String wxUserId = staff.getWxUserId();
String staffName = staff.getStaffName(); String staffName = staff.getStaffName();
String wxEnterpriseId = staff.getWxEnterpriseId(); String wxEnterpriseId = staff.getWxEnterpriseId();
TabHaobanWxEnterprise tabHaobanWxEnterprise = wxEnterpriseMapper.selectByPrimaryKey(wxEnterpriseId); TabHaobanWxEnterprise tabHaobanWxEnterprise = wxEnterpriseMapper.selectByPrimaryKey(wxEnterpriseId);
String corpId = tabHaobanWxEnterprise.getCorpid(); String corpId = tabHaobanWxEnterprise.getCorpid();
String wxUserId = "";
if (corpId.length() > 20) {
wxUserId = staff.getWxOpenUseId();
}else {
wxUserId = staff.getWxUserId();
}
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("storeId", storeId); jsonObject.put("storeId", storeId);
String data = jsonObject.toJSONString(); String data = jsonObject.toJSONString();
String pageUrl = staffDepartmentRelatedApiService.getPageUrl(AppPageType.STORE_DETAIL.getCode(), data); String pageUrl = staffDepartmentRelatedApiService.getPageUrl(AppPageType.STORE_DETAIL.getCode(), data);
QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO(); QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO();
List<ItemDTO> items = new ArrayList();; List<ItemDTO> items = new ArrayList();
ItemDTO dto1 = new ItemDTO(); ItemDTO dto1 = new ItemDTO();
ItemDTO dto2 = new ItemDTO(); ItemDTO dto2 = new ItemDTO();
dto1.setKey("接收人"); dto1.setKey("接收人");
...@@ -522,11 +527,7 @@ public class AuditApiServiceImpl implements AuditApiService{ ...@@ -522,11 +527,7 @@ public class AuditApiServiceImpl implements AuditApiService{
public boolean judgeHavePhoneNumberOrCode(String enterpriseId, public boolean judgeHavePhoneNumberOrCode(String enterpriseId,
String clerkCode, String phoneNumber) { String clerkCode, String phoneNumber) {
List<TabHaobanAudit> list = auditMapper.judgeHavePhoneNumberOrCode(enterpriseId,clerkCode,phoneNumber); List<TabHaobanAudit> list = auditMapper.judgeHavePhoneNumberOrCode(enterpriseId,clerkCode,phoneNumber);
if(CollectionUtil.isEmpty(list)){ return !CollectionUtil.isEmpty(list);
return false;
}else{
return true;
}
} }
} }
...@@ -271,12 +271,23 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -271,12 +271,23 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
} }
@Override @Override
public Map<String, List<ClerkStaffWxUserDTO>> listMemberStaffRel(List<String> memberIdList, List<String> clerkIdList, String enterpriseId) { public Map<String, List<ClerkStaffWxUserDTO>> listMemberStaffRel(List<String> memberIdList, List<String> clerkIdList, String enterpriseId, String wxEnterpriseId) {
if (CollectionUtils.isEmpty(memberIdList) || CollectionUtils.isEmpty(clerkIdList)) { if (CollectionUtils.isEmpty(memberIdList) || CollectionUtils.isEmpty(clerkIdList)) {
// 2个列表都为空查不了关系 // 2个列表都为空查不了关系
return Collections.emptyMap(); return Collections.emptyMap();
} }
List<MemberStaffRelExtDO> res = staffClerkRelationMapper.listMemberStaffRel(memberIdList, clerkIdList, enterpriseId); TabHaobanWxEnterprise tabHaobanWxEnterprise = wxEnterriseMapper.selectByPrimaryKey(wxEnterpriseId);
if (tabHaobanWxEnterprise == null) {
return Collections.emptyMap();
}
//新老企业兼容
String corpid = tabHaobanWxEnterprise.getCorpid();
List<MemberStaffRelExtDO> res = new ArrayList<>();
if (corpid.length() > 20) {
res = staffClerkRelationMapper.listMemberStaffRelNew(memberIdList, clerkIdList, enterpriseId);
} else {
res = staffClerkRelationMapper.listMemberStaffRel(memberIdList, clerkIdList, enterpriseId);
}
if (CollectionUtils.isEmpty(res)) { if (CollectionUtils.isEmpty(res)) {
return Collections.emptyMap(); return Collections.emptyMap();
} }
......
...@@ -430,7 +430,14 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -430,7 +430,14 @@ public class MessageApiServiceImpl implements MessageApiService {
log.info("企业为空"); log.info("企业为空");
return false; return false;
} }
String userId = relation.getWxUserId(); StaffDTO staffDTO = staffApiService.selectById(relation.getStaffId());
String corpid = wxEnterprise.getCorpid();
String wxUserId = "";
if (corpid.length() > 20) {
wxUserId = staffDTO.getWxOpenUseId();
} else {
wxUserId = staffDTO.getWxUserId();
}
QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO(); QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO();
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("事件", "人脸匹配"); map.put("事件", "人脸匹配");
...@@ -438,13 +445,13 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -438,13 +445,13 @@ public class MessageApiServiceImpl implements MessageApiService {
map.put("到店时间", arrivalTime); map.put("到店时间", arrivalTime);
List<ItemDTO> items = getItemsList(map); List<ItemDTO> items = getItemsList(map);
ArrayList<String> list = new ArrayList<>(); ArrayList<String> list = new ArrayList<>();
list.add(userId); list.add(wxUserId);
messageDTO.setAppid(config.getAppid()); messageDTO.setAppid(config.getAppid());
messageDTO.setUserIds(list); messageDTO.setUserIds(list);
messageDTO.setPage(pageUrl); messageDTO.setPage(pageUrl);
messageDTO.setTitle("我的顾客通知"); messageDTO.setTitle("我的顾客通知");
messageDTO.setItems(items); messageDTO.setItems(items);
return qywxSuiteApiService.sendMessage(wxEnterprise.getCorpid(), config.getWxSuiteid(), messageDTO); return qywxSuiteApiService.sendMessage(corpid, config.getWxSuiteid(), messageDTO);
} }
private List<ItemDTO> getItemsList(Map<String, String> map) { private List<ItemDTO> getItemsList(Map<String, String> map) {
...@@ -477,7 +484,17 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -477,7 +484,17 @@ public class MessageApiServiceImpl implements MessageApiService {
log.info("企业为空"); log.info("企业为空");
return false; return false;
} }
String userId = relation.getWxUserId(); StaffDTO staffDTO = staffApiService.selectById(relation.getStaffId());
if (staffDTO == null) {
return false;
}
String corpId = wxEnterprise.getCorpid();
String wxUserId = "";
if (corpId.length() > 20) {
wxUserId = staffDTO.getWxOpenUseId();
} else {
wxUserId = staffDTO.getWxUserId();
}
QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO(); QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO();
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("事件", "会员完善标签"); map.put("事件", "会员完善标签");
...@@ -486,7 +503,7 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -486,7 +503,7 @@ public class MessageApiServiceImpl implements MessageApiService {
map.put("消费时间", customerTime); map.put("消费时间", customerTime);
List<ItemDTO> items = getItemsList(map); List<ItemDTO> items = getItemsList(map);
ArrayList<String> list = new ArrayList<>(); ArrayList<String> list = new ArrayList<>();
list.add(userId); list.add(wxUserId);
messageDTO.setAppid(config.getAppid()); messageDTO.setAppid(config.getAppid());
messageDTO.setUserIds(list); messageDTO.setUserIds(list);
messageDTO.setPage(pageUrl); messageDTO.setPage(pageUrl);
......
...@@ -400,4 +400,30 @@ ...@@ -400,4 +400,30 @@
</foreach>; </foreach>;
</select> </select>
<select id="listMemberStaffRelNew" resultType="com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO">
select ecr.member_id as memberId,
scr.wx_open_user_id as staffWxUserId,
scr.clerk_id as staffClerkId
from (select a.staff_id,
b.wx_open_user_id,
a.wx_user_id,
a.clerk_id
from tab_haoban_staff_clerk_relation a
left join tab_haoban_staff b on a.staff_id = b.staff_id
where a.clerk_id in
<foreach collection="clerkIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
and a.status_flag = 1
group by a.staff_id, a.wx_user_id, a.clerk_id) as scr
left join tab_haoban_external_clerk_related as ecr on scr.staff_id = ecr.staff_id
where ecr.status_flag = 1
and ecr.enterprise_id = #{enterpriseId,jdbcType=VARCHAR}
and ecr.member_id in
<foreach collection="memberIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>;
</select>
</mapper> </mapper>
\ No newline at end of file
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