Commit 14ccb2c8 by qwmqiuwenmin

fix

parent 39708754
......@@ -42,6 +42,7 @@ import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.DepartmentAddQO;
import com.gic.haoban.manage.web.qo.DepartmentEditQO;
import com.gic.haoban.manage.web.thread.SyncDepartmentThread;
import com.gic.haoban.manage.web.vo.LoginVO;
import com.gic.haoban.manage.web.vo.StoreVo;
import com.gic.redis.data.util.RedisUtil;
......@@ -237,7 +238,128 @@ public class DepartmentContoller extends WebBaseController{
public HaobanResponse departmentBatchSync(String editDepartment,String delDepartmentIds,String addDepartment) {
LoginVO login = (LoginVO) AuthRequestUtil.getSessionUser();
String wxEnterpriseId = login.getWxEnterpriseId();
RedisUtil.setCache("haoban-sync-department-" + wxEnterpriseId,System.currentTimeMillis());
String key = "haoban-sync-department-" + wxEnterpriseId + "-" + System.currentTimeMillis();
RedisUtil.setCache(key,1);
new SyncDepartmentThread(this,editDepartment,delDepartmentIds,addDepartment,key).start();
// if(StringUtils.isNotBlank(addDepartment)) {
// List<DepartmentAddQO> list = JSONArray.parseArray(addDepartment, DepartmentAddQO.class);
// int sort = 0;
// int maxSort = list.size();
// for (DepartmentAddQO departmentAddQO : list) {
// String parentId = departmentAddQO.getParentId();
// DepartmentDTO dto = departmentApiService.selectById(parentId);
// if(dto == null || dto.getStatusFlag() == 0) {
// continue;
// }
// if(dto.getIsStore() == 1) {
// continue;
// }
// Integer type = departmentAddQO.getType();
// Integer isStore = 0;
// String storeCode = "";
// if(type != null && type == 3){
// isStore = 1;
// StoreDTO store = storeService.getStore(departmentAddQO.getRelatedId());
// if(store != null){
// storeCode = store.getStoreCode();
// }
// }
// DepartmentDTO department = new DepartmentDTO();
// department.setParentDepartmentId(parentId);
// //department.setWxDepartmentId(dto.getWxDepartmentId());
// department.setWxEnterpriseId(dto.getWxEnterpriseId());
// department.setDepartmentName(departmentAddQO.getDepartmentName());
// department.setChainId(dto.getChainId() + Constant.ID_SEPARATOR + dto.getDepartmentId());
// department.setChainName(dto.getChainName() + Constant.NAME_SEPARATOR + dto.getDepartmentName());
// if(departmentAddQO.getStoreFlag() != null){
// department.setIsStore(departmentAddQO.getStoreFlag());
// }else{
// department.setIsStore(isStore);
// }
// //department.setSort(departmentAddQO.getSort());
// department.setLevel(dto.getLevel() + 1);
// department.setRelatedId(departmentAddQO.getRelatedId());
// department.setRelatedCode(storeCode);
// department.setSort(maxSort - sort);
// HaobanResponse hr = departmentApiService.add(department);
// if(hr.getErrorCode() != 1) {
// continue;
// }
// DepartmentDTO departmentAdd = (DepartmentDTO) hr.getResult();
// String departmentId = departmentAdd.getDepartmentId();
//
// String sonDepartment = departmentAddQO.getChildren();
// handler(sonDepartment,departmentId);
// if(isStore == 1){
// handerStoreClerk(departmentId, departmentAddQO.getRelatedId());
// }
// }
// }
// logger.info("【部门修改】editDepartment={}",editDepartment);
// if(StringUtils.isNotBlank(editDepartment)) {
// List<DepartmentEditQO> list = JSONArray.parseArray(editDepartment, DepartmentEditQO.class);
// int sort = 0;
// int maxSort = list.size();
// logger.info("【部门修改】list={}",JSON.toJSONString(list));
// for (DepartmentEditQO departmentQO : list) {
// String parentId = departmentQO.getParentId();
// DepartmentDTO parent = departmentApiService.selectById(parentId);
// if(parent == null || parent.getStatusFlag() == 0) {
// continue;
// }
// DepartmentDTO department = departmentApiService.selectById(departmentQO.getDepartmentId());
// if(department == null){
// continue;
// }
// department.setParentDepartmentId(parentId);
// department.setWxEnterpriseId(department.getWxEnterpriseId());
// department.setDepartmentName(departmentQO.getDepartmentName());
// department.setChainId(parent.getChainId() + Constant.ID_SEPARATOR + parent.getDepartmentId());
// department.setChainName(parent.getChainName() + Constant.NAME_SEPARATOR + parent.getDepartmentName());
// department.setLevel(parent.getLevel() + 1);
// //department.setSort(departmentQO.getSort());
// department.setSort(maxSort - sort);
// logger.info("【部门修改】department={}",JSON.toJSONString(department));
//
// handerSonDepartment(departmentQO.getCurrDepartment());
// HaobanResponse hr = departmentApiService.edit(department);
//
// String sonDepartment = departmentQO.getChildren();
// handler(sonDepartment,department.getDepartmentId());
//
// }
//
// }
//
// if(StringUtils.isNotBlank(delDepartmentIds)) {
// String[] delIds = delDepartmentIds.split(",");
// for (String string : delIds) {
// DepartmentDTO dto = departmentApiService.selectById(string);
// if(dto == null || dto.getStatusFlag() == 0) {
// continue;
// }
// if(StringUtils.isBlank(dto.getRelatedId())) {
// departmentApiService.del(string);
// }else {
// departmentApiService.recycle(string);
// }
// }
// }
//
return resultResponse(HaoBanErrCode.ERR_1);
}
@RequestMapping("department-batch-sync-success")
public HaobanResponse syncSuccess(String syncKey) {
if(RedisUtil.getCache(syncKey) == null){
return resultResponse(HaoBanErrCode.ERR_1,true);
}else{
return resultResponse(HaoBanErrCode.ERR_1,false);
}
}
public void syncDepartment(String editDepartment,String delDepartmentIds,String addDepartment){
if(StringUtils.isNotBlank(addDepartment)) {
List<DepartmentAddQO> list = JSONArray.parseArray(addDepartment, DepartmentAddQO.class);
int sort = 0;
......@@ -342,9 +464,6 @@ public class DepartmentContoller extends WebBaseController{
}
}
}
return resultResponse(HaoBanErrCode.ERR_1);
}
/**
......
package com.gic.haoban.manage.web.thread;
import com.gic.haoban.manage.web.controller.DepartmentContoller;
import com.gic.redis.data.util.RedisUtil;
public class SyncDepartmentThread extends Thread{
DepartmentContoller departmentController;
String editDepartment;
String delDepartmentIds;
String addDepartment;
String key;
@Override
public void run() {
System.out.println("【开始同步】" + System.currentTimeMillis());
departmentController.syncDepartment(editDepartment, delDepartmentIds, addDepartment);
RedisUtil.delCache(key);
System.out.println("【结束同步】" + System.currentTimeMillis());
}
public SyncDepartmentThread(DepartmentContoller departmentController,String editDepartment,String delDepartmentIds,
String addDepartment,String key){
this.departmentController = departmentController;
this.editDepartment = editDepartment;
this.delDepartmentIds = delDepartmentIds;
this.addDepartment = addDepartment;
this.key = key;
}
}
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