Commit 980dfb9a by huangZW

Merge branch 'developer' of

http://115.159.76.241/haoban3.0/haoban-manage3.0.git into developer

Conflicts:
	haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffClerkRelationApiServiceImpl.java
parents d934ee9b 876afa7a
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
* Created by tgs on 2020/2/9.
......@@ -17,6 +18,9 @@ public class EnterpriseDetailDTO implements Serializable{
private String version;
private int nodeCount;
private String enterpriseLogo;
private String staffId;
private String staffName;
private Date createTime;
public String getWxEnterpriseRelatedId() {
return wxEnterpriseRelatedId;
}
......@@ -59,6 +63,24 @@ public class EnterpriseDetailDTO implements Serializable{
public void setEnterpriseLogo(String enterpriseLogo) {
this.enterpriseLogo = enterpriseLogo;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
......@@ -57,5 +57,12 @@ public interface StaffClerkRelationApiService {
* @return
*/
boolean unbindByStaffAndClerkId(String staffId,String clerkId);
/**
* 查询导购信息
* @param clerkId
* @return
*/
StaffClerkRelationDTO getByClerkId(String clerkId);
}
......@@ -7,44 +7,44 @@ import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
public interface StaffDepartmentRelatedApiService {
List<StaffDepartmentRelatedDTO> listByDepartmentId(String departmentId);
List<StaffDepartmentRelatedDTO> listByDepartmentIds(List<String> departmentIds);
List<StaffDepartmentRelatedDTO> listByStaffId(String staffId);
void updateById(StaffDepartmentRelatedDTO dto);
/**
* 根据员工与部门的关联关系查询
*
* @param staffDepartmentRelatedId
* @return
*/
StaffDepartmentRelatedDTO getByStaffDepartmentRelatedId(String staffDepartmentRelatedId);
void deleteCode(StaffDepartmentRelatedDTO dto);
StaffDepartmentRelatedDTO getOneByClerkCodeAndDepartmentId(String clerkCode, String departmentId);
StaffDepartmentRelatedDTO getOneByStaffIdAndDepartmentId(String staffId, String departmentId);
Map<String,String> getWxUserIdByClerkId(String clerkId);
String getPageUrl(int type,String data);
//发送消息,单人发送
boolean sendSingleMessage(String clerkId,String title,String content,String pageUrl);
//发送消息,带审核理由
public boolean sendAuditMessage(String clerkId, String title,String content, String pageUrl,int auditStatus, String auditReason);
List<StaffDepartmentRelatedDTO> listByStaffIds(List<String> staffIds);
public void sendClerkBind(String clerkId,String clerkCode,int auditStatus,String auditReason);
public void sendClerkAdd (String clerkId,String clerkCode,int auditStatus,String auditReason);
public void sendClerkDel (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason);
// List<StaffDepartmentRelatedDTO> listByDepartmentId(String departmentId);
//
// List<StaffDepartmentRelatedDTO> listByDepartmentIds(List<String> departmentIds);
//
// List<StaffDepartmentRelatedDTO> listByStaffId(String staffId);
//
// void updateById(StaffDepartmentRelatedDTO dto);
//
//
// /**
// * 根据员工与部门的关联关系查询
// *
// * @param staffDepartmentRelatedId
// * @return
// */
// StaffDepartmentRelatedDTO getByStaffDepartmentRelatedId(String staffDepartmentRelatedId);
//
// void deleteCode(StaffDepartmentRelatedDTO dto);
//
// StaffDepartmentRelatedDTO getOneByClerkCodeAndDepartmentId(String clerkCode, String departmentId);
//
// StaffDepartmentRelatedDTO getOneByStaffIdAndDepartmentId(String staffId, String departmentId);
//
// Map<String,String> getWxUserIdByClerkId(String clerkId);
//
// String getPageUrl(int type,String data);
//
// //发送消息,单人发送
// boolean sendSingleMessage(String clerkId,String title,String content,String pageUrl);
// //发送消息,带审核理由
// public boolean sendAuditMessage(String clerkId, String title,String content, String pageUrl,int auditStatus, String auditReason);
//
// List<StaffDepartmentRelatedDTO> listByStaffIds(List<String> staffIds);
//
// public void sendClerkBind(String clerkId,String clerkCode,int auditStatus,String auditReason);
//
// public void sendClerkAdd (String clerkId,String clerkCode,int auditStatus,String auditReason);
//
// public void sendClerkDel (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason);
}
......@@ -63,4 +63,11 @@ public interface WxEnterpriseApiService {
* @return
*/
List<SecretSettingDTO> listSecret(String wxEnterpriseId);
/**
* 删除
* @param secretId
* @return
*/
public boolean delSecretSetting(String secretId);
}
......@@ -26,4 +26,6 @@ public interface WxEnterpriseRelatedApiService {
*/
List<EnterpriseDetailDTO> queryBindGicEnterpriseByTime(String seqTime);
int wxEnterpriseBind(String enterpriseId, String wxEnterpriseId, String version, String staffId, String staffName);
}
package com.gic.haoban.manage.web.controller;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.StaffClerkInfoDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Created 2020/6/3.
*
* @author hua
*/
@RestController
@RequestMapping("/pay")
public class PayController extends WebBaseController {
private static final Logger logger= LoggerFactory.getLogger(PayController.class);
@Autowired
private StaffApiService staffApiService;
@Autowired
private WxEnterpriseApiService wxEnterpriseApiService;
private StaffClerkRelationApiService staffClerkRelationApiService;
/**
* 微信成员列表
* @param userId
* @param corpId
* @return
*/
@RequestMapping("/wx-user-list")
public HaobanResponse enterpriseList(String userId,String corpId) {
if (StringUtils.isAnyBlank(userId,corpId)) {
logger.info("参数异常");
return resultResponse(HaoBanErrCode.ERR_2);
}
WxEnterpriseDTO enterpriseDTO = wxEnterpriseApiService.getEnterpriseBycorpId(corpId);
if (enterpriseDTO==null) {
logger.info("不存在商户");
return resultResponse(HaoBanErrCode.ERR_20001);
}
StaffDTO staffDTO = staffApiService.selectByUserIdAndEnterpriseId(userId, enterpriseDTO.getWxEnterpriseId());
if (staffDTO==null) {
logger.info("不存在成员");
return resultResponse(HaoBanErrCode.ERR_6);
}
List<StaffClerkInfoDTO> list = staffClerkRelationApiService.listBindDetailByStaffId(staffDTO.getStaffId());
return resultResponse(HaoBanErrCode.ERR_1,list);
}
/**
* 微信成员列表
* @param storeId
* @return
*/
@RequestMapping("/store-list")
public HaobanResponse enterpriseList(String storeId) {
WxEnterpriseDTO enterpriseDTO = wxEnterpriseApiService.getEnterpriseBycorpId(corpId);
if (enterpriseDTO==null) {
logger.info("不存在商户");
return resultResponse(HaoBanErrCode.ERR_20001);
}
StaffDTO staffDTO = staffApiService.selectByUserIdAndEnterpriseId(userId, enterpriseDTO.getWxEnterpriseId());
if (staffDTO==null) {
logger.info("不存在成员");
return resultResponse(HaoBanErrCode.ERR_6);
}
List<StaffClerkInfoDTO> list = staffClerkRelationApiService.listBindDetailByStaffId(staffDTO.getStaffId());
return resultResponse(HaoBanErrCode.ERR_1,list);
}
}
......@@ -68,4 +68,6 @@ public interface TabHaobanStaffClerkRelationMapper {
TabHaobanStaffClerkRelation getOneBindCodeNoStatus(@Param("enterpriseId")String enterpriseId, @Param("clerkCode")String clerkCode);
TabHaobanStaffClerkRelation getOneBindStoreId(@Param("staffId")String staffId, @Param("storeId")String storeId);
TabHaobanStaffClerkRelation getByClerkId(@Param("clerkId")String clerkId);
}
\ No newline at end of file
......@@ -17,6 +17,10 @@ public class TabHaobanWxEnterpriseRelated implements Serializable {
private Date createTime;
private Date updateTime;
private String staffId;
private String staffName;
private static final long serialVersionUID = 1L;
......@@ -75,4 +79,22 @@ public class TabHaobanWxEnterpriseRelated implements Serializable {
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
}
\ No newline at end of file
......@@ -51,4 +51,8 @@ public interface StaffClerkRelationService {
StaffClerkRelationDTO getOneBindByStoreId(String staffId, String storeId);
StaffClerkRelationDTO getByClerkId(String clerkId);
List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList);
}
......@@ -100,4 +100,12 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
public StaffClerkRelationDTO getOneBindByStoreId(String staffId, String storeId) {
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class,mapper.getOneBindStoreId(staffId,storeId));
}
@Override
public StaffClerkRelationDTO getByClerkId(String clerkId) {
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class,mapper.getByClerkId(clerkId));
}
@Override
public List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList) {
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class,mapper.listByClerkIds(clerkList));
}
}
......@@ -18,6 +18,7 @@ import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.PreDealStatusEnum;
import com.gic.haoban.manage.api.enums.PreDealTypeEnum;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskStatusEnum;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.DepartmentApiService;
......@@ -94,6 +95,9 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
@Autowired
private StaffClerkRelationService staffClerkRelationService;
@Autowired
private SecretSettingService secretSettingService;
private static final String LOCK_KEY = "sync_wx_lock_";
private static final String LOCK_SUCCESS_KEY = "sync_wx_success_lock_";
......@@ -514,9 +518,15 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
@Override
@Deprecated
public void dealQywxDepartment(String taskId, String wxEnterpriseId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = qywxDepartmentApiService.listSelfDepartment(wxEnterpriseDTO.getCorpid(), wxEnterpriseDTO.getContactSecret(), 1);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
logger.info("没有配置secret");
return ;
}
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = qywxDepartmentApiService.listSelfDepartment(wxEnterpriseDTO.getCorpid(), secretSetting.getSecretVal(), 1);
if (CollectionUtils.isEmpty(list)) {
logger.info("没有数据同步");
return;
......
......@@ -423,6 +423,7 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
String storeName = "";
String departmentId = "";
String storeId = "";
String storeParentId="";
for (SyncJsonColumnDTO syncJsonColumnDTO:fieldList){
String name = StringUtil.camelName(syncJsonColumnDTO.getName());
String value = syncJsonColumnDTO.getValue();
......@@ -435,19 +436,20 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
if("departmentId".equals(name)) {
departmentId = value;
}
if("storeId".equals(name)) {
storeId = value;
if("storeGroupId".equals(name)) {
storeParentId = value;
}
if("storeId".equals(name)) {
storeId = (value);
}
}
DepartmentDTO department = departmentService.getByRelatedId(storeId);
if(department == null) {
if(status != null && status == 2) {
DepartmentDTO parent = getParent(departmentId);
if(parent == null) {
TabHaobanWxEnterpriseRelated tab = null;
//parent = getRootByEnterpriseId(wxEnterpriseId);
}
}
DepartmentDTO parent = departmentService.getByRelatedId(storeParentId);
if (department!=null && parent!=null&&(!department.getParentDepartmentId().equals(parent.getDepartmentId()))) {
logger.info("更新部门!");
department.setDepartmentName(storeName);
department.setParentDepartmentId(parent.getDepartmentId());
this.edit(department);
}
......@@ -685,6 +687,7 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
}
@Override
@Deprecated
public ServiceResponse gicDel(String departmentId) {
ServiceResponse hr = new ServiceResponse();
hr.setCode(1);
......@@ -718,12 +721,13 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
TabHaobanDepartment department = departmentService.selectById(departmentId);
WxEnterpriseDTO enterpriseDTO = wxEnterpriseService.selectById(department.getWxEnterpriseId());
if(enterpriseDTO != null) {
JSONResponse jp = qywxDepartmentApiService.deleteSelfDepartment(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), Integer.parseInt(department.getWxDepartmentId()));
if(jp.getErrorCode() != 0) {
hr.setCode(0);
hr.setMessage("微信删除部门失败");
return hr;
}
//todo 不需要了
// JSONResponse jp = qywxDepartmentApiService.deleteSelfDepartment(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), Integer.parseInt(department.getWxDepartmentId()));
// if(jp.getErrorCode() != 0) {
// hr.setCode(0);
// hr.setMessage("微信删除部门失败");
// return hr;
// }
}
departmentService.del(departmentId);
......@@ -747,6 +751,7 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
}
@Override
@Deprecated
public void initwxDepartmentMQ(String res) {
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseService.selectById(res);
if(enterpriseDTO != null){
......
......@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.GlobalInfo;
import com.gic.commons.util.GlobalVar;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.DepartmentApiService;
import com.gic.haoban.manage.service.service.*;
import com.gic.redis.data.anno.RedisCache;
......@@ -100,6 +101,9 @@ public class StaffApiServiceImpl implements StaffApiService {
@Autowired
private StaffClerkRelationService staffClerkRelationService;
@Autowired
private SecretSettingService secretSettingService;
@Override
public StaffDTO selectById(String staffId) {
......@@ -312,7 +316,15 @@ public class StaffApiServiceImpl implements StaffApiService {
res.setCode(2);
return res;
}
UserDTO user = qywxUserApiService.getSelfWorkWxUser(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), userId);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
logger.info("没有配置secret:{}", JSONObject.toJSONString(enterpriseDTO));
res.setMessage("没有配置secret");
res.setCode(4);
return res;
}
UserDTO user = qywxUserApiService.getSelfWorkWxUser(enterpriseDTO.getCorpid(), secretSetting.getSecretVal(), userId);
if (null == user) {
logger.info("企业微信用户不存在:{}:{}",wxEnterpriseId,userId);
res.setMessage("企业微信用户不存在");
......@@ -428,7 +440,12 @@ public class StaffApiServiceImpl implements StaffApiService {
WxEnterpriseDTO enterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if(enterpriseDTO != null) {
Date now = new Date();
UserDTO user = qywxUserApiService.getSelfWorkWxUser(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), userId);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
logger.info("没有配置secret");
return ;
}
UserDTO user = qywxUserApiService.getSelfWorkWxUser(enterpriseDTO.getCorpid(), secretSetting.getSecretVal(), userId);
if(user == null){
return;
}
......@@ -1048,7 +1065,12 @@ public class StaffApiServiceImpl implements StaffApiService {
if (null == enterpriseDTO ) {
return null;
}
String userId = qywxUserApiService.getSelfWxUserIdByPhonenumber(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), phoneNumber);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
logger.info("没有配置secret:{}",wxEnterpriseId);
return null;
}
String userId = qywxUserApiService.getSelfWxUserIdByPhonenumber(enterpriseDTO.getCorpid(), secretSetting.getSecretVal(), phoneNumber);
logger.info("获取userId:{},{}", phoneNumber, userId);
if (userId == null) {
return null;
......@@ -1085,17 +1107,15 @@ public class StaffApiServiceImpl implements StaffApiService {
@Override
public List<String> listUnBindClerk(String storeId) {
TabHaobanDepartment department = departmentService.selectByRelatedId(storeId);
if(department == null){
return Collections.EMPTY_LIST;
}
List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedService.listByDepartmentId(department.getDepartmentId());
List<String> clerkCodes = list.stream().filter(s->s.getClerkCode()!=null).map(s->s.getClerkCode()).collect(Collectors.toList());
List<String> storeIds = new ArrayList<String>();
storeIds.add(storeId);
List<String> clerkList = clerkService.getclerkListByStoreIds(storeIds);
List<StaffClerkRelationDTO> staffRelationList = staffClerkRelationService.listByClerkIds(clerkList);
List<String> clerkIds = staffRelationList.stream().filter(s->s.getClerkId()!=null).map(s->s.getClerkId()).collect(Collectors.toList());
List<String> unBindList = new ArrayList<>();
if(CollectionUtil.isNotEmpty(clerkCodes)){
List<ClerkDTO> clerkList = clerkService.listClerk(storeId, clerkCodes, false);
for (ClerkDTO clerkDTO : clerkList) {
unBindList.add(clerkDTO.getClerkId());
for (String clerkId : clerkList) {
if(!clerkIds.contains(clerkId)){
unBindList.add(clerkId);
}
}
return unBindList;
......@@ -1325,7 +1345,12 @@ public class StaffApiServiceImpl implements StaffApiService {
for (TabHaobanStaffDepartmentRelated tab : retList) {
if (clerkCode.equals(tab.getClerkCode())) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(department.getWxEnterpriseId());
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterpriseDTO.getCorpid(), wxEnterpriseDTO.getContactSecret(), tab.getWxUserId());
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
logger.info("没有配置secret:{}",wxEnterpriseDTO.getWxEnterpriseId());
return null;
}
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterpriseDTO.getCorpid(), secretSetting.getSecretVal(), tab.getWxUserId());
if (user != null) {
resp.setResult(user.getQr_code());
return resp;
......@@ -1343,12 +1368,25 @@ public class StaffApiServiceImpl implements StaffApiService {
@Override
public List<String> listBindClerkUserId(String storeId) {
TabHaobanDepartment department = departmentService.selectByRelatedId(storeId);
if(department == null){
return Collections.EMPTY_LIST;
// 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);
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) {
if(keySet.contains(clerkId)){
userIdList.add(clerkIdMap.get(clerkId).getWxUserId());
}
}
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());
return userIdList;
}
......
......@@ -178,4 +178,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
StaffClerkRelationDTO result = EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, tab);
return result;
}
public StaffClerkRelationDTO getByClerkId(String clerkId) {
StaffClerkRelationDTO staffRelation = staffClerkRelatinService.getByClerkId(clerkId);
return staffRelation;
}
}
......@@ -165,4 +165,9 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
public List<SecretSettingDTO> listSecret(String wxEnterpriseId) {
return secretSettingService.listSecretSetting(wxEnterpriseId);
}
@Override
public boolean delSecretSetting(String secretId) {
return secretSettingService.delSecretSetting(secretId);
}
}
......@@ -157,4 +157,36 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi
List<EnterpriseDetailDTO> details = EntityUtil.changeEntityListByJSON(EnterpriseDetailDTO.class, list);
return details;
}
@Override
public int wxEnterpriseBind(String enterpriseId, String wxEnterpriseId, String version, String staffId,
String staffName) {
TabHaobanWxEnterpriseRelated tab = wxEnterpriseRelatedMapper.findOneByEnterpriseId(enterpriseId);
if(tab!= null){
logger.info("该gicEnterpriseId已经绑定过了");
return 1;
}else{
tab = new TabHaobanWxEnterpriseRelated();
tab.setEnterpriseId(enterpriseId);
tab.setWxEnterpriseId(wxEnterpriseId);
tab.setStatusFlag(1);
tab.setVersion(version);
tab.setStaffId(staffId);
tab.setStaffName(staffName);
tab.setCreateTime(new Date());
tab.setUpdateTime(new Date());
tab.setWxEnterpriseRelatedId(UuidUtil.randomUUID());
wxEnterpriseRelatedMapper.insertSelective(tab);
TabHaobanStaff sStaff = staffMapper.selectSuperByWxEnterpriseId(wxEnterpriseId);
if(sStaff == null){
TabHaobanStaff staff = new TabHaobanStaff();
staff.setStaffName("超级管理员");
staff.setWxEnterpriseId(wxEnterpriseId);
staff.setSuperManagerFlag(1);
staffService.add(staff);
}
}
return 0;
}
}
......@@ -12,19 +12,18 @@ import com.gic.haoban.base.api.common.Constant;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.DealParamMqDTO;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.enums.PreDealStatusEnum;
import com.gic.haoban.manage.api.enums.PreDealTypeEnum;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskStatusEnum;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.DepartmentApiService;
import com.gic.haoban.manage.service.entity.TabHaobanDepartment;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
import com.gic.haoban.manage.service.entity.TabHaobanSyncTask;
import com.gic.haoban.manage.service.service.DepartmentService;
import com.gic.haoban.manage.service.service.PreDealService;
import com.gic.haoban.manage.service.service.SyncTaskService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.*;
import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.UserDTO;
......@@ -86,6 +85,9 @@ public class QywxGroupSyncOperation implements BaseSyncOperation {
@Autowired
private QywxClerkSyncOperation qywxClerkSyncOperation;
@Autowired
private SecretSettingService secretSettingService;
@Override
public void dealSingleByMq(DealParamMqDTO dealParamMqDTO, TabHaobanPreDealLog dataPre) {
logger.info("处理企业微信部门:{}", JSONObject.toJSONString(dealParamMqDTO));
......@@ -187,7 +189,12 @@ public class QywxGroupSyncOperation implements BaseSyncOperation {
public void dealSuccess(String taskId, String dataId, String enterpriseId, String wxEnterpriseId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
List<UserDTO> list = this.qywxUserApiService.listSelfDepartmentUser(wxEnterpriseDTO.getCorpid(), wxEnterpriseDTO.getContactSecret(), dataId, 0);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
logger.info("没有配置secret:{},{}",taskId,wxEnterpriseId);
return ;
}
List<UserDTO> list = this.qywxUserApiService.listSelfDepartmentUser(wxEnterpriseDTO.getCorpid(), secretSetting.getSecretVal(), dataId, 0);
//预处理门店 写入预处理表
......
......@@ -294,4 +294,12 @@
and status_flag=1
order by update_time desc limit 1
</select>
<select id="getByClerkId" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_staff_clerk_relation
where clerk_id = #{clerkId,jdbcType=VARCHAR}
and status_flag=1
</select>
</mapper>
\ No newline at end of file
......@@ -6,13 +6,15 @@
<result column="wx_enterprise_id" property="wxEnterpriseId" jdbcType="VARCHAR" />
<result column="enterprise_id" property="enterpriseId" jdbcType="VARCHAR" />
<result column="version" property="version" jdbcType="VARCHAR" />
<result column="staff_id" property="staffId" jdbcType="VARCHAR" />
<result column="staffName" property="staffName" 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" >
wx_enterprise_related_id, wx_enterprise_id, enterprise_id, version, status_flag,
create_time, update_time
create_time, update_time,staff_id,staff_name
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
......@@ -27,10 +29,10 @@
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated" >
insert into tab_haoban_wx_enterprise_related (wx_enterprise_related_id, wx_enterprise_id,
enterprise_id, version, status_flag,
create_time, update_time)
create_time, update_time,staff_id,staff_name)
values (#{wxEnterpriseRelatedId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{enterpriseId,jdbcType=VARCHAR}, #{version,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},#{staffId},#{staffName})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated" >
insert into tab_haoban_wx_enterprise_related
......@@ -56,6 +58,12 @@
<if test="updateTime != null" >
update_time,
</if>
<if test="staffId != null" >
staff_id,
</if>
<if test="staffName != null" >
staff_name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="wxEnterpriseRelatedId != null" >
......@@ -102,6 +110,12 @@
<if test="updateTime != null" >
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="staffId != null" >
#{staffId,jdbcType=VARCHAR},
</if>
<if test="staffName != null" >
#{staffName,jdbcType=VARCHAR},
</if>
</set>
where wx_enterprise_related_id = #{wxEnterpriseRelatedId,jdbcType=VARCHAR}
</update>
......@@ -112,7 +126,9 @@
version = #{version,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
update_time = #{updateTime,jdbcType=TIMESTAMP},
staff_id = #{staffId,jdbcType=VARCHAR},
staff_name = #{staffName,jdbcType=VARCHAR},
where wx_enterprise_related_id = #{wxEnterpriseRelatedId,jdbcType=VARCHAR}
</update>
<select id="listByWxenterpriseId" resultMap="BaseResultMap" parameterType="java.lang.String" >
......
......@@ -11,10 +11,12 @@ import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ctrip.framework.apollo.spring.annotation.ApolloConfig;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.haoban.common.utils.GlobalVar;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.ApplicationSettingApiService;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.DepartmentApiService;
......@@ -134,7 +136,12 @@ public class ApplicationController extends WebBaseController{
String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId);
if(enterpriseDTO != null){
if(StringUtils.isNotBlank(enterpriseDTO.getContactSecret()) && enterpriseDTO.getContactFlag() != null && enterpriseDTO.getContactFlag() == 0){
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(),null);
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
log.info("没有配置secret:{}", JSONObject.toJSONString(enterpriseDTO));
return resultResponse(HaoBanErrCode.ERR_1, true);
}
if( enterpriseDTO.getContactFlag() != null && enterpriseDTO.getContactFlag() == 0){
String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "同步企业微信架构", login.getStaffDTO().getWxUserId(), "首次同步企业微信架构");
if(StringUtils.isBlank(taskId)){
log.info("【是否绑定】taskId={}",taskId);
......@@ -165,7 +172,12 @@ public class ApplicationController extends WebBaseController{
String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId);
if(enterpriseDTO != null){
if(StringUtils.isNotBlank(enterpriseDTO.getContactSecret()) && enterpriseDTO.getContactFlag() != null){
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(),null);
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
log.info("没有配置secret");
return resultResponse(HaoBanErrCode.ERR_1, false);
}
if(StringUtils.isNotBlank(secretSetting.getSecretVal()) && enterpriseDTO.getContactFlag() != null){
String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "后门同步企业微信架构", login.getStaffDTO().getWxUserId(), "后门同步企业微信架构");
if(StringUtils.isBlank(taskId)){
return resultResponse(HaoBanErrCode.ERR_1, false);
......@@ -203,7 +215,12 @@ public class ApplicationController extends WebBaseController{
applicationDTO.setAgentName(dto.getAgentName());
applicationDTO.setSiteId(dto.getSuiteId());
wxApplicationApiService.addSuite(applicationDTO);
this.departmentApiService.initwxDepartment(dto.getCorpid(), enterpriseDTO.getContactSecret(), enterpriseDTO.getWxEnterpriseId());
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(), null);
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
log.info("没有配置secret:{}", JSONObject.toJSONString(enterpriseDTO));
return;
}
this.departmentApiService.initwxDepartment(dto.getCorpid(), secretSetting.getSecretVal(), enterpriseDTO.getWxEnterpriseId());
enterpriseDTO.setContactFlag(1);
wxEnterpriseApiService.update(enterpriseDTO);
}
......
......@@ -16,6 +16,7 @@ import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.DepartmentApiService;
......@@ -26,20 +27,20 @@ import com.gic.haoban.manage.web.auth.AuthRequestUtil;
import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.vo.LoginVO;
import com.gic.haoban.manage.web.vo.SecretSettingVO;
import com.gic.haoban.manage.web.vo.StoreVo;
import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.gic.wechat.token.api.dto.QywxCorpInfoDTO;
import com.gic.wechat.token.api.service.QywxTokenManageService;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@RestController
......@@ -146,7 +147,10 @@ public class WxEnterpriseController extends WebBaseController{
}
LoginVO login = (LoginVO) AuthRequestUtil.getLoginUser();
wxEnterpriseId = login.getWxEnterpriseId();
int i = wxEnterpriseRelatedApiService.wxEnterpriseBind(enterpriseId,wxEnterpriseId,version);
StaffDTO staff = login.getStaffDTO();
String staffId = staff.getStaffId();
String staffName = staff.getStaffName();
int i = wxEnterpriseRelatedApiService.wxEnterpriseBind(enterpriseId,wxEnterpriseId,version,staffId,staffName);
if(i==1){
return resultResponse(HaoBanErrCode.ERR_10006);
}
......@@ -219,10 +223,28 @@ public class WxEnterpriseController extends WebBaseController{
LoginVO login = (LoginVO) AuthRequestUtil.getLoginUser();
wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if(wxEnterprise != null && org.apache.commons.lang3.StringUtils.isAnyBlank(wxEnterprise.getContactSecret(),wxEnterprise.getWxSecretKey())){
List<SecretSettingDTO> listSecret = wxEnterpriseApiService.listSecret(wxEnterpriseId);
if (CollectionUtils.isEmpty(listSecret)) {
return resultResponse(HaoBanErrCode.ERR_1,false);
}
return resultResponse(HaoBanErrCode.ERR_1,true);
Set<Integer> secretTypeList = listSecret.stream().filter(secretSettingDTO -> {
return secretSettingDTO.getCheckFlag() == 1;
}).map(secretSettingDTO -> {
return secretSettingDTO.getSecretType();
}).collect(Collectors.toSet());
if (CollectionUtils.isEmpty(secretTypeList)) {
return resultResponse(HaoBanErrCode.ERR_1,false);
}
if (secretTypeList.contains(SecretTypeEnum.HAOBAN_HELP.getVal())&&secretTypeList.contains(SecretTypeEnum.CONTACT_CUSTOMER.getVal())) {
return resultResponse(HaoBanErrCode.ERR_1,true);
}else{
return resultResponse(HaoBanErrCode.ERR_1,false);
}
// if(wxEnterprise != null && org.apache.commons.lang3.StringUtils.isAnyBlank(wxEnterprise.getContactSecret(),wxEnterprise.getWxSecretKey())){
// return resultResponse(HaoBanErrCode.ERR_1,false);
// }
// return resultResponse(HaoBanErrCode.ERR_1,true);
}
......@@ -250,7 +272,7 @@ public class WxEnterpriseController extends WebBaseController{
secretSetting.setSecretType(SecretTypeEnum.CONTACT_SECRET.getVal());
secretSetting.setSecretName(SecretTypeEnum.CONTACT_SECRET.getName());
secretSetting.setWxEnterpriseId(wxEnterpriseId);
secretSetting.setEnterpriseId("-1");
if(user != null){
secretSetting.setSecretVal(contactSecret);
secretSetting.setCheckFlag(1);
......@@ -289,7 +311,7 @@ public class WxEnterpriseController extends WebBaseController{
secretSetting.setSecretType(SecretTypeEnum.CONTACT_CUSTOMER.getVal());
secretSetting.setSecretName(SecretTypeEnum.CONTACT_CUSTOMER.getName());
secretSetting.setWxEnterpriseId(wxEnterpriseId);
secretSetting.setEnterpriseId("-1");
if(res != null){
secretSetting.setSecretVal(wxSecretKey);
secretSetting.setCheckFlag(1);
......@@ -353,6 +375,48 @@ public class WxEnterpriseController extends WebBaseController{
}
//微信企业绑定接口绑定通讯录key
@IgnoreLogin
@RequestMapping("wx-enterprise-haoban-secret-set")
public HaobanResponse wxEnterpriseHaobanSecretSet(String contactSecret,String memberSecret) {
if (!StringUtils.isEmpty(memberSecret)) {
contactSecret=memberSecret;
}
if(org.apache.commons.lang3.StringUtils.isAnyBlank(contactSecret)){
return resultResponse(HaoBanErrCode.ERR_2);
}
String wxEnterpriseId = "";
LoginVO login = (LoginVO) AuthRequestUtil.getLoginUser();
wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if(wxEnterprise == null){
return resultResponse(HaoBanErrCode.ERR_10012);
}
contactSecret = contactSecret.trim();
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), contactSecret, login.getStaffDTO().getWxUserId());
logger.info("【保存联系人key】user={}",JSON.toJSONString(user));
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal(), null);
if (null== secretSetting) {
secretSetting=new SecretSettingDTO();
}
secretSetting.setSecretType(SecretTypeEnum.HAOBAN_HELP.getVal());
secretSetting.setSecretName(SecretTypeEnum.HAOBAN_HELP.getName());
secretSetting.setWxEnterpriseId(wxEnterpriseId);
secretSetting.setEnterpriseId("-1");
if(user != null){
secretSetting.setSecretVal(contactSecret);
secretSetting.setCheckFlag(1);
wxEnterpriseApiService.saveSecretSetting(secretSetting);
return resultResponse(HaoBanErrCode.ERR_1,true);
}else{
secretSetting.setCheckFlag(0);
wxEnterpriseApiService.saveSecretSetting(secretSetting);
return resultResponse(HaoBanErrCode.ERR_10013);
}
}
//微信企业会员小程序
@IgnoreLogin
@RequestMapping("secret-list")
......@@ -367,9 +431,32 @@ public class WxEnterpriseController extends WebBaseController{
}
List<SecretSettingDTO> listSecret = wxEnterpriseApiService.listSecret(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1,listSecret);
List<SecretSettingVO> listRet=EntityUtil.changeEntityListByJSON(SecretSettingVO.class,listSecret);
if (CollectionUtils.isEmpty(listRet)) {
listRet.forEach(secretSettingVO -> {
if (!StringUtils.isEmpty(secretSettingVO.getEnterpriseId())) {
EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(secretSettingVO.getEnterpriseId());
secretSettingVO.setEnterpriseName(enterpriseDTO.getEnterpriseName());
}
});
}
return resultResponse(HaoBanErrCode.ERR_1,listRet);
}
//微信企业会员小程序
@IgnoreLogin
@RequestMapping("member-secret-del")
public HaobanResponse delMemberSecret(String secretId) {
if(org.apache.commons.lang3.StringUtils.isAnyBlank(secretId)){
return resultResponse(HaoBanErrCode.ERR_2);
}
boolean b = wxEnterpriseApiService.delSecretSetting(secretId);
return resultResponse(HaoBanErrCode.ERR_1,b);
}
//企业信息
@RequestMapping("enterprise-is-over")
......
package com.gic.haoban.manage.web.vo;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* secret配置表
* @author fdh
*/
public class SecretSettingVO implements Serializable {
/**
*
*/
private String secretId;
/**
* 企业微信id
*
*/
private String wxEnterpriseId;
/**
* 名称
*
*/
private String secretName;
/**
* 值
*
*/
private String secretVal;
/**
* gic企业id 会员小程序用到
*
*/
private String enterpriseId;
private String enterpriseName;
/**
* 类型 0 客户联系secret 2通讯录secret 3好办助手 4会员小程序
*
*/
private Integer secretType;
/**
* 0 校验失败 1校验成果
*
*/
private Integer checkFlag;
/**
* 0 删除 1正常
*
*/
private Integer statusFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.secret_id
*
* @return the value of tab_haoban_secret_setting.secret_id
*/
public String getSecretId() {
return secretId;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.secret_id
*
* @param secretId the value for tab_haoban_secret_setting.secret_id
*/
public void setSecretId(String secretId) {
this.secretId = secretId;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.wx_enterprise_id
*
* @return the value of tab_haoban_secret_setting.wx_enterprise_id
*/
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.wx_enterprise_id
*
* @param wxEnterpriseId the value for tab_haoban_secret_setting.wx_enterprise_id
*/
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.secret_name
*
* @return the value of tab_haoban_secret_setting.secret_name
*/
public String getSecretName() {
return secretName;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.secret_name
*
* @param secretName the value for tab_haoban_secret_setting.secret_name
*/
public void setSecretName(String secretName) {
this.secretName = secretName;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.secret_val
*
* @return the value of tab_haoban_secret_setting.secret_val
*/
public String getSecretVal() {
return secretVal;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.secret_val
*
* @param secretVal the value for tab_haoban_secret_setting.secret_val
*/
public void setSecretVal(String secretVal) {
this.secretVal = secretVal;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.enterprise_id
*
* @return the value of tab_haoban_secret_setting.enterprise_id
*/
public String getEnterpriseId() {
return enterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.enterprise_id
*
* @param enterpriseId the value for tab_haoban_secret_setting.enterprise_id
*/
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.secret_type
*
* @return the value of tab_haoban_secret_setting.secret_type
*/
public Integer getSecretType() {
return secretType;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.secret_type
*
* @param secretType the value for tab_haoban_secret_setting.secret_type
*/
public void setSecretType(Integer secretType) {
this.secretType = secretType;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.check_flag
*
* @return the value of tab_haoban_secret_setting.check_flag
*/
public Integer getCheckFlag() {
return checkFlag;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.check_flag
*
* @param checkFlag the value for tab_haoban_secret_setting.check_flag
*/
public void setCheckFlag(Integer checkFlag) {
this.checkFlag = checkFlag;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.status_flag
*
* @return the value of tab_haoban_secret_setting.status_flag
*/
public Integer getStatusFlag() {
return statusFlag;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.status_flag
*
* @param statusFlag the value for tab_haoban_secret_setting.status_flag
*/
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.create_time
*
* @return the value of tab_haoban_secret_setting.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.create_time
*
* @param createTime the value for tab_haoban_secret_setting.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_secret_setting.update_time
*
* @return the value of tab_haoban_secret_setting.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_secret_setting.update_time
*
* @param updateTime the value for tab_haoban_secret_setting.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
......@@ -646,4 +646,42 @@ public class ClerkController extends WebBaseController{
return resultResponse(HaoBanErrCode.ERR_1,list);
}
//刷新导购信息
@RequestMapping("/fresh-clerk-info")
public HaobanResponse freshClerkInfo(String clerkId,String wxEnterpriseId) {
StaffClerkRelationDTO staffRelation = staffClerkRelationApiService.getByClerkId(clerkId);
if(staffRelation == null){
return resultResponse(HaoBanErrCode.ERR_10006);
}
String staffId = staffRelation.getStaffId();
StaffDTO staff = staffApiService.selectById(staffId);
if(staff == null){
return resultResponse(HaoBanErrCode.ERR_10006);
}
String headPic = staff.getHeadImg();
String phoneNumber = staff.getPhoneNumber();
String nationCode = staff.getNationCode();
Integer sex = staff.getSex();
ClerkDTO clerk = clerkService.getClerkByClerkId(clerkId);
if(clerk == null){
return resultResponse(HaoBanErrCode.ERR_10006);
}
if(StringUtils.isNotBlank(headPic)){
clerk.setHeadImgUrl(headPic);
}
if(StringUtils.isNotBlank(phoneNumber)){
clerk.setPhoneNumber(phoneNumber);
}
if(StringUtils.isNotBlank(nationCode)){
clerk.setNationcode(nationCode);
}
if(sex != null){
clerk.setClerkGender(sex.toString());
}
clerkService.updateClerk(clerk);
return resultResponse(HaoBanErrCode.ERR_1);
}
}
......@@ -15,6 +15,7 @@ import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
......@@ -154,10 +155,14 @@ public class InfoController extends WebBaseController{
logger.info("改企业不存在:{}", qo.getGicEnterpriseId());
return resultResponse(HaoBanErrCode.ERR_400002);
}
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDetailDTO.getWxEnterpriseId(), SecretTypeEnum.MEMBER_WAPP.getVal(), qo.getGicEnterpriseId());
if (null == secretSetting||StringUtils.isBlank(secretSetting.getSecretVal())) {
return resultResponse(HaoBanErrCode.ERR_10019);
}
MemberLoginQo user = new MemberLoginQo();
if (StringUtils.isBlank(qo.getUserId())) {
String userDTOJson = qywxUserApiService.getUserByCode(enterpriseDTO.getCorpid(), enterpriseDTO.getMemberSecret(), qo.getCode());
String userDTOJson = qywxUserApiService.getUserByCode(enterpriseDTO.getCorpid(), secretSetting.getSecretVal(), qo.getCode());
logger.info("会员微信登录信息=============>{}", userDTOJson);
user = JSON.parseObject(userDTOJson, MemberLoginQo.class);
if (user == null) {
......
......@@ -207,7 +207,7 @@ public enum HaoBanErrCode {
ERR_10018(10018,"审核记录已存在"),
ERR_10019(10019,"没有配置secret"),
ERR_999(999, "操作失败"),
ERR_DEFINE(-888, "自定义错误"),
......
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