Commit da065028 authored by 李健华's avatar 李健华

Merge branch 'feature/transaction-20220616' into 'master'

Feature/transaction 20220616

See merge request !6
parents 091a26e0 ef7289e4
...@@ -33,7 +33,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -33,7 +33,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override @Override
protected void configure(HttpSecurity http) throws Exception { protected void configure(HttpSecurity http) throws Exception {
//String allowedRoutes = "/test/**,/error/**,/user/login"; // String allowedRoutes = "/test/**,/error/**,/repay/**,/channel/**,/order/**,/operate/sys/**,/user/**,/work_order/**,/vcc/**,/transactionReceiptRecord/**";
String[] allowedRoutesArr = allowedRoutes.split(","); String[] allowedRoutesArr = allowedRoutes.split(",");
http.httpBasic().and() http.httpBasic().and()
.authorizeRequests() .authorizeRequests()
......
...@@ -9,7 +9,12 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -9,7 +9,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -77,9 +82,11 @@ public class TransactionReceiptRecordRest { ...@@ -77,9 +82,11 @@ public class TransactionReceiptRecordRest {
//导出压缩包 //导出压缩包
@RequestMapping("/orderQuery/exportTransactionZipFile") @RequestMapping("/orderQuery/exportTransactionZipFile")
@ResponseBody @ResponseBody
public JsonResult exportTransactionZipFile(HttpServletRequest request, HttpServletResponse response) throws Exception{ public JsonResult exportTransactionZipFile(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception{
try{ try{
//transactionReceiptRecordService.deleteRedis("exportZipFile"); HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
// transactionReceiptRecordService.deleteRedis("exportZipFile");
String str = transactionReceiptRecordService.checkRedis("exportZipFile"); String str = transactionReceiptRecordService.checkRedis("exportZipFile");
if(StringUtils.isNotBlank(str)){ if(StringUtils.isNotBlank(str)){
return JsonResult.buildErrorStateResult("正在处理中,请稍后查看邮箱"); return JsonResult.buildErrorStateResult("正在处理中,请稍后查看邮箱");
......
...@@ -42,6 +42,8 @@ import org.springframework.scheduling.annotation.Async; ...@@ -42,6 +42,8 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -331,6 +333,7 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR ...@@ -331,6 +333,7 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
//调用电商接口获取对应数据 //调用电商接口获取对应数据
log.info("[TransactionReceiptRecordServiceImpl.exportZipFile begin]"); log.info("[TransactionReceiptRecordServiceImpl.exportZipFile begin]");
//查询需要导出的数据-导入成功的数据,但未导出成功的数据 //查询需要导出的数据-导入成功的数据,但未导出成功的数据
String accessToken = request.getHeader("Access-Token");
List<TransactionReceiptRecord> transactionReceiptRecordList= transactionReceiptRecordRepo.selectRecordsByImportStatusAndExportStatus(1,limit); List<TransactionReceiptRecord> transactionReceiptRecordList= transactionReceiptRecordRepo.selectRecordsByImportStatusAndExportStatus(1,limit);
log.info("[TransactionReceiptRecordServiceImpl.exportZipFile transactionReceiptRecordList] 可导出数据为:",transactionReceiptRecordList.size()); log.info("[TransactionReceiptRecordServiceImpl.exportZipFile transactionReceiptRecordList] 可导出数据为:",transactionReceiptRecordList.size());
if(CollectionUtils.isEmpty(transactionReceiptRecordList)){ if(CollectionUtils.isEmpty(transactionReceiptRecordList)){
...@@ -421,7 +424,7 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR ...@@ -421,7 +424,7 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
log.info("需要签章得pdf路径:"+maxExportBatchNo+"/交易凭证/"+directory+"/"+pdfFileName); log.info("需要签章得pdf路径:"+maxExportBatchNo+"/交易凭证/"+directory+"/"+pdfFileName);
filePathList.add(map); filePathList.add(map);
//调用合同中心进行签章 //调用合同中心进行签章
restContract(filePathList,emailList); restContract(filePathList, emailList, accessToken);
} }
} catch (Exception e) { } catch (Exception e) {
sftpUtil.logout(); sftpUtil.logout();
...@@ -498,12 +501,25 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR ...@@ -498,12 +501,25 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
deleteRedis("exportZipFile"); deleteRedis("exportZipFile");
} }
private void getHeaders(HttpServletRequest request) {
log.info("[TransactionReceiptRecordServiceImpl.getHeaders] begin");
Map<String, String> headerMap = new HashMap<>();
Enumeration<String> enumeration = request.getHeaderNames();
while (enumeration.hasMoreElements()) {
String name = enumeration.nextElement();
String value = request.getHeader(name);
headerMap.put(name, value);
log.info("[TransactionReceiptRecordServiceImpl.getHeaders],name:{},value:{}",name,value);
}
// return headerMap;
}
/** /**
* 调用签章接口 * 调用签章接口
* @param filePathList * @param filePathList
*/ */
private void restContract(List <Map<String,Object>> filePathList,List <Map<String,Object>> emailList){ private void restContract(List <Map<String,Object>> filePathList,List <Map<String,Object>> emailList,String accessToken){
log.info("contractUrl /contract/batch/sign 调用签章接口"); log.info("contractUrl /contract/batch/sign 调用签章接口,accessToken:{}",accessToken);
if(filePathList.isEmpty()){ if(filePathList.isEmpty()){
deleteRedis("exportZipFile"); deleteRedis("exportZipFile");
throw new RuntimeException("没有可以导出的数据"); throw new RuntimeException("没有可以导出的数据");
...@@ -511,6 +527,8 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR ...@@ -511,6 +527,8 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
String url = contractUrl + "/contract/batch/sign"; String url = contractUrl + "/contract/batch/sign";
Map<String, String> header = Maps.newHashMap(); Map<String, String> header = Maps.newHashMap();
header.put("Content-type", "application/json"); header.put("Content-type", "application/json");
header.put("Access-Token", accessToken);
log.info("contractUrl /contract/batch/sign 调用签章接口 accessToken,"+accessToken);
log.info("contractUrl /contract/batch/sign 调用签章接口 begin,"+filePathList); log.info("contractUrl /contract/batch/sign 调用签章接口 begin,"+filePathList);
String contractResult = httpService.post(url, header, filePathList); String contractResult = httpService.post(url, header, filePathList);
JSONObject json = JSONObject.parseObject(contractResult); JSONObject json = JSONObject.parseObject(contractResult);
...@@ -654,34 +672,34 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR ...@@ -654,34 +672,34 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
for(TransactionReceiptRecord record :transactionReceiptRecordList){ for(TransactionReceiptRecord record :transactionReceiptRecordList){
try{ try{
//调用天津自牧用户中心接口 //调用天津自牧用户中心接口
Map param = Maps.newHashMap(); // Map param = Maps.newHashMap();
param.put("userIds",record.getUserId()); // param.put("userIds",record.getUserId());
String userUrl = userSysUrl + "/api/sync/listByUserIds"; // String userUrl = userSysUrl + "/api/sync/listByUserIds";
//String userUrl = "http://passportapi-test7.liangkebang.net/api/sync/listByUserIds"; // //String userUrl = "http://passportapi-test7.liangkebang.net/api/sync/listByUserIds";
log.info("TransactionReceiptRecordServiceImpl updateTransactionRecordsStatus 调用用户中心 begin"+param); // log.info("TransactionReceiptRecordServiceImpl updateTransactionRecordsStatus 调用用户中心 begin"+param);
String userResult = httpService.get(userUrl, param); // String userResult = httpService.get(userUrl, param);
log.info("TransactionReceiptRecordServiceImpl userResult ="+userResult); // log.info("TransactionReceiptRecordServiceImpl userResult ="+userResult);
if (StringUtils.isEmpty(userResult)) { // if (StringUtils.isEmpty(userResult)) {
record.setImportStatus(2); // record.setImportStatus(2);
record.setExportStatus(2); // record.setExportStatus(2);
failList.add(record); // failList.add(record);
continue; // continue;
} // }
//对比拿到的 // //对比拿到的
JSONObject userJsonObject = JSONObject.parseObject(userResult); // JSONObject userJsonObject = JSONObject.parseObject(userResult);
String dataStr = userJsonObject.getString("data"); // String dataStr = userJsonObject.getString("data");
JSONArray userArray = JSONArray.parseArray(dataStr); // JSONArray userArray = JSONArray.parseArray(dataStr);
if(userArray.size()<=0){ // if(userArray.size()<=0){
record.setImportStatus(2); // record.setImportStatus(2);
record.setExportStatus(2); // record.setExportStatus(2);
failList.add(record); // failList.add(record);
continue; // continue;
} // }
JSONObject object= (JSONObject) userArray.get(0); // JSONObject object= (JSONObject) userArray.get(0);
String userName = object.getString("name"); // String userName = object.getString("name");
log.info("TransactionReceiptRecordServiceImpl updateTransactionRecordsStatus 调用用户中心 end"); // log.info("TransactionReceiptRecordServiceImpl updateTransactionRecordsStatus 调用用户中心 end");
log.info("TransactionReceiptRecordServiceImpl updateTransactionRecordsStatus 调用商城接口 begin"); log.info("TransactionReceiptRecordServiceImpl updateTransactionRecordsStatus 调用商城接口 begin");
if(StringUtils.isNotBlank(userName) && userName.equals(record.getUserName())){ if(StringUtils.isNotBlank(record.getUserName())){
Map<String, String> header = Maps.newHashMap(); Map<String, String> header = Maps.newHashMap();
header.put("Content-type", "application/json"); header.put("Content-type", "application/json");
header.put("qg-tenant-id", "560761"); header.put("qg-tenant-id", "560761");
......
...@@ -835,28 +835,38 @@ public class UserServiceImpl implements IUserService { ...@@ -835,28 +835,38 @@ public class UserServiceImpl implements IUserService {
param.put("userId", userId.toString()); param.put("userId", userId.toString());
param.put("tenantId", "560761"); param.put("tenantId", "560761");
String result = httpService.post(kdsp, header, param); String result = httpService.post(kdsp, header, param);
log.info("[user][modifyAccountStatusDisableNew] 请求业务系统返回值:{}", result);
if(result!=null){ if(result!=null){
JSONObject jsonObject = JSONObject.parseObject(result);; JSONObject jsonObject = JSONObject.parseObject(result);;
String businessCode = jsonObject.getString("businessCode"); String businessCode = jsonObject.getString("businessCode");
//返回信息 //返回信息
if("0000".equals(businessCode)){ if("0000".equals(businessCode)){
String data = jsonObject.getString("data");
JSONObject dataObject = JSONObject.parseObject(data);
Integer userStatus = dataObject.getInteger("userStatus");
String message = dataObject.getString("message");
//1.不支持注销 2 可以注销
if(userStatus!=null && userStatus.intValue() == 1){
return JsonResult.buildErrorStateResult(message);
}
//调用用户中心,将账户状态更新为冻结 //调用用户中心,将账户状态更新为冻结
Map param1 = Maps.newHashMap(); Map param1 = Maps.newHashMap();
param1.put("userId", userId.toString()); param1.put("userId", userId.toString());
String userUrl = userSysUrl + "/innerapi/user/disable"; String userUrl = userSysUrl + "/innerapi/user/disable";
String userResult = httpService.post(userUrl, header, param1); String userResult = httpService.post(userUrl, header, param1);
log.info("[user][modifyAccountStatusDisableNew] 请求业务系统返回值:{}", userResult);
JSONObject userJsonObject = JSONObject.parseObject(userResult); JSONObject userJsonObject = JSONObject.parseObject(userResult);
String userBusinessCode = userJsonObject.getString("businessCode"); String userBusinessCode = userJsonObject.getString("businessCode");
if("0000".equals(userBusinessCode)){ if("0000".equals(userBusinessCode)){
return JsonResult.buildSuccessResult(userJsonObject.getString("msg"),userJsonObject.get("data")); return JsonResult.buildSuccessResult(userJsonObject.getString("msg"),userJsonObject.get("data"));
}else{ }else{
return JsonResult.buildErrorStateResult(userJsonObject.getString("msg"),userJsonObject.get("data")); return JsonResult.buildErrorStateResult("调用用户中心接口报错,注销失败");
} }
}else{ }else{
return JsonResult.buildErrorStateResult(jsonObject.getString("msg"),jsonObject.get("data")); return JsonResult.buildErrorStateResult("调用电商接口报错,注销失败");
} }
}else{ }else{
return JsonResult.buildErrorStateResult("调用kdsp接口报错",null); return JsonResult.buildErrorStateResult("调用电商接口报错,注销失败");
} }
} catch (Exception e) { } catch (Exception e) {
log.error("[user][modifyAccountStatusDisableNew] 网络通讯异常,userId:{},ex:{}", userId, ExceptionUtils.getStackTrace(e)); log.error("[user][modifyAccountStatusDisableNew] 网络通讯异常,userId:{},ex:{}", userId, ExceptionUtils.getStackTrace(e));
...@@ -881,12 +891,21 @@ public class UserServiceImpl implements IUserService { ...@@ -881,12 +891,21 @@ public class UserServiceImpl implements IUserService {
param.put("userId", userId.toString()); param.put("userId", userId.toString());
param.put("tenantId", "560761"); param.put("tenantId", "560761");
String result = httpService.post(kdsp, header, param); String result = httpService.post(kdsp, header, param);
JSONObject jsonObject = JSONObject.parseObject(result);; log.info("[user][modifyAccountStatusDisableNew] 请求业务系统返回值:{}", result);
JSONObject jsonObject = JSONObject.parseObject(result);
String businessCode = jsonObject.getString("businessCode"); String businessCode = jsonObject.getString("businessCode");
if(!"0000".equals(businessCode)){ if(!"0000".equals(businessCode)){
return JsonResult.buildErrorStateResult(jsonObject.getString("msg"),jsonObject.get("data")); return JsonResult.buildErrorStateResult("调用电商注销接口报错,注销失败");
}else{ }else{
return JsonResult.buildSuccessResult("注销成功",null); String data = jsonObject.getString("data");
JSONObject dataObject = JSONObject.parseObject(data);;
Integer userStatus = dataObject.getInteger("userStatus");
//不能注销
if(userStatus !=null && userStatus.intValue() ==1){
String message = dataObject.getString("message");
return JsonResult.buildErrorStateResult(message);
}
return JsonResult.buildSuccessResult("注销成功",data);
} }
}catch (Exception e) { }catch (Exception e) {
log.error("[user][modifyAccountStatusDisableNew] 网络通讯异常,userId:{},ex:{}", userId, ExceptionUtils.getStackTrace(e)); log.error("[user][modifyAccountStatusDisableNew] 网络通讯异常,userId:{},ex:{}", userId, ExceptionUtils.getStackTrace(e));
......
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