Commit ad1015ef by qwmqiuwenmin

fix

parent 107833e1
......@@ -485,43 +485,27 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
@Override
public void initwxDepartment(String corpid, String contactSecret, String wxEnterpriseId) {
// List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listDepartment(corpid, suiteid, null);
logger.info("【同步企业微信】wxEnterpriseId={}",wxEnterpriseId);
//
// com.gic.wechat.api.dto.qywx.DepartmentDTO rootDepartment = null;
// for (com.gic.wechat.api.dto.qywx.DepartmentDTO departmentDTO : list) {
// if("0".equals(departmentDTO.getParentid())){
// rootDepartment = departmentDTO;
// break;
// logger.info("【同步企业微信】wxEnterpriseId={}","init-enterprise-" + wxEnterpriseId);
// String key = "init-enterprise-" + wxEnterpriseId;
// if(RedisUtil.getCache(key) == null){
// RedisUtil.setCache(key,1, 60 * 60L);
// String taskId = StringUtil.randomUUID();
// List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listSelfDepartment(corpid, contactSecret, null);
// logger.info("企业所有部门数据:{}", JSON.toJSONString(list));
// if(CollectionUtils.isNotEmpty(list)){
// this.addAllDepartment(list, 0, wxEnterpriseId, corpid, contactSecret,taskId);
// }
// }else{
// RedisUtil.delCache(key);
// }
//
// String parentId = addDepartment(rootDepartment, wxEnterpriseId, null,corpid,suiteid);
// List<com.gic.wechat.api.dto.qywx.DepartmentDTO> subList = new ArrayList<>();
// for (com.gic.wechat.api.dto.qywx.DepartmentDTO departmentDTO : list) {
// if(rootDepartment.getId().equals(departmentDTO.getParentid())){
// subList.add(departmentDTO);
// }
// }
//
// DepartmentDTO parent = EntityUtil.changeEntityByJSON(DepartmentDTO.class,departmentService.selectById(parentId));
// this.addSon(subList, wxEnterpriseId, parent,corpid,suiteid);
logger.info("【同步企业微信】wxEnterpriseId={}","init-enterprise-" + wxEnterpriseId);
String key = "init-enterprise-" + wxEnterpriseId;
if(RedisUtil.getCache(key) == null){
RedisUtil.setCache(key,1, 60 * 60L);
String taskId = StringUtil.randomUUID();
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listSelfDepartment(corpid, contactSecret, null);
logger.info("企业所有部门数据:{}", JSON.toJSONString(list));
if(CollectionUtils.isNotEmpty(list)){
this.addAllDepartment(list, 0, wxEnterpriseId, corpid, contactSecret,taskId);
}
}else{
RedisUtil.delCache(key);
String taskId = StringUtil.randomUUID();
List<com.gic.wechat.api.dto.qywx.DepartmentDTO> list = this.qywxDepartmentApiService.listSelfDepartment(corpid, contactSecret, null);
logger.info("企业所有部门数据:{}", JSON.toJSONString(list));
if(CollectionUtils.isNotEmpty(list)){
this.addAllDepartment(list, 0, wxEnterpriseId, corpid, contactSecret,taskId);
}
//RedisUtil.lock("init_enterprise_" + wxEnterpriseId,60 * 60L);
//insertMQ(0,wxEnterpriseId, corpid,contactSecret,taskId);
//RedisUtil.unlock("init_enterprise_" + wxEnterpriseId);
}
......@@ -628,7 +612,7 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
@Override
public boolean isInitLocked(String wxEnterpriseId){
return RedisUtil.isLocked("init_enterprise_" + wxEnterpriseId);
return RedisUtil.isLocked("init-enterprise-" + wxEnterpriseId);
}
......@@ -765,8 +749,6 @@ public class DepartmentApiServiceImpl implements DepartmentApiService {
if(enterpriseDTO != null){
if(StringUtils.isNotBlank(enterpriseDTO.getContactSecret()) && enterpriseDTO.getContactFlag() != null){
this.initwxDepartment(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), enterpriseDTO.getWxEnterpriseId());
enterpriseDTO.setContactFlag(1);
this.wxEnterpriseService.update(enterpriseDTO);
}
}
......
......@@ -109,14 +109,9 @@ public class ApplicationController extends WebBaseController{
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId);
if(enterpriseDTO != null){
if(StringUtils.isNotBlank(enterpriseDTO.getContactSecret()) && enterpriseDTO.getContactFlag() != null && enterpriseDTO.getContactFlag() == 0){
log.info("【初始化部门调用】{},{},{}",RouterConstant.INIT_WX_DEPARTMENT_SERVICENAME,RouterConstant.INIT_WX_DEPARTMENT_METHODNAME,wxEnterpriseId);
try {
GICMQClientUtil.getClientInstance().sendCommonMessage(RouterConstant.ROUTERTYPE, wxEnterpriseId,
RouterConstant.INIT_WX_DEPARTMENT_SERVICENAME, RouterConstant.INIT_WX_DEPARTMENT_METHODNAME);
} catch (Exception e) {
log.info(e.getMessage(),e);
}
this.departmentApiService.initwxDepartmentMQ(enterpriseDTO.getWxEnterpriseId());
enterpriseDTO.setContactFlag(1);
wxEnterpriseApiService.update(enterpriseDTO);
}
}
......@@ -130,17 +125,15 @@ public class ApplicationController extends WebBaseController{
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId);
if(enterpriseDTO != null){
if(StringUtils.isNotBlank(enterpriseDTO.getContactSecret()) && enterpriseDTO.getContactFlag() != null){
log.info("【初始化部门调用】{},{},{}",RouterConstant.INIT_WX_DEPARTMENT_SERVICENAME,RouterConstant.INIT_WX_DEPARTMENT_METHODNAME,wxEnterpriseId);
try {
GICMQClientUtil.getClientInstance().sendCommonMessage(RouterConstant.ROUTERTYPE, wxEnterpriseId,
RouterConstant.INIT_WX_DEPARTMENT_SERVICENAME, RouterConstant.INIT_WX_DEPARTMENT_METHODNAME);
} catch (Exception e) {
log.info(e.getMessage(),e);
}
//this.departmentApiService.initwxDepartmentMQ(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), enterpriseDTO.getWxEnterpriseId());
// enterpriseDTO.setContactFlag(1);
// wxEnterpriseApiService.update(enterpriseDTO);
//
// log.info("【初始化部门调用】{},{},{}",RouterConstant.INIT_WX_DEPARTMENT_SERVICENAME,RouterConstant.INIT_WX_DEPARTMENT_METHODNAME,wxEnterpriseId);
// try {
// GICMQClientUtil.getClientInstance().sendCommonMessage(RouterConstant.ROUTERTYPE, wxEnterpriseId,
// RouterConstant.INIT_WX_DEPARTMENT_SERVICENAME, RouterConstant.INIT_WX_DEPARTMENT_METHODNAME);
// } catch (Exception e) {
// log.info(e.getMessage(),e);
// }
this.departmentApiService.initwxDepartmentMQ(enterpriseDTO.getWxEnterpriseId());
}
}
......
......@@ -16,12 +16,15 @@ import org.springframework.web.bind.annotation.RestController;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.csp.sentinel.util.StringUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.app.customer.service.api.service.DistributeApiService;
import com.gic.haoban.base.api.common.ServiceResponse;
......@@ -30,17 +33,20 @@ import com.gic.haoban.communicate.api.service.SyncHaobanToGicServiceApi;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.service.BindApiService;
import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.DepartmentApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.web.anno.HttpLimit;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.interceptor.WebInterceptor;
import com.gic.haoban.manage.web.vo.ClerkVo;
import com.gic.haoban.manage.web.vo.StoreVO;
import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
@RestController
public class ClerkController extends WebBaseController{
......@@ -64,6 +70,10 @@ public class ClerkController extends WebBaseController{
private ClerkMainStoreRelatedApiService clerkMainStoreRelatedApiService;
@Autowired
private DistributeApiService distributeApiService;
@Autowired
private QywxUserApiService qywxUserApiService;
@Autowired
private WxEnterpriseApiService wxEnterpriseApiService;
//导购列表
@RequestMapping("/clerk-list")
......@@ -331,13 +341,18 @@ public class ClerkController extends WebBaseController{
if(staff == null){
return resultResponse(HaoBanErrCode.ERR_10006);
}
String key = "haoban_set_main_store_" + yyyyMM + staffId;
Object hasSet = RedisUtil.getCache(key);
if(hasSet == null){
RedisUtil.setCache(key,true,31 * 24 * 60 * 60l);
clerkMainStoreRelatedApiService.setMainStore(staffId,storeId,wxEnterpriseId);
String key = "haoban_fresh_wx_friend" + yyyyMM + staffId;
Integer count = RedisUtil.getCache(key) == null ? 0 : (Integer)RedisUtil.getCache(key);
if(count == null || count < 4){
WxEnterpriseDTO enterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
RedisUtil.setCache(key,count + 1,31 * 24 * 60 * 60l);
String res = qywxUserApiService.listSelfExternalUserid(enterprise.getCorpid(), enterprise.getWxSecretKey(), staff.getWxUserId());
JSONObject json = JSON.parseObject(res);
if("0".equals(json.getString("errcode"))){
}
}else{
return resultResponse(HaoBanErrCode.ERR_10007);
return resultResponse(HaoBanErrCode.ERR_10011);
}
return resultResponse(HaoBanErrCode.ERR_1);
}
......
......@@ -193,6 +193,7 @@ public enum HaoBanErrCode {
ERR_10009(10009,"门店不存在"),
ERR_10010(10010,"gic新增失败"),
ERR_10011(10011,"每月最多可刷新4次"),
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