feat:add sync kingdee api
This commit is contained in:
parent
8dc83dc1dd
commit
99661122ab
@ -1,5 +1,6 @@
|
|||||||
package com.ensign.crm.module.crm.job;
|
package com.ensign.crm.module.crm.job;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ensign.crm.framework.quartz.core.handler.JobHandler;
|
import com.ensign.crm.framework.quartz.core.handler.JobHandler;
|
||||||
@ -11,9 +12,12 @@ import com.ensign.crm.module.system.dal.mysql.user.AdminUserMapper;
|
|||||||
import com.ensign.crm.module.system.service.user.AdminUserService;
|
import com.ensign.crm.module.system.service.user.AdminUserService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.checkerframework.checker.units.qual.A;
|
import org.checkerframework.checker.units.qual.A;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -43,22 +47,20 @@ public class UserSyncKingdeeTask implements JobHandler {
|
|||||||
queryWrapper.eq(AdminUserDO::getStatus, 0)
|
queryWrapper.eq(AdminUserDO::getStatus, 0)
|
||||||
.eq(AdminUserDO::getIsSyncKingdee, 1);
|
.eq(AdminUserDO::getIsSyncKingdee, 1);
|
||||||
List<AdminUserDO> users = userMapper.selectList(queryWrapper);
|
List<AdminUserDO> users = userMapper.selectList(queryWrapper);
|
||||||
List<Map<String, Object>> list = new ArrayList<>();
|
|
||||||
|
|
||||||
|
List<AdminUserDO> errors = new ArrayList<>();
|
||||||
for (AdminUserDO user : users) {
|
for (AdminUserDO user : users) {
|
||||||
Map<String, Object> addUser = new HashMap<>();
|
doSyncUser(user, errors);
|
||||||
addUser.put("number", user.getUsername());
|
|
||||||
addUser.put("name", user.getNickname());
|
|
||||||
addUser.put("webuserid", user.getId());
|
|
||||||
addUser.put("webdeptid", user.getDeptId());
|
|
||||||
addUser.put("function", "B");
|
|
||||||
addUser.put("phone", user.getMobile());
|
|
||||||
list.add(addUser);
|
|
||||||
}
|
}
|
||||||
Map<String, Object> body = new HashMap<>();
|
if (!errors.isEmpty()) {
|
||||||
body.put("data", list);
|
throw new AllKingdeeException("同步异常:" + errors);
|
||||||
|
}
|
||||||
|
return "success";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void doSyncUser(AdminUserDO user, List<AdminUserDO> errors) throws AllKingdeeException, IOException, URISyntaxException {
|
||||||
|
Map<String, Object> body = convertToKingdeeObj(user);
|
||||||
log.info("请求body:{}", body);
|
log.info("请求body:{}", body);
|
||||||
log.info("请求{}条", users.size());
|
|
||||||
JSONObject jsonObject = proxyService.doRequest("/ierp/kapi/v2/yem/yem_crmbasic/yem_crm_dealeruser/CRM_yem_crm_dealeruser", "POST", body, null);
|
JSONObject jsonObject = proxyService.doRequest("/ierp/kapi/v2/yem/yem_crmbasic/yem_crm_dealeruser/CRM_yem_crm_dealeruser", "POST", body, null);
|
||||||
log.info("响应body:{}", jsonObject);
|
log.info("响应body:{}", jsonObject);
|
||||||
if (jsonObject.containsKey("status") && jsonObject.containsKey("errorCode")) {
|
if (jsonObject.containsKey("status") && jsonObject.containsKey("errorCode")) {
|
||||||
@ -67,12 +69,31 @@ public class UserSyncKingdeeTask implements JobHandler {
|
|||||||
JSONObject dataObject = jsonObject.getJSONObject("data");
|
JSONObject dataObject = jsonObject.getJSONObject("data");
|
||||||
if (dataObject.containsKey("successCount")) {
|
if (dataObject.containsKey("successCount")) {
|
||||||
int successCount = dataObject.getInteger("successCount");
|
int successCount = dataObject.getInteger("successCount");
|
||||||
log.info("成功{}条", successCount);
|
if (successCount < 1) {
|
||||||
return "success";
|
errors.add(user);
|
||||||
|
log.error("异常数据");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new AllKingdeeException("task error:" + jsonObject);
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public static Map<String, Object> convertToKingdeeObj(AdminUserDO user) {
|
||||||
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
|
|
||||||
|
Map<String, Object> addUser = new HashMap<>();
|
||||||
|
addUser.put("number", user.getUsername());//编码
|
||||||
|
addUser.put("name", user.getNickname());//经销商销售员
|
||||||
|
addUser.put("webuserid", user.getId());//移动端人员ID
|
||||||
|
addUser.put("webdeptid", user.getDeptId());//经销商.移动端部门ID
|
||||||
|
addUser.put("function", "B");//职能 [A:经销商后台, B:经销商销售员]
|
||||||
|
addUser.put("phone", user.getMobile());//手机号
|
||||||
|
addUser.put("createorg", "110");//创建组织.编码
|
||||||
|
list.add(addUser);
|
||||||
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
body.put("data", list);
|
||||||
|
return body;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user