|
@@ -3,11 +3,17 @@ package com.zhongzheng.modules.sdk.service.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.lang.Validator;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.zhongzheng.common.core.redis.RedisCache;
|
|
|
import com.zhongzheng.common.exception.CustomException;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
+import com.zhongzheng.common.utils.ToolsUtils;
|
|
|
+import com.zhongzheng.common.utils.http.HttpUtils;
|
|
|
import com.zhongzheng.modules.grade.domain.ClassGradeUser;
|
|
|
+import com.zhongzheng.modules.grade.service.impl.UserPeriodServiceImpl;
|
|
|
+import com.zhongzheng.modules.order.domain.OrderGoodsRefund;
|
|
|
import com.zhongzheng.modules.sdk.bo.TopNuoMplatformLogAddBo;
|
|
|
import com.zhongzheng.modules.sdk.bo.TopNuoMplatformLogEditBo;
|
|
|
import com.zhongzheng.modules.sdk.bo.TopNuoMplatformLogQueryBo;
|
|
@@ -16,13 +22,17 @@ import com.zhongzheng.modules.sdk.mapper.TopNuoMplatformLogMapper;
|
|
|
import com.zhongzheng.modules.sdk.service.ITopNuoMplatformLogService;
|
|
|
import com.zhongzheng.modules.sdk.service.NuonuoService;
|
|
|
import com.zhongzheng.modules.sdk.vo.TopNuoMplatformLogVo;
|
|
|
+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.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.pagehelper.Page;
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -35,8 +45,12 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class TopNuoMplatformLogServiceImpl extends ServiceImpl<TopNuoMplatformLogMapper, TopNuoMplatformLog> implements ITopNuoMplatformLogService {
|
|
|
|
|
|
+ private static Logger log = LoggerFactory.getLogger(TopNuoMplatformLogServiceImpl.class);
|
|
|
+
|
|
|
@Autowired
|
|
|
private NuonuoService nuonuoService;
|
|
|
+ @Value("${oldStudySys.updateInvoicePath}")
|
|
|
+ private String UpdateInvoice_PATH;
|
|
|
|
|
|
@Override
|
|
|
public TopNuoMplatformLogVo queryById(Long id){
|
|
@@ -158,7 +172,7 @@ public class TopNuoMplatformLogServiceImpl extends ServiceImpl<TopNuoMplatformLo
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Boolean updateByBatch(TopNuoMplatformLogEditBo bo) {
|
|
|
+ public Boolean updateByBatch() {
|
|
|
TopNuoMplatformLogQueryBo queryBo = new TopNuoMplatformLogQueryBo();
|
|
|
queryBo.setStatus(1);
|
|
|
List<TopNuoMplatformLogVo> list = queryList(queryBo);
|
|
@@ -168,6 +182,63 @@ public class TopNuoMplatformLogServiceImpl extends ServiceImpl<TopNuoMplatformLo
|
|
|
snList.add(vo.getInvoiceSerialNum());
|
|
|
if(snList.size()==10||i==(list.size()-1)){
|
|
|
String result = nuonuoService.queryInvoiceResult(snList);
|
|
|
+ System.out.println(result);
|
|
|
+ JSONObject jsonObject = (JSONObject) JSONObject.parse(result);
|
|
|
+ String code = String.valueOf(jsonObject.get("code"));
|
|
|
+ JSONArray josnList = jsonObject.getJSONArray("result");
|
|
|
+ LambdaUpdateWrapper<TopNuoMplatformLog> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
|
|
|
+ if("E0000".equals(code)){
|
|
|
+ for(int j=0;j<josnList.size();j++) {
|
|
|
+ JSONObject itemObject =josnList.getJSONObject(j);
|
|
|
+ String serialNo = String.valueOf(itemObject.get("serialNo"));
|
|
|
+ String orderNo = String.valueOf(itemObject.get("orderNo"));
|
|
|
+ String status = String.valueOf(itemObject.get("status"));
|
|
|
+ String pdfUrl = String.valueOf(itemObject.get("pdfUrl"));
|
|
|
+ String failCause = String.valueOf(itemObject.get("failCause"));
|
|
|
+ String oldStatus = "1";
|
|
|
+ objectLambdaUpdateWrapper.eq(TopNuoMplatformLog::getInvoiceSerialNum, serialNo);
|
|
|
+ //开单完成状态
|
|
|
+ if("2".equals(status)){
|
|
|
+ oldStatus = "1";
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getPdfUrl, pdfUrl);
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getStatus, 2);
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getUpdateTime,DateUtils.getNowTime());
|
|
|
+ }else{
|
|
|
+ //失败
|
|
|
+ oldStatus = "2";
|
|
|
+ pdfUrl = "";
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getStatus, Integer.parseInt(status));
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getFailCause, failCause);
|
|
|
+ }
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5(nowTime.toString()+"pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ params.put("status", oldStatus);
|
|
|
+ params.put("orderno", orderNo);
|
|
|
+ params.put("pdfurl", pdfUrl);
|
|
|
+ String respone = "";
|
|
|
+ log.info("发票推送系统"+params,"");
|
|
|
+ try {
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getPushStatus, 1);
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getPushTime, DateUtils.getNowTime());
|
|
|
+ respone = HttpUtils.postFormBody(UpdateInvoice_PATH, params);
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getPushResult, respone);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getPushStatus, -1);
|
|
|
+ this.update(null, objectLambdaUpdateWrapper);
|
|
|
+ throw new CustomException("同步请求错误"+respone);
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ objectLambdaUpdateWrapper.set(TopNuoMplatformLog::getPushStatus, -1);
|
|
|
+ this.update(null, objectLambdaUpdateWrapper);
|
|
|
+ throw new CustomException("同步请求错误"+e.getMessage());
|
|
|
+ }
|
|
|
+ this.update(null, objectLambdaUpdateWrapper);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ snList.clear();
|
|
|
}
|
|
|
}
|
|
|
return null;
|