Commit 84ae5206 by fudahua

Merge remote-tracking branch 'origin/developer' into developer

# Conflicts:
#	haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffClerkRelationApiServiceImpl.java
parents 512fb42b f676b335
......@@ -25,9 +25,9 @@ public interface MemberUnionidRelatedApiService {
List<MemberStoreDTO> listByExTernalUseridAndWxUserId(String externalUserid, String wxUserId);
String add(String wxEnterpriseId, String selfExternalUserId, String userId1);
String add(String wxEnterpriseId, String selfExternalUserId, String userId1,String storeId);
void freshWxFrend(String wxEnterpriseId, String wxUserId);
void freshWxFrend(String wxEnterpriseId, String wxUserId,String storeId);
public void cleanByCid(String cid);
......@@ -40,4 +40,6 @@ public interface MemberUnionidRelatedApiService {
List<MemberUnionidRelatedDTO> getByWxUserIdListAndWxEnterpriseId(List<String> userIdList, String wxEnterpriseId);
String addMemberUnionidRelatedNew(MemberUnionidRelatedDTO dto);
}
......@@ -34,7 +34,7 @@ public interface MemberUnionidRelatedMapper {
List<MemberUnionidRelated> listByEnterpriseIdAndDate(@Param("enterpriseId")String enterpriseId,@Param("date")Date date);
MemberUnionidRelated getByParams(@Param("wxUserId")String wxUserId, @Param("enterpriseId")String enterpriseId,
MemberUnionidRelated getByParams(@Param("wxUserId")String wxUserId, @Param("wxEnterpriseId")String wxEnterpriseId,
@Param("externalName")String name, @Param("addCreateTime")String createTime);
List<MemberUnionidRelated> listByExTernalUseridAndWxUserId(@Param("externalUserid")String externalUserid, @Param("wxUserId")String wxUserId);
......
package com.gic.haoban.manage.service.dao.mapper;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
public interface TabHaobanExternalClerkRelatedMapper {
int deleteByPrimaryKey(String externalClerkRelatedId);
int insert(TabHaobanExternalClerkRelated record);
int insertSelective(TabHaobanExternalClerkRelated record);
TabHaobanExternalClerkRelated selectByPrimaryKey(String externalClerkRelatedId);
int updateByPrimaryKeySelective(TabHaobanExternalClerkRelated record);
int updateByPrimaryKey(TabHaobanExternalClerkRelated record);
TabHaobanExternalClerkRelated selectByClerkIdAndExternalUserId(@Param("clerkId")String clerkId, @Param("externalUserId")String externalUserId);
void delByUserIdAndExternalUserId(TabHaobanExternalClerkRelated record);
}
\ No newline at end of file
......@@ -79,4 +79,8 @@ public interface TabHaobanStaffClerkRelationMapper {
void delByClerkId(@Param("clerkId")String clerkId);
List<TabHaobanStaffClerkRelation>listByEnterpriseIdAndWxUserId(@Param("enterpriseId")String enterpriseId,@Param("wxUserId")String wxUserId);
List<TabHaobanStaffClerkRelation> lisByStaffId(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("staffId")String staffId);
TabHaobanStaffClerkRelation getByCodeAndStoreId(String clerkCode, String storeId);
}
\ No newline at end of file
......@@ -137,5 +137,4 @@ public class MemberUnionidRelated implements Serializable {
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
public class TabHaobanExternalClerkRelated implements Serializable {
private String externalClerkRelatedId;
private String wxEnterpriseId;
private String enterpriseId;
private String storeId;
private String memberId;
private String unionid;
private String externalUserId;
private String externalName;
private String addCreateTime;
private String memberUnionidRelatedId;
private String clerkId;
private String staffId;
private String wxUserId;
private Integer statusFlag;
private Date createTime;
private Date updateTime;
private static final long serialVersionUID = 1L;
public String getExternalClerkRelatedId() {
return externalClerkRelatedId;
}
public void setExternalClerkRelatedId(String externalClerkRelatedId) {
this.externalClerkRelatedId = externalClerkRelatedId == null ? null : externalClerkRelatedId.trim();
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId == null ? null : wxEnterpriseId.trim();
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId == null ? null : enterpriseId.trim();
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId == null ? null : storeId.trim();
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId == null ? null : memberId.trim();
}
public String getUnionid() {
return unionid;
}
public void setUnionid(String unionid) {
this.unionid = unionid == null ? null : unionid.trim();
}
public String getExternalName() {
return externalName;
}
public void setExternalName(String externalName) {
this.externalName = externalName == null ? null : externalName.trim();
}
public String getAddCreateTime() {
return addCreateTime;
}
public void setAddCreateTime(String addCreateTime) {
this.addCreateTime = addCreateTime == null ? null : addCreateTime.trim();
}
public String getMemberUnionidRelatedId() {
return memberUnionidRelatedId;
}
public void setMemberUnionidRelatedId(String memberUnionidRelatedId) {
this.memberUnionidRelatedId = memberUnionidRelatedId == null ? null : memberUnionidRelatedId.trim();
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId == null ? null : clerkId.trim();
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId == null ? null : staffId.trim();
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId == null ? null : wxUserId.trim();
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getExternalUserId() {
return externalUserId;
}
public void setExternalUserId(String externalUserId) {
this.externalUserId = externalUserId;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.pojo;
import java.io.Serializable;
public class ExternalUserPojo implements Serializable{
private String wxEnterpriseId;
private String name;
private String unionId;
private String avatar;
private String addCreateTime;
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUnionId() {
return unionId;
}
public void setUnionId(String unionId) {
this.unionId = unionId;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getAddCreateTime() {
return addCreateTime;
}
public void setAddCreateTime(String addCreateTime) {
this.addCreateTime = addCreateTime;
}
}
package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
public interface ExternalClerkRelatedService {
void insert(TabHaobanExternalClerkRelated related);
void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto);
}
......@@ -55,4 +55,6 @@ public interface StaffClerkRelationService {
List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList);
List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId);
}
package com.gic.haoban.manage.service.service.impl;
import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import com.alibaba.dubbo.config.annotation.Service;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
@Service
public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedService {
@Autowired
private TabHaobanExternalClerkRelatedMapper mapper;
@Override
public void insert(TabHaobanExternalClerkRelated related) {
String clerkId = related.getClerkId();
String externalUserId = related.getExternalUserId();
TabHaobanExternalClerkRelated tab = mapper.selectByClerkIdAndExternalUserId(clerkId,externalUserId);
if(tab != null){
String uuId = StringUtil.randomUUID();
related.setExternalClerkRelatedId(uuId);
related.setCreateTime(new Date());
related.setUpdateTime(new Date());
mapper.insertSelective(related);
}
}
@Override
public void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto) {
mapper.delByUserIdAndExternalUserId(EntityUtil.changeEntityByJSON(TabHaobanExternalClerkRelated.class, dto));
}
}
......@@ -50,8 +50,8 @@ public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService
}
@Override
public MemberUnionidRelatedDTO getByParams(String wxUserId, String enterpriseId, String name, String createTime) {
return EntityUtil.changeEntityByJSON(MemberUnionidRelatedDTO.class,mapper.getByParams(wxUserId,enterpriseId,name,createTime));
public MemberUnionidRelatedDTO getByParams(String wxUserId, String wxEnterpriseId, String name, String createTime) {
return EntityUtil.changeEntityByJSON(MemberUnionidRelatedDTO.class,mapper.getByParams(wxUserId,wxEnterpriseId,name,createTime));
}
@Override
......
......@@ -144,4 +144,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
}
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class,mapper.listByClerkIds(clerkList));
}
@Override
public List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId) {
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.lisByStaffId(wxEnterpriseId, staffId));
}
}
......@@ -52,10 +52,12 @@ import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.pojo.ExternalUserPojo;
import com.gic.haoban.manage.service.util.EmojiFilterUtil;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberOpenCardBusinessService;
......@@ -121,6 +123,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Autowired
private StaffClerkRelationService staffClerkRelationService;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService;
@Override
public List<MemberStoreDTO> listByExTernalUseridAndWxUserId(String externalUserid, String wxUserId) {
......@@ -239,7 +243,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return "";
}
List<TabHaobanWxEnterpriseRelated> list = wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
String suiteid = dto.getSuiteid();
String unionIdJson = "";
if(SELF_APP.equals(suiteid)){
......@@ -292,76 +295,35 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return "";
}
List<String> enterpriseIdList = list.stream().map(s->s.getEnterpriseId()).collect(Collectors.toList());
List<StaffClerkRelationDTO> staffRelationList = staffClerkRelationService.listBindCodeByStaffId(enterpriseIdList, staff.getStaffId());
if(staffRelationList == null || staffRelationList.isEmpty()){
log.info("【新增外部联系人】未绑定");
TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.selectByWxEnterpriseIdAndStoreId(staff.getStaffId(),wxEnterprise.getWxEnterpriseId());
if(r == null){
log.info("【新增外部联系人】主门店为空");
return "";
}
TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.selectByWxEnterpriseIdAndStoreId(staff.getStaffId(),wxEnterprise.getWxEnterpriseId());
StoreDTO mainStore = null;
for (TabHaobanWxEnterpriseRelated tabHaobanWxEnterpriseRelated : list) {
if(r != null){
mainStore = storeService.getStore(r.getStoreId());
if(mainStore != null){
if(!tabHaobanWxEnterpriseRelated.getEnterpriseId().equals(mainStore.getEnterpriseId())){
continue;
}
}
if(mainStore == null){
log.info("【新增外部联系人】门店为空");
return "";
}
String key = "external" + tabHaobanWxEnterpriseRelated.getEnterpriseId() + "_"+ userId1 + "_" + name + "_" + createTime;
String key = "external" + mainStore.getEnterpriseId() + "_"+ userId1 + "_" + name + "_" + createTime;
RedisUtil.lock(key,2l);
dto.setWxEnterpriseId(tabHaobanWxEnterpriseRelated.getWxEnterpriseId());
dto.setEnterpriseId(tabHaobanWxEnterpriseRelated.getEnterpriseId());
dto.setWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
dto.setEnterpriseId(mainStore.getEnterpriseId());
MemberDTO member = null;
//TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId1, tabHaobanWxEnterpriseRelated.getWxEnterpriseId());
if(staff == null){
continue;
}
if(SELF_APP.equals(suiteid)){
// List<StaffDepartmentRelatedDTO> relatedList = staffDepartmentRelatedApiService.listByStaffId(staff.getStaffId());
// log.info("【部门list】staffId={}",staff.getStaffId());
// List<StaffDepartmentRelatedDTO> rList = new ArrayList<StaffDepartmentRelatedDTO>();
// for (StaffDepartmentRelatedDTO staffDepartmentRelatedDTO : relatedList) {
// DepartmentDTO depart = departmentApiService.selectById(staffDepartmentRelatedDTO.getDepartmentId());
// log.info("【部门list】depart={},deparmentId={}",JSON.toJSONString(depart),staffDepartmentRelatedDTO.getDepartmentId());
// if(depart != null && tabHaobanWxEnterpriseRelated != null && depart.getEnterpriseId() != null && tabHaobanWxEnterpriseRelated.getEnterpriseId() != null){
// log.info("【部门list】enterpriseId={},enterpriseId2={}",depart.getEnterpriseId(),tabHaobanWxEnterpriseRelated.getEnterpriseId());
// if(depart.getEnterpriseId().equals(tabHaobanWxEnterpriseRelated.getEnterpriseId())){
// if(mainStore != null){
// if(depart.getRelatedId().equals(mainStore.getStoreId())){
// rList.add(staffDepartmentRelatedDTO);
// }
// }else{
// rList.add(staffDepartmentRelatedDTO);
// }
// }
// }
// }
// log.info("【部门list】rList={}",JSON.toJSONString(rList));
// //DepartmentDTO departmentDTO =
// String clerkCode = "";
// if(!rList.isEmpty()){
// for (StaffDepartmentRelatedDTO staffDepartmentRelatedDTO : rList) {
// clerkCode = staffDepartmentRelatedDTO.getClerkCode();
// if(StringUtils.isNotBlank(clerkCode)){
// break;
// }
// }
// }
String clerkCode = "";
for (StaffClerkRelationDTO staffClerkRelationDTO : staffRelationList) {
if(tabHaobanWxEnterpriseRelated.getEnterpriseId().equals(staffClerkRelationDTO.getEnterpriseId())){
clerkCode = staffClerkRelationDTO.getClerkCode();
break;
}
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staff.getStaffId(), r.getStoreId());
if(staffClerkRelationDTO == null){
log.info("【新增外部联系人】主门店未绑定");
return "";
}
ClerkDTO clerk = clerkService.getClerkByClerkCode(tabHaobanWxEnterpriseRelated.getEnterpriseId(), clerkCode);
String clerkCode = staffClerkRelationDTO.getClerkCode();
ClerkDTO clerk = clerkService.getClerkByClerkCode(mainStore.getEnterpriseId(), clerkCode);
log.info("【新增外部联系人】clerkCode={},unionid:{}",clerkCode,unionId);
if(clerk != null && StringUtils.isNotBlank(clerk.getQrcodeParam())&&StringUtils.isNotBlank(unionId)){
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",tabHaobanWxEnterpriseRelated.getEnterpriseId(),unionId,name,avatar,clerk.getQrcodeParam());
member = memberOpenCardBusinessService.getMemberByQywxChannelParam(tabHaobanWxEnterpriseRelated.getEnterpriseId(),unionId,"",relaName,avatar,clerk.getQrcodeParam());
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",mainStore.getEnterpriseId(),unionId,name,avatar,clerk.getQrcodeParam());
member = memberOpenCardBusinessService.getMemberByQywxChannelParam(mainStore.getEnterpriseId(),unionId,"",relaName,avatar,clerk.getQrcodeParam());
}
log.info("【新增外部联系人】member={},clerk={}",JSON.toJSONString(member),JSON.toJSONString(clerk));
if(member != null){
......@@ -379,7 +341,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
dto.setSuiteid(wxEnterprise.getWxSecretKey());
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(dto.getWxUserId(), tabHaobanWxEnterpriseRelated.getEnterpriseId(),name,createTime);
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(dto.getWxUserId(), mainStore.getEnterpriseId(),name,createTime);
String uuid = "";
if(exsitDTO == null){
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
......@@ -395,90 +357,142 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberUnionRelatedService.update(exsitDTO);
uuid = exsitDTO.getMemberUnionidRelatedId();
}
return uuid;
}
// if(SELF_APP.equals(suiteid)){
// MemberDTO member = null;
// for (TabHaobanWxEnterpriseRelated tabHaobanWxEnterpriseRelated : list) {
// TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId, tabHaobanWxEnterpriseRelated.getWxEnterpriseId());
// if(staff == null){
// continue;
// }
// List<StaffDepartmentRelatedDTO> relatedList = staffDepartmentRelatedApiService.listByStaffId(staff.getStaffId());
// String clerkCode = "";
// if(!relatedList.isEmpty()){
// for (StaffDepartmentRelatedDTO staffDepartmentRelatedDTO : relatedList) {
// clerkCode = staffDepartmentRelatedDTO.getClerkCode();
// if(StringUtils.isNotBlank(clerkCode)){
// break;
// }
// }
// }
// ClerkDTO clerk = clerkService.getClerkByClerkCode(tabHaobanWxEnterpriseRelated.getEnterpriseId(), clerkCode);
// if(clerk != null){
// log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",tabHaobanWxEnterpriseRelated.getEnterpriseId(),unionId,name,avatar,clerk.getQrcodeParam());
// member = memberOpenCardBusinessService.getMemberByQywxChannelParam(tabHaobanWxEnterpriseRelated.getEnterpriseId(),unionId,null,name,avatar,clerk.getQrcodeParam());
// }
// log.info("【新增外部联系人】member={},clerk={}",JSON.toJSONString(member),JSON.toJSONString(clerk));
// //member = memberService.getMemberByUnionid(unionId, tabHaobanWxEnterpriseRelated.getEnterpriseId());
//// if(member != null){
//// break;
//// }
// }
// if(member != null){
// dto.setMemberId(member.getMemberId());
// }
// dto.setSelfExternalUserid(dto.getExternalUserid());
// dto.setUnionid(unionId);
// }
//
// dto.setExternalName(name);
// dto.setAddCreateTime(createTime);
// if(StringUtils.isBlank(unionId)){
// return "";
// }
//
// dto.setWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
// dto.setSuiteid(wxEnterprise.getWxSecretKey());
//
// MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(dto.getWxUserId(), wxEnterprise.getWxEnterpriseId(),name,createTime);
// String uuid = "";
// if(exsitDTO == null){
// uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
// }else{
// //如果是自建更新uuid
// if(SELF_APP.equals(suiteid)){
// exsitDTO.setUnionid(unionId);
// exsitDTO.setMemberId(dto.getMemberId());
// }else{
// //更新对外联系人id
// exsitDTO.setExternalUserid(dto.getExternalUserid());
// }
// memberUnionRelatedService.update(exsitDTO);
// uuid = exsitDTO.getMemberUnionidRelatedId();
// }
@Override
public String addMemberUnionidRelatedNew(MemberUnionidRelatedDTO dto) {
log.info("【新增外部联系人回调】dto={}",JSON.toJSONString(dto));
String corpId = dto.getCorpid();
TabHaobanWxEnterprise wxEnterprise = wxEnterpriseService.getEnterpriseBycorpId(corpId);
if(wxEnterprise == null){
return "";
}
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId();
@Override
public String add(String wxEnterpriseId,String selfExternalUserId,String userId1) {
WxEnterpriseDTO wxEnterprise = wxEnterpriseService.selectById(wxEnterpriseId);
if(wxEnterprise == null){
String userId = dto.getWxUserId();
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
if(staff == null){
return "";
}
List<TabHaobanWxEnterpriseRelated> list = wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
String suiteid = dto.getSuiteid();
String unionIdJson = "";
if(SELF_APP.equals(suiteid)){
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal());
if (null == secretSetting) {
log.info("没有配置secret");
return "";
}
String unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(wxEnterprise.getCorpid(), secretSetting.getSecretVal(), selfExternalUserId);
unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(dto.getCorpid(), secretSetting.getSecretVal(), dto.getExternalUserid());
}else{
unionIdJson = qywxUserApiService.getExternalUseridInfo(dto.getCorpid(), dto.getSuiteid(), dto.getExternalUserid());
}
log.info("【新增外部联系人回调】unionIdJson={}",JSON.toJSONString(unionIdJson));
ExternalUserPojo pojo = getExternalUserPojo(unionIdJson,userId,wxEnterpriseId);
String unionId = pojo.getUnionId();
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
String key = "external" + wxEnterpriseId + "_"+ userId + "_" + name + "_" + createTime;
RedisUtil.lock(key,2l);
dto.setWxEnterpriseId(wxEnterpriseId);
dto.setUnionid(unionId);
dto.setExternalName(name);
dto.setAddCreateTime(createTime);
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(dto.getWxUserId(), wxEnterpriseId,name,createTime);
String uuid = "";
if(exsitDTO == null){
if(SELF_APP.equals(suiteid)){
dto.setSelfExternalUserid(dto.getExternalUserid());
}else{
dto.setExternalUserid(dto.getExternalUserid());
}
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
}else{
//如果是自建更新uuid
if(SELF_APP.equals(suiteid)){
dto.setSelfExternalUserid(dto.getExternalUserid());
exsitDTO.setUnionid(unionId);
}else{
//更新对外联系人id
exsitDTO.setExternalUserid(dto.getExternalUserid());
}
memberUnionRelatedService.update(exsitDTO);
uuid = exsitDTO.getMemberUnionidRelatedId();
}
//新增导购和外部联系人关系
if(SELF_APP.equals(suiteid)){
String staffId = staff.getStaffId();
TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.selectByWxEnterpriseIdAndStoreId(staffId,wxEnterpriseId);
if(r == null){
log.info("【新增外部联系人】主门店为空");
return "";
}
insertExternalClerkRelated(pojo, wxEnterpriseId, staffId, uuid, userId, dto.getExternalUserid(),r.getStoreId());
}
return uuid;
}
private void insertExternalClerkRelated(ExternalUserPojo pojo,String wxEnterpriseId,String staffId,String memberUnionidRelatedId,String userId,String externalUserId,String storeId){
MemberDTO member = null;
StoreDTO mainStore = null;
mainStore = storeService.getStore(storeId);
if(mainStore == null){
log.info("【新增外部联系人】门店为空");
return;
}
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId,storeId);
if(staffClerkRelationDTO == null){
log.info("【新增外币联系人】导购和clerk关联为空");
return;
}
String unionId = pojo.getUnionId();
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
String avatar = pojo.getAvatar();
String relaName = name;
String clerkCode = staffClerkRelationDTO.getClerkCode();
ClerkDTO clerk = clerkService.getClerkByClerkCode(mainStore.getEnterpriseId(), clerkCode);
log.info("【新增外部联系人】clerkCode={},unionid:{}",clerkCode,unionId);
if(clerk != null && StringUtils.isNotBlank(clerk.getQrcodeParam())&&StringUtils.isNotBlank(unionId)){
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",mainStore.getEnterpriseId(),unionId,name,avatar,clerk.getQrcodeParam());
member = memberOpenCardBusinessService.getMemberByQywxChannelParam(mainStore.getEnterpriseId(),unionId,"",relaName,avatar,clerk.getQrcodeParam());
}
log.info("【新增外部联系人】member={},clerk={}",JSON.toJSONString(member),JSON.toJSONString(clerk));
TabHaobanExternalClerkRelated related = new TabHaobanExternalClerkRelated();
related.setAddCreateTime(createTime);
related.setClerkId(staffClerkRelationDTO.getClerkId());
related.setEnterpriseId(staffClerkRelationDTO.getEnterpriseId());
related.setExternalName(relaName);
related.setExternalUserId(externalUserId);
related.setStaffId(staffId);
related.setMemberUnionidRelatedId(memberUnionidRelatedId);
related.setStoreId(storeId);
related.setUnionid(unionId);
related.setWxEnterpriseId(wxEnterpriseId);
related.setWxUserId(userId);
if(member != null){
related.setMemberId(member.getMemberId());
}
externalClerkRelatedService.insert(related);
}
private ExternalUserPojo getExternalUserPojo(String unionIdJson,String userId1,String wxEnterpriseId) {
ExternalUserPojo pojo = new ExternalUserPojo();
String unionId = "";
String name = "";
String follow_user = "";
String createTime = "";
String userId = "";
......@@ -490,7 +504,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if(StringUtils.isNotBlank(external_contact)){
JSONObject jt = JSON.parseObject(external_contact);
unionId = jt.getString("unionid");
name = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true);
relaName = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true);
avatar = jt.getString("avatar");
}
......@@ -508,10 +521,76 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
}
pojo.setAddCreateTime(createTime);
pojo.setAvatar(avatar);
pojo.setName(relaName);
pojo.setUnionId(unionId);
pojo.setWxEnterpriseId(wxEnterpriseId);
return pojo;
}
@Override
public String add(String wxEnterpriseId,String selfExternalUserId,String userId,String storeId) {
WxEnterpriseDTO wxEnterprise = wxEnterpriseService.selectById(wxEnterpriseId);
if(wxEnterprise == null){
return "";
}
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
if(staff == null){
return "";
}
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal());
if (null == secretSetting) {
log.info("没有配置secret");
return "";
}
String unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(wxEnterprise.getCorpid(), secretSetting.getSecretVal(), selfExternalUserId);
ExternalUserPojo pojo = getExternalUserPojo(unionIdJson,userId,wxEnterpriseId);
String unionId = pojo.getUnionId();
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
MemberUnionidRelatedDTO dto = new MemberUnionidRelatedDTO();
String externalUserId = getExternalUserId(wxEnterprise, userId, createTime, name);
dto.setExternalUserid(externalUserId);
dto.setWxEnterpriseId(wxEnterpriseId);
dto.setUnionid(unionId);
dto.setExternalName(name);
dto.setAddCreateTime(createTime);
dto.setWxUserId(userId);
if(StringUtils.isBlank(unionId)){
return "";
}
dto.setSuiteid(secretSetting.getSecretVal());
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(userId, wxEnterpriseId,name,createTime);
String uuid = "";
if(exsitDTO == null){
dto.setUnionid(unionId);
//更新对外联系人id
dto.setSelfExternalUserid(selfExternalUserId);
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
}else{
return "";
}
//新增门店和导购的关联关系
String staffId = staff.getStaffId();
insertExternalClerkRelated(pojo, wxEnterpriseId, staffId, uuid, userId, dto.getExternalUserid(),storeId);
return uuid;
}
private String getExternalUserId(WxEnterpriseDTO wxEnterprise,String userId1,String createTime,String name){
log.info("新增外部联系人】corpid={},suiteId={},userId1={}",wxEnterprise.getCorpid(),config.getWxSuiteid(),userId1);
String wxRes = qywxUserApiService.listExternalUserid(wxEnterprise.getCorpid(), config.getWxSuiteid(), userId1);
MemberUnionidRelatedDTO dto = new MemberUnionidRelatedDTO();
String externalUserId = "";
log.info("【新增外部联系人】wxRes={}",wxRes);
if(StringUtils.isNotBlank(wxRes)){
......@@ -538,7 +617,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
uj_userId = follow.getString("userid");
log.info("【新增外部联系人】createTime={},name={},followCreateTime={},wxName={}",createTime,name,follow.getString("createtime"),wxName);
if(uj_userId.equals(userId1) && createTime.equals(follow.getString("createtime")) && name.equals(wxName)){
dto.setExternalUserid(externalUserId);
break;
}
}
......@@ -546,135 +624,15 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
}
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId1, wxEnterprise.getWxEnterpriseId());
if(staff == null){
return "";
}
TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.selectByWxEnterpriseIdAndStoreId(staff.getStaffId(),wxEnterprise.getWxEnterpriseId());
StoreDTO mainStore = null;
List<String> enterpriseIdList = list.stream().map(s->s.getEnterpriseId()).collect(Collectors.toList());
List<StaffClerkRelationDTO> staffRelationList = staffClerkRelationService.listBindCodeByStaffId(enterpriseIdList, staff.getStaffId());
if(staffRelationList == null || staffRelationList.isEmpty()){
log.info("【新增外部联系人】未绑定");
return "";
}
for (TabHaobanWxEnterpriseRelated tabHaobanWxEnterpriseRelated : list) {
if(r != null){
mainStore = storeService.getStore(r.getStoreId());
if(mainStore != null){
if(!tabHaobanWxEnterpriseRelated.getEnterpriseId().equals(mainStore.getEnterpriseId())){
continue;
}
}
}
String key = "external" + tabHaobanWxEnterpriseRelated.getEnterpriseId() + "_"+ userId1 + "_" + name + "_" + createTime;
RedisUtil.lock(key,2l);
dto.setWxEnterpriseId(tabHaobanWxEnterpriseRelated.getWxEnterpriseId());
dto.setEnterpriseId(tabHaobanWxEnterpriseRelated.getEnterpriseId());
MemberDTO member = null;
//TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId1, tabHaobanWxEnterpriseRelated.getWxEnterpriseId());
if(staff == null){
continue;
}
// List<StaffDepartmentRelatedDTO> relatedList = staffDepartmentRelatedApiService.listByStaffId(staff.getStaffId());
// log.info("【部门list】staffId={}",staff.getStaffId());
// List<StaffDepartmentRelatedDTO> rList = new ArrayList<StaffDepartmentRelatedDTO>();
// for (StaffDepartmentRelatedDTO staffDepartmentRelatedDTO : relatedList) {
// DepartmentDTO depart = departmentApiService.selectById(staffDepartmentRelatedDTO.getDepartmentId());
// log.info("【部门list】depart={},deparmentId={}",JSON.toJSONString(depart),staffDepartmentRelatedDTO.getDepartmentId());
// if(depart != null && tabHaobanWxEnterpriseRelated != null && depart.getEnterpriseId() != null && tabHaobanWxEnterpriseRelated.getEnterpriseId() != null){
// log.info("【部门list】enterpriseId={},enterpriseId2={}",depart.getEnterpriseId(),tabHaobanWxEnterpriseRelated.getEnterpriseId());
// if(mainStore != null){
// if(depart.getRelatedId().equals(mainStore.getStoreId())){
// rList.add(staffDepartmentRelatedDTO);
// }
// }else{
// rList.add(staffDepartmentRelatedDTO);
// }
// }
// }
// log.info("【部门list】rList={}",JSON.toJSONString(rList));
// //DepartmentDTO departmentDTO =
// String clerkCode = "";
// if(!rList.isEmpty()){
// for (StaffDepartmentRelatedDTO staffDepartmentRelatedDTO : rList) {
// clerkCode = staffDepartmentRelatedDTO.getClerkCode();
// if(StringUtils.isNotBlank(clerkCode)){
// break;
// }
// }
// }
String clerkCode = "";
for (StaffClerkRelationDTO staffClerkRelationDTO : staffRelationList) {
if(tabHaobanWxEnterpriseRelated.getEnterpriseId().equals(staffClerkRelationDTO.getEnterpriseId())){
clerkCode = staffClerkRelationDTO.getClerkCode();
break;
}
}
ClerkDTO clerk = clerkService.getClerkByClerkCode(tabHaobanWxEnterpriseRelated.getEnterpriseId(), clerkCode);
log.info("【新增外部联系人】clerkCode={}",clerkCode);
if(clerk != null && StringUtils.isNotBlank(clerk.getQrcodeParam())){
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",tabHaobanWxEnterpriseRelated.getEnterpriseId(),unionId,name,avatar,clerk.getQrcodeParam());
member = memberOpenCardBusinessService.getMemberByQywxChannelParam(tabHaobanWxEnterpriseRelated.getEnterpriseId(),unionId,"",relaName,avatar,clerk.getQrcodeParam());
}
log.info("【新增外部联系人】member={},clerk={}",JSON.toJSONString(member),JSON.toJSONString(clerk));
if(member != null){
dto.setMemberId(member.getMemberId());
}
dto.setUnionid(unionId);
dto.setExternalName(name);
dto.setAddCreateTime(createTime);
dto.setWxUserId(userId1);
if(StringUtils.isBlank(unionId)){
return "";
}
dto.setSuiteid(secretSetting.getSecretVal());
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(userId, tabHaobanWxEnterpriseRelated.getEnterpriseId(),name,createTime);
String uuid = "";
if(exsitDTO == null){
dto.setUnionid(unionId);
dto.setMemberId(dto.getMemberId());
//更新对外联系人id
dto.setSelfExternalUserid(selfExternalUserId);
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
}else{
return "";
}
}
return "";
return externalUserId;
}
@Override
public void delMemberUnionidRelated(MemberUnionidRelatedDTO dto) {
externalClerkRelatedService.delByUserIdAndExternalUserId(dto);
memberUnionRelatedService.delMemberUnionidRelated(dto);
}
private void getExternalUserUnionid(MemberUnionidRelatedDTO dto){
TabHaobanWxEnterprise wxEnterprise = wxEnterpriseService.getEnterpriseBycorpId(dto.getCorpid());
if(wxEnterprise == null){
return ;
}
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterprise.getWxEnterpriseId(), SecretTypeEnum.CONTACT_CUSTOMER.getVal());
if (null == secretSetting) {
log.info("没有配置secret");
return ;
}
String externalUseridInfo = this.qywxUserApiService.getCorpSelfExternalUseridInfo(dto.getCorpid(), secretSetting.getSecretVal(), dto.getExternalUserid());
if(StringUtils.isNotBlank(externalUseridInfo)){
JSONObject jsonObject = JSON.parseObject(externalUseridInfo);
dto.setUnionid(jsonObject.getString("unionid"));
}
}
@Override
public MemberUnionidRelatedDTO getByMemberId(String staffId, String memberId) {
TabHaobanStaff staff = staffService.selectById(staffId);
......@@ -696,7 +654,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
@Override
public void freshWxFrend(String wxEnterpriseId, String wxUserId) {
public void freshWxFrend(String wxEnterpriseId, String wxUserId,String storeId) {
log.info("【刷下好友】wxUserId={}",wxUserId);
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal());
......@@ -721,7 +679,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
continue;
}else{
//String string = qywxUserApiService.getCorpSelfExternalUseridInfo(enterprise.getCorpid(), enterprise.getWxSecretKey(), object.toString());
this.add(wxEnterpriseId, object.toString(), wxUserId);
this.add(wxEnterpriseId, object.toString(), wxUserId,storeId);
}
}
......
......@@ -483,6 +483,7 @@ public class StaffApiServiceImpl implements StaffApiService {
@Override
public void wxGetAdd(String userId,String wxEnterpriseId){
RedisUtil.lock("haoban_add_user" + wxEnterpriseId + userId, 2l);
ServiceResponse wxSaveNew = getWxSaveNew(userId, wxEnterpriseId);
logger.info("信息:{}",JSONObject.toJSONString(wxSaveNew));
}
......
......@@ -23,9 +23,11 @@ import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.service.StaffClerkBindLogService;
import com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService;
import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.StaffService;
......@@ -64,6 +66,9 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
private AuditApiService auditApiService;
@Autowired
private ClerkMainStoreRelatedService clerkMainStoreRelatedService;
@Autowired
private StaffClerkBindLogService staffClerkBindLogService;
@Autowired
......@@ -192,6 +197,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
String relationId = staffClerkRelatinService.bind(staffClerkRelationDTO,optStaffId,chanelCode);
response.setResult(relationId);
//设置主门店
setMainStore(staffClerkRelationDTO);
return response;
}
......@@ -203,7 +210,9 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
public String delByStoreIdAndCode(String storeId, String clerkCode) {
TabHaobanStaffClerkRelation staffClerkRelation = tabHaobanStaffClerkRelationMapper.getByCodeAndStoreId(clerkCode, storeId);
tabHaobanStaffClerkRelationMapper.delByStoreIdAndCode(storeId,clerkCode);
delSetMainStore(staffClerkRelation);
return null;
}
@Override
......@@ -231,6 +240,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
public boolean unbindByStaffAndClerkId(String staffId, String clerkId) {
boolean b = staffClerkRelatinService.delBind(clerkId,staffId, ChannelCodeEnum.ADMIN_UNBIND.getCode());
TabHaobanStaffClerkRelation staffClerkRelation = tabHaobanStaffClerkRelationMapper.getOneByClerkId(clerkId);
delSetMainStore(staffClerkRelation);
return b;
}
@Override
......@@ -262,10 +273,14 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
}
String relationId = staffClerkRelatinService.insert(staffClerkRelation);
staffClerkBindLogService.pushToMq(staffClerkRelation.getStaffId(),optStaffId, BindTypeEnum.BIND.getVal(),chanelCode,relationId);
//设置主门店
setMainStore(staffClerkRelation);
}
@Override
public void delByClerkId(String clerkId) {
TabHaobanStaffClerkRelation staffClerkRelation = tabHaobanStaffClerkRelationMapper.getOneByClerkId(clerkId);
tabHaobanStaffClerkRelationMapper.delByClerkId(clerkId);
delSetMainStore(staffClerkRelation);
}
@Override
public List<StaffClerkRelationDTO> listByEnterpriseIdAndWxUserId(String enterpriseId,String wxUserId) {
......@@ -335,4 +350,22 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
public void pushToBindLog(String staffId, String optStaffId, int optType, int channelCode, String relationId) {
staffClerkBindLogService.pushToMq(staffId,optStaffId,optType,channelCode,relationId);
}
private void setMainStore(StaffClerkRelationDTO staffClerkRelation){
String staffId = staffClerkRelation.getStaffId();
String wxEnterpriseId = staffClerkRelation.getWxEnterpriseId();
List<StaffClerkRelationDTO> list = staffClerkRelatinService.lisByStaffId(wxEnterpriseId, staffId);
if(list != null && list.size() == 1){
clerkMainStoreRelatedService.setMainStore(staffId, staffClerkRelation.getStoreId(), wxEnterpriseId);
}
}
private void delSetMainStore(TabHaobanStaffClerkRelation staffClerkRelation){
String staffId = staffClerkRelation.getStaffId();
String wxEnterpriseId = staffClerkRelation.getWxEnterpriseId();
List<StaffClerkRelationDTO> list = staffClerkRelatinService.lisByStaffId(wxEnterpriseId, staffId);
if(list != null && list.size() >= 1){
clerkMainStoreRelatedService.setMainStore(staffId, list.get(0).getStoreId(), wxEnterpriseId);
}
}
}
......@@ -256,7 +256,7 @@
from tab_haoban_member_unionid_related
where wx_user_id = #{wxUserId}
and status_flag = 1
and enterprise_id = #{enterpriseId}
and wx_enterprise_id = #{wxEnterpriseId}
and external_name = #{externalName}
and add_create_time = #{addCreateTime}
</select>
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper" >
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
<id column="external_clerk_related_id" property="externalClerkRelatedId" jdbcType="VARCHAR" />
<result column="wx_enterprise_id" property="wxEnterpriseId" jdbcType="VARCHAR" />
<result column="enterprise_id" property="enterpriseId" jdbcType="VARCHAR" />
<result column="store_id" property="storeId" jdbcType="VARCHAR" />
<result column="member_id" property="memberId" jdbcType="VARCHAR" />
<result column="unionid" property="unionid" jdbcType="VARCHAR" />
<result column="external_name" property="externalName" jdbcType="VARCHAR" />
<result column="add_create_time" property="addCreateTime" jdbcType="VARCHAR" />
<result column="member_unionid_related_id" property="memberUnionidRelatedId" jdbcType="VARCHAR" />
<result column="clerk_id" property="clerkId" jdbcType="VARCHAR" />
<result column="staff_id" property="staffId" jdbcType="VARCHAR" />
<result column="wx_user_id" property="wxUserId" jdbcType="VARCHAR" />
<result column="status_flag" property="statusFlag" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap>
<sql id="Base_Column_List" >
external_clerk_related_id, wx_enterprise_id, enterprise_id, store_id, member_id,
unionid, external_name, add_create_time, member_unionid_related_id, clerk_id, staff_id,
wx_user_id, status_flag, create_time, update_time,external_user_id
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_external_clerk_related
where external_clerk_related_id = #{externalClerkRelatedId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
delete from tab_haoban_external_clerk_related
where external_clerk_related_id = #{externalClerkRelatedId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
insert into tab_haoban_external_clerk_related (external_clerk_related_id, wx_enterprise_id,
enterprise_id, store_id, member_id,
unionid, external_name, add_create_time,
member_unionid_related_id, clerk_id, staff_id,
wx_user_id, status_flag, create_time,
update_time,external_user_id)
values (#{externalClerkRelatedId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{enterpriseId,jdbcType=VARCHAR}, #{storeId,jdbcType=VARCHAR}, #{memberId,jdbcType=VARCHAR},
#{unionid,jdbcType=VARCHAR}, #{externalName,jdbcType=VARCHAR}, #{addCreateTime,jdbcType=VARCHAR},
#{memberUnionidRelatedId,jdbcType=VARCHAR}, #{clerkId,jdbcType=VARCHAR}, #{staffId,jdbcType=VARCHAR},
#{wxUserId,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},#{externalUserId})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
insert into tab_haoban_external_clerk_related
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="externalClerkRelatedId != null" >
external_clerk_related_id,
</if>
<if test="wxEnterpriseId != null" >
wx_enterprise_id,
</if>
<if test="enterpriseId != null" >
enterprise_id,
</if>
<if test="storeId != null" >
store_id,
</if>
<if test="memberId != null" >
member_id,
</if>
<if test="unionid != null" >
unionid,
</if>
<if test="externalName != null" >
external_name,
</if>
<if test="externalUserId != null" >
external_user_id,
</if>
<if test="addCreateTime != null" >
add_create_time,
</if>
<if test="memberUnionidRelatedId != null" >
member_unionid_related_id,
</if>
<if test="clerkId != null" >
clerk_id,
</if>
<if test="staffId != null" >
staff_id,
</if>
<if test="wxUserId != null" >
wx_user_id,
</if>
<if test="statusFlag != null" >
status_flag,
</if>
<if test="createTime != null" >
create_time,
</if>
<if test="updateTime != null" >
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="externalClerkRelatedId != null" >
#{externalClerkRelatedId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null" >
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="enterpriseId != null" >
#{enterpriseId,jdbcType=VARCHAR},
</if>
<if test="storeId != null" >
#{storeId,jdbcType=VARCHAR},
</if>
<if test="memberId != null" >
#{memberId,jdbcType=VARCHAR},
</if>
<if test="unionid != null" >
#{unionid,jdbcType=VARCHAR},
</if>
<if test="externalName != null" >
#{externalName,jdbcType=VARCHAR},
</if>
<if test="externalUserId != null" >
#{externalUserId,jdbcType=VARCHAR},
</if>
<if test="addCreateTime != null" >
#{addCreateTime,jdbcType=VARCHAR},
</if>
<if test="memberUnionidRelatedId != null" >
#{memberUnionidRelatedId,jdbcType=VARCHAR},
</if>
<if test="clerkId != null" >
#{clerkId,jdbcType=VARCHAR},
</if>
<if test="staffId != null" >
#{staffId,jdbcType=VARCHAR},
</if>
<if test="wxUserId != null" >
#{wxUserId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null" >
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null" >
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
update tab_haoban_external_clerk_related
<set >
<if test="wxEnterpriseId != null" >
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="enterpriseId != null" >
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
</if>
<if test="storeId != null" >
store_id = #{storeId,jdbcType=VARCHAR},
</if>
<if test="memberId != null" >
member_id = #{memberId,jdbcType=VARCHAR},
</if>
<if test="unionid != null" >
unionid = #{unionid,jdbcType=VARCHAR},
</if>
<if test="externalName != null" >
external_name = #{externalName,jdbcType=VARCHAR},
</if>
<if test="externalUserId != null" >
external_user_id = #{externalUserId,jdbcType=VARCHAR},
</if>
<if test="addCreateTime != null" >
add_create_time = #{addCreateTime,jdbcType=VARCHAR},
</if>
<if test="memberUnionidRelatedId != null" >
member_unionid_related_id = #{memberUnionidRelatedId,jdbcType=VARCHAR},
</if>
<if test="clerkId != null" >
clerk_id = #{clerkId,jdbcType=VARCHAR},
</if>
<if test="staffId != null" >
staff_id = #{staffId,jdbcType=VARCHAR},
</if>
<if test="wxUserId != null" >
wx_user_id = #{wxUserId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null" >
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null" >
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where external_clerk_related_id = #{externalClerkRelatedId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
update tab_haoban_external_clerk_related
set wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
store_id = #{storeId,jdbcType=VARCHAR},
member_id = #{memberId,jdbcType=VARCHAR},
unionid = #{unionid,jdbcType=VARCHAR},
external_name = #{externalName,jdbcType=VARCHAR},
add_create_time = #{addCreateTime,jdbcType=VARCHAR},
member_unionid_related_id = #{memberUnionidRelatedId,jdbcType=VARCHAR},
clerk_id = #{clerkId,jdbcType=VARCHAR},
staff_id = #{staffId,jdbcType=VARCHAR},
wx_user_id = #{wxUserId,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
external_user_id = #{externalUserId},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where external_clerk_related_id = #{externalClerkRelatedId,jdbcType=VARCHAR}
</update>
<select id="selectByClerkIdAndExternalUserId" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_external_clerk_related
where clerk_id = #{clerkId,jdbcType=VARCHAR}
and external_user_id = #{externalUserId}
and status_flag = 1
</select>
<update id="delByUserIdAndExternalUserId" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
update tab_haoban_external_clerk_related
set
status_flag = 2,
update_time = #{updateTime,jdbcType=TIMESTAMP}
where external_user_id = #{externalUserId,jdbcType=VARCHAR}
and wx_user_id = #{wxUserId}
and status_flag = 1
</update>
</mapper>
\ No newline at end of file
......@@ -338,4 +338,26 @@
and wx_user_id = #{wxUserId}
</select>
<select id="lisByStaffId" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_staff_clerk_relation
where
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and staff_id = #{staffId}
and status_flag = 1
order by create_time desc
</select>
<select id="getByCodeAndStoreId" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_staff_clerk_relation
where
clerk_code = #{clerkCode}
and store_id = #{storeId}
and status_flag = 1
</select>
</mapper>
\ No newline at end of file
......@@ -423,7 +423,7 @@ public class ClerkController extends WebBaseController{
Integer count = RedisUtil.getCache(key) == null ? 0 : (Integer)RedisUtil.getCache(key);
if(count == null || count < 4){
RedisUtil.setCache(key,count + 1,31 * 24 * 60 * 60l);
memberUnionidRelatedApiService.freshWxFrend(wxEnterpriseId, staff.getWxUserId());
memberUnionidRelatedApiService.freshWxFrend(wxEnterpriseId, staff.getWxUserId(),storeId);
}else{
return resultResponse(HaoBanErrCode.ERR_10011);
......
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