|
@@ -990,6 +990,205 @@ public class YidaServiceImpl implements YidaService {
|
|
|
return ltcCustomerData;
|
|
return ltcCustomerData;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<Map> queryLtcNotFollowedCustomerData(List ydFilters) throws Exception {
|
|
|
|
|
+ /*
|
|
|
|
|
+ 参数定义
|
|
|
|
|
+ */
|
|
|
|
|
+ List<Map> ltcCustomerData = new ArrayList<>();
|
|
|
|
|
+ String searchCondition; //检索条件
|
|
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
|
|
+ DDR_New yidaResult; //请求返回内容
|
|
|
|
|
+ List<Map> records; //每页记录数据
|
|
|
|
|
+ List<Map> allRecords = new ArrayList<>(); //所有记录数据
|
|
|
|
|
+ boolean hasMore; //是否还有下一页
|
|
|
|
|
+ int pageNo; //当前页码
|
|
|
|
|
+ int pageSize; //每页获取的数据量(上限100)
|
|
|
|
|
+ JSONObject fields; //字段数据
|
|
|
|
|
+ String formInstId; //表单实例ID
|
|
|
|
|
+ Map customerRecord; //客户记录
|
|
|
|
|
+ String customerCode; //客户编号
|
|
|
|
|
+ String customerName; //客户名称
|
|
|
|
|
+ JSONArray businessUserIdJSONArray; //业务员字段值
|
|
|
|
|
+ String userId; //业务员userId
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 初始化参数值
|
|
|
|
|
+ */
|
|
|
|
|
+ searchCondition = JSONObject.toJSONString(ydFilters);
|
|
|
|
|
+ hasMore = true; //第一页默认有数据
|
|
|
|
|
+ pageNo = 1;
|
|
|
|
|
+ pageSize = 100;
|
|
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_CUSTOMER);
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.searchCondition(searchCondition);
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 翻页获取数据
|
|
|
|
|
+ */
|
|
|
|
|
+ while(hasMore){
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.pageNumber(pageNo);
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.pageSize(pageSize);
|
|
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
|
|
+ yidaResult = ydClient.queryData(yidaParam,YDConf.FORM_QUERY.retrieve_list);
|
|
|
|
|
+ log.info("当前第"+pageNo+"页");
|
|
|
|
|
+ records = (List<Map>) yidaResult.getData();
|
|
|
|
|
+ log.info("记录数="+records.size());
|
|
|
|
|
+ for (Map record : records){
|
|
|
|
|
+ allRecords.add(record);
|
|
|
|
|
+ }
|
|
|
|
|
+ if((pageNo*pageSize) < yidaResult.getTotalCount()){
|
|
|
|
|
+ pageNo++;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ hasMore = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ log.info("是否有更多数据:"+hasMore);
|
|
|
|
|
+ Thread.sleep(3000);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 请求记录数据处理
|
|
|
|
|
+ */
|
|
|
|
|
+ log.info("所有记录数量="+allRecords.size());
|
|
|
|
|
+ for (Map ltcCustomerRecord : allRecords){
|
|
|
|
|
+ userId = "";
|
|
|
|
|
+
|
|
|
|
|
+ //获取表单实例ID
|
|
|
|
|
+ formInstId = String.valueOf(ltcCustomerRecord.get("formInstanceId"));
|
|
|
|
|
+
|
|
|
|
|
+ //解析字段数据
|
|
|
|
|
+ fields = JSONObject.parseObject(JSONObject.toJSONString(ltcCustomerRecord.get("formData")));
|
|
|
|
|
+
|
|
|
|
|
+ customerCode = fields.getString("serialNumberField_lqanqe6i");
|
|
|
|
|
+ customerName = fields.getString("textField_lqanqe6j");
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 获取成员数据
|
|
|
|
|
+ */
|
|
|
|
|
+ if(fields.get("employeeField_lqanqe6n_id") != null){
|
|
|
|
|
+ businessUserIdJSONArray = fields.getJSONArray("employeeField_lqanqe6n_id");
|
|
|
|
|
+ if(!businessUserIdJSONArray.isEmpty()){
|
|
|
|
|
+ userId = String.valueOf(businessUserIdJSONArray.get(0));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //生成客户数据
|
|
|
|
|
+ customerRecord = UtilMap.map(
|
|
|
|
|
+ "formInstId, customerCode, customerName, userId",
|
|
|
|
|
+ formInstId, //表单实例ID
|
|
|
|
|
+ customerCode, //客户编号
|
|
|
|
|
+ customerName, //客户公司名(英文名)
|
|
|
|
|
+ userId //业务员userId
|
|
|
|
|
+ );
|
|
|
|
|
+ ltcCustomerData.add(customerRecord);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return ltcCustomerData;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<Map> queryLtcCustomerEstablishContactData() throws Exception {
|
|
|
|
|
+ /*
|
|
|
|
|
+ 参数定义
|
|
|
|
|
+ */
|
|
|
|
|
+ List<Map> establishContactData = new ArrayList<>();
|
|
|
|
|
+ YDSearch ydSearch; //检索条件(单个)
|
|
|
|
|
+ String searchCondition; //检索条件
|
|
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
|
|
+ DDR_New yidaResult; //请求返回内容
|
|
|
|
|
+ List<Map> records; //每页记录数据
|
|
|
|
|
+ List<Map> allRecords = new ArrayList<>(); //所有记录数据
|
|
|
|
|
+ boolean hasMore; //是否还有下一页
|
|
|
|
|
+ int pageNo; //当前页码
|
|
|
|
|
+ int pageSize; //每页获取的数据量(上限100)
|
|
|
|
|
+ JSONObject fields; //字段数据
|
|
|
|
|
+ String formInstId; //表单实例ID
|
|
|
|
|
+ Map establishContactRecord; //客户建联跟进记录
|
|
|
|
|
+ String customerCode; //客户编号
|
|
|
|
|
+ JSONArray businessUserIdJSONArray; //跟进人字段值
|
|
|
|
|
+ String userId; //业务员userId
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 初始化参数值
|
|
|
|
|
+ */
|
|
|
|
|
+ ydSearch = new YDSearch(
|
|
|
|
|
+ "radioField_mo2p26sg",
|
|
|
|
|
+ "是",
|
|
|
|
|
+ "是否已建立联系",
|
|
|
|
|
+ YDSearch.Type.RADIO_FIELD,
|
|
|
|
|
+ YDSearch.Operator.EQ
|
|
|
|
|
+ );
|
|
|
|
|
+ searchCondition = JSONObject.toJSONString(Arrays.asList(ydSearch));
|
|
|
|
|
+ hasMore = true; //第一页默认有数据
|
|
|
|
|
+ pageNo = 1;
|
|
|
|
|
+ pageSize = 100;
|
|
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_CUSTOMER_CONTACT);
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.searchCondition(searchCondition);
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 翻页获取数据
|
|
|
|
|
+ */
|
|
|
|
|
+ while(hasMore){
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.pageNumber(pageNo);
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.pageSize(pageSize);
|
|
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
|
|
+ yidaResult = ydClient.queryData(yidaParam,YDConf.FORM_QUERY.retrieve_list);
|
|
|
|
|
+ log.info("当前第"+pageNo+"页");
|
|
|
|
|
+ records = (List<Map>) yidaResult.getData();
|
|
|
|
|
+ log.info("记录数="+records.size());
|
|
|
|
|
+ for (Map record : records){
|
|
|
|
|
+ allRecords.add(record);
|
|
|
|
|
+ }
|
|
|
|
|
+ if((pageNo*pageSize) < yidaResult.getTotalCount()){
|
|
|
|
|
+ pageNo++;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ hasMore = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ log.info("是否有更多数据:"+hasMore);
|
|
|
|
|
+ Thread.sleep(3000);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 请求记录数据处理
|
|
|
|
|
+ */
|
|
|
|
|
+ log.info("所有记录数量="+allRecords.size());
|
|
|
|
|
+ for (Map record : allRecords){
|
|
|
|
|
+ customerCode = "";
|
|
|
|
|
+ userId = "";
|
|
|
|
|
+
|
|
|
|
|
+ //解析字段数据
|
|
|
|
|
+ fields = JSONObject.parseObject(JSONObject.toJSONString(record.get("formData")));
|
|
|
|
|
+
|
|
|
|
|
+ //获取客户编号
|
|
|
|
|
+ customerCode = fields.getString("textField_lqgni3ps");
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 获取业务员userId
|
|
|
|
|
+ */
|
|
|
|
|
+ if(fields.get("employeeField_lqbo4rw3_id") != null){
|
|
|
|
|
+ businessUserIdJSONArray = fields.getJSONArray("employeeField_lqbo4rw3_id");
|
|
|
|
|
+ if(!businessUserIdJSONArray.isEmpty()){
|
|
|
|
|
+ userId = String.valueOf(businessUserIdJSONArray.get(0));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //添加客户建联跟进记录
|
|
|
|
|
+ establishContactRecord = UtilMap.map(
|
|
|
|
|
+ "customerCode, userId",
|
|
|
|
|
+ customerCode, //客户编号
|
|
|
|
|
+ userId //业务员userId
|
|
|
|
|
+ );
|
|
|
|
|
+ establishContactData.add(establishContactRecord);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return establishContactData;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void updateLtcCustomerTestFlag(String formInstId) throws Exception {
|
|
public void updateLtcCustomerTestFlag(String formInstId) throws Exception {
|
|
|
/*
|
|
/*
|
|
@@ -1380,6 +1579,76 @@ public class YidaServiceImpl implements YidaService {
|
|
|
System.out.println("新增一条客户记录");
|
|
System.out.println("新增一条客户记录");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void addAlertDetail(Map row) throws Exception {
|
|
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
|
|
+
|
|
|
|
|
+ String[] businessUserIdArr = new String[]{};
|
|
|
|
|
+ if(row.get("businessUserId")!=null){
|
|
|
|
|
+ businessUserIdArr = new String[]{row.get("businessUserId").toString()};
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ List customerField = new ArrayList();
|
|
|
|
|
+ Map customerFieldVal = new HashMap();
|
|
|
|
|
+ customerFieldVal.put("appType","APP_GM7D1NW6XCD0ZJBPVH51");
|
|
|
|
|
+ customerFieldVal.put("formUuid","FORM-9261FABA687B4D1D917617F53B4A5DB7UN16"); //客户
|
|
|
|
|
+ customerFieldVal.put("formType","receipt");
|
|
|
|
|
+ customerFieldVal.put("instanceId",row.get("formInstId"));
|
|
|
|
|
+ customerFieldVal.put("title",row.get("customerName"));
|
|
|
|
|
+ customerFieldVal.put("subTitle",row.get("customerCode"));
|
|
|
|
|
+ customerField.add(customerFieldVal);
|
|
|
|
|
+
|
|
|
|
|
+ Map alertLogRecord = UtilMap.map(
|
|
|
|
|
+ "employeeField_mpf2mxcc, " //业务员
|
|
|
|
|
+ +"associationFormField_mpf2mxcb, " //客户
|
|
|
|
|
+ +"textareaField_mpghcehk, " //备注
|
|
|
|
|
+ +"dateField_mpf2mxcd", //提醒日期
|
|
|
|
|
+ businessUserIdArr,
|
|
|
|
|
+ customerField,
|
|
|
|
|
+ row.get("remark"),
|
|
|
|
|
+ row.get("today")
|
|
|
|
|
+ );
|
|
|
|
|
+ String insertFormDataJson = JSONObject.toJSONString(alertLogRecord);
|
|
|
|
|
+ System.out.println(insertFormDataJson);
|
|
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_ALERT_DETAIL);
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.formDataJson(insertFormDataJson);
|
|
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
|
|
+ ydClient.operateData(yidaParam,YDConf.FORM_OPERATION.create);
|
|
|
|
|
+ log.info("新增一条私海客户流出风险提示记录");
|
|
|
|
|
+ Thread.sleep(1000);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void addAlertLog(Map row) throws Exception {
|
|
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
|
|
+
|
|
|
|
|
+ String[] businessUserIdArr = new String[]{};
|
|
|
|
|
+ if(row.get("businessUserId")!=null){
|
|
|
|
|
+ businessUserIdArr = new String[]{row.get("businessUserId").toString()};
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Map alertLogRecord = UtilMap.map(
|
|
|
|
|
+ "employeeField_mpgmbad0, " //业务员
|
|
|
|
|
+ +"numberField_mpgmbad2, " //超过3天未跟进客户数量
|
|
|
|
|
+ +"dateField_mpgmbad3", //发布日期
|
|
|
|
|
+ businessUserIdArr,
|
|
|
|
|
+ row.get("customerNum"),
|
|
|
|
|
+ row.get("today")
|
|
|
|
|
+ );
|
|
|
|
|
+ String insertFormDataJson = JSONObject.toJSONString(alertLogRecord);
|
|
|
|
|
+ System.out.println(insertFormDataJson);
|
|
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_ALERT_LOG);
|
|
|
|
|
+ ydParamBuilder = ydParamBuilder.formDataJson(insertFormDataJson);
|
|
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
|
|
+ ydClient.operateData(yidaParam,YDConf.FORM_OPERATION.create);
|
|
|
|
|
+ log.info("新增一条私海客户流出告警日志记录");
|
|
|
|
|
+ Thread.sleep(3000);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public List<Map> querySys2CustomerData() throws Exception {
|
|
public List<Map> querySys2CustomerData() throws Exception {
|
|
|
/*
|
|
/*
|