3 changed files with 155 additions and 14 deletions
@ -0,0 +1,141 @@ |
|||
package com.zdxt.app.task; |
|||
|
|||
import cn.hutool.core.map.MapUtil; |
|||
import com.alibaba.fastjson.JSON; |
|||
import com.alibaba.fastjson.JSONArray; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.zdxt.auth.common.utils.StringUtils; |
|||
import com.zdxt.auth.dto.UserBean; |
|||
import com.zdxt.auth.feign.UserApi; |
|||
import com.zdxt.auth.project.system.dept.service.IDeptService; |
|||
import com.zdxt.auth.project.system.dict.service.IDictDataService; |
|||
import com.zdxt.auth.project.system.user.service.IUserService; |
|||
import com.zdxt.code.domain.EnterpriseComplaint; |
|||
import com.zdxt.code.domain.EnterpriseComplaintSatisfy; |
|||
import com.zdxt.code.domain.EnterpriseEvaluate; |
|||
import com.zdxt.code.domain.MssqAddOrder; |
|||
import com.zdxt.code.service.IEnterpriseComplaintSatisfyService; |
|||
import com.zdxt.code.service.IEnterpriseComplaintService; |
|||
import com.zdxt.code.service.MssqApiService; |
|||
import com.zdxt.domain.auth.DictData; |
|||
import org.apache.http.HttpEntity; |
|||
import org.apache.http.client.methods.CloseableHttpResponse; |
|||
import org.apache.http.client.methods.HttpPost; |
|||
import org.apache.http.entity.StringEntity; |
|||
import org.apache.http.impl.client.CloseableHttpClient; |
|||
import org.apache.http.impl.client.HttpClientBuilder; |
|||
import org.apache.http.util.EntityUtils; |
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.beans.factory.annotation.Value; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.io.IOException; |
|||
import java.nio.charset.StandardCharsets; |
|||
import java.nio.file.Files; |
|||
import java.nio.file.Paths; |
|||
import java.security.MessageDigest; |
|||
import java.util.*; |
|||
import java.util.stream.Collectors; |
|||
|
|||
|
|||
/** |
|||
* @Author: kylin |
|||
* @Date: 2024/5/9 2:58 下午 |
|||
* @Version: 1.0 |
|||
* @Desc: TODO |
|||
*/ |
|||
@Component("complaintEvaluateTask") |
|||
public class ComplaintEvaluateTask { |
|||
|
|||
@Value("${srnwg.systemCode}") |
|||
private String systemCode; |
|||
@Value("${srnwg.integrationKey}") |
|||
private String integrationKey; |
|||
@Value("${srnwg.url}") |
|||
private String znwgUrl; |
|||
@Value("${srnwg.paasId}") |
|||
private String paasId; |
|||
@Value("${srnwg.paasToken}") |
|||
private String paasToken; |
|||
|
|||
@Autowired private IEnterpriseComplaintService iEnterpriseComplaintService; |
|||
@Autowired private IEnterpriseComplaintSatisfyService iEnterpriseComplaintSatisfyService; |
|||
@Autowired private MssqApiService mssqApiService; |
|||
|
|||
private static final Logger log = LoggerFactory.getLogger(ComplaintEvaluateTask.class); |
|||
|
|||
|
|||
public void run(){ |
|||
this.evaluate(); |
|||
} |
|||
|
|||
/** |
|||
* 同步评价详情 |
|||
*/ |
|||
public void evaluate(){ |
|||
try { |
|||
List<EnterpriseComplaint> list = iEnterpriseComplaintService.selectEnterpriseComplaintList(new EnterpriseComplaint()); |
|||
List<String> proWoCodes = new ArrayList<>(); |
|||
for (EnterpriseComplaint ec : list) { |
|||
if (StringUtils.isNotEmpty(ec.getProWoCode())) { |
|||
proWoCodes.add(ec.getProWoCode()); |
|||
} |
|||
} |
|||
MssqAddOrder mssqAddOrder = new MssqAddOrder(); |
|||
mssqAddOrder.setProWoCodes(proWoCodes); |
|||
String result = mssqApiService.mssqQuerySatisfy(mssqAddOrder); |
|||
JSONObject sourceObj = JSONObject.parseObject(result); |
|||
JSONArray dataOjbs = sourceObj.getJSONArray("satisfyDatas"); |
|||
|
|||
int editNum = 0; |
|||
int addNum = 0; |
|||
for (int i=0; i<dataOjbs.size(); i++) { |
|||
EnterpriseComplaintSatisfy ec = convertSatisfy(dataOjbs.getJSONObject(i)); |
|||
if (StringUtils.isNotEmpty(ec.getProWoId())) { |
|||
EnterpriseComplaintSatisfy satisfy = iEnterpriseComplaintSatisfyService.selectEnterpriseComplaintSatisfyById(ec.getProWoId()); |
|||
if (null != satisfy && StringUtils.isNotEmpty(satisfy.getProWoId())) { |
|||
editNum += iEnterpriseComplaintSatisfyService.updateEnterpriseComplaintSatisfy(ec); |
|||
} else { |
|||
addNum += iEnterpriseComplaintSatisfyService.insertEnterpriseComplaintSatisfy(ec); |
|||
} |
|||
} |
|||
|
|||
} |
|||
log.info("===== 同步更新数据 {} 条 =====", editNum); |
|||
log.info("===== 同步新增数据 {} 条 =====", addNum); |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
} |
|||
|
|||
private EnterpriseComplaintSatisfy convertSatisfy(JSONObject satisfyJson) { |
|||
EnterpriseComplaintSatisfy ce = new EnterpriseComplaintSatisfy(); |
|||
/** 工单id */ |
|||
ce.setProWoId(satisfyJson.getString("proWoId")); |
|||
/** 工单编号 */ |
|||
ce.setProWoCode(satisfyJson.getString("proWoCode")); |
|||
/** 满意度评价 (1:非常不满意;2:不满意;3:基本满意;4:满意;5:非常满意;6:未评价;7:无效评价;) */ |
|||
ce.setApproveCode(satisfyJson.getInteger("approveCode")); |
|||
/** 评价时间 */ |
|||
ce.setApproveTime(satisfyJson.getString("approveTime")); |
|||
/** 不满意原因 (1:对承办单位工作人员的态度和效率不满意;2:对承办单位未回复不满意;3:对回复结果不满意;4:对问题仍然未解决/未改善不满意;5:对建议未被采纳不满意;9:未评价;10:无效评价;11 :承办单位回复情况与实际情况不一致;12:回复结果解答/指引不清晰;13:按回复指引操作但问题仍未解决;14:建议采纳但暂未实施;) */ |
|||
ce.setDisApproveReason(satisfyJson.getInteger("disApproveReason")); |
|||
/** 处置速度 (1:非常不满意;2:不满意;3:基本满意;4:满意;5:非常满意;6:未评价;7:无效评价;) */ |
|||
ce.setDealSpeedMetrics(satisfyJson.getInteger("dealSpeedMetrics")); |
|||
/** 处置效果 (1:非常不满意;2:不满意;3:基本满意;4:满意;5:非常满意;6:未评价;7:无效评价;) */ |
|||
ce.setDealEffectMetrics(satisfyJson.getInteger("dealEffectMetrics")); |
|||
/** 服务体验 (1:非常不满意;2:不满意;3:基本满意;4:满意;5:非常满意;6:未评价;7:无效评价;) */ |
|||
ce.setServiceMetrics(satisfyJson.getInteger("serviceMetrics")); |
|||
/** 反馈质量 (1:非常不满意;2:不满意;3:基本满意;4:满意;5:非常满意;6:未评价;7:无效评价;) */ |
|||
ce.setFeedbackQualityMetrics(satisfyJson.getInteger("feedbackQualityMetrics")); |
|||
/** 文字评价内容 */ |
|||
ce.setWritingEvaluation(satisfyJson.getString("writingEvaluation")); |
|||
/** 机构code */ |
|||
ce.setOrgCode(satisfyJson.getString("orgCode")); |
|||
/** 评价次数 */ |
|||
ce.setAssessNumber(satisfyJson.getInteger("assessNumber")); |
|||
return ce; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue