Browse Source

订单调整

master
Yen 3 years ago
parent
commit
ee8a03212f
  1. 47
      src/main/java/com/qs/cost/common/conf/SpringMvcConfig.java
  2. 4
      src/main/java/com/qs/cost/common/consts/ApiUrlConst.java
  3. 1
      src/main/java/com/qs/cost/common/framework/mvc/HttpServletRequestFilter.java
  4. 42
      src/main/java/com/qs/cost/common/framework/mvc/SecurityMvcComponent.java
  5. 16
      src/main/java/com/qs/cost/module/controller/LzOrderController.java
  6. 4
      src/main/java/com/qs/cost/module/domain/GetListEntity.java
  7. 2
      src/main/java/com/qs/cost/module/domain/LzOrder.java
  8. 45
      src/main/java/com/qs/cost/module/service/JiaJinService.java
  9. 2
      src/main/java/com/qs/cost/module/service/LzOrderService.java
  10. 8
      src/main/java/com/qs/cost/module/service/impl/LzOrderServiceImpl.java

47
src/main/java/com/qs/cost/common/conf/SpringMvcConfig.java

@ -0,0 +1,47 @@
package com.qs.cost.common.conf;
import lombok.AllArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author YenHex
* @since 2022/2/24
*/
@AllArgsConstructor
@Configuration(proxyBeanMethods = false)
public class SpringMvcConfig implements WebMvcConfigurer {
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
final CorsConfiguration corsConfiguration = new CorsConfiguration();
/*是否允许请求带有验证信息*/
corsConfiguration.setAllowCredentials(false);
/*允许访问的客户端域名*/
corsConfiguration.addAllowedOrigin("*");
/*允许服务端访问的客户端请求头*/
corsConfiguration.addAllowedHeader("*");
/*允许访问的方法名,GET POST等*/
corsConfiguration.addAllowedMethod("*");
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(urlBasedCorsConfigurationSource);
}
//@Bean
public MultipartResolver multipartResolver(){
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setMaxInMemorySize(5120);
resolver.setMaxInMemorySize(300 * 1024 * 1024);
resolver.setDefaultEncoding("UTF-8");
return resolver;
}
}

4
src/main/java/com/qs/cost/common/consts/ApiUrlConst.java

@ -15,12 +15,12 @@ public class ApiUrlConst {
/** /**
* 删除专业发票 * 删除专业发票
*/ */
public static final String U8_DEL_ZYFP = "ZYFPDelete"; public static final String GET_ORDER = "https://sc.gdjiajin.com/index.php/getOrder";
/** /**
* 删除普通发票 * 删除普通发票
*/ */
public static final String U8_DEL_PTFP = "PTFPDelete"; public static final String UPD_ORDER = "https://sc.gdjiajin.com/index.php/upOrder";
/** /**
* 添加销售订单 * 添加销售订单

1
src/main/java/com/qs/cost/common/framework/mvc/HttpServletRequestFilter.java

@ -43,6 +43,7 @@ public class HttpServletRequestFilter implements Filter{
if(servletRequest instanceof HttpServletRequest) { if(servletRequest instanceof HttpServletRequest) {
requestWrapper = new RequestWrapper((HttpServletRequest) servletRequest); requestWrapper = new RequestWrapper((HttpServletRequest) servletRequest);
} }
//servletResponse.setContentType("allowedOriginPatterns");
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
//获取请求中的流如何,将取出来的字符串,再次转换成流,然后把它放入到新request对象中 //获取请求中的流如何,将取出来的字符串,再次转换成流,然后把它放入到新request对象中
// 在chain.doFiler方法中传递新的request对象 // 在chain.doFiler方法中传递新的request对象

42
src/main/java/com/qs/cost/common/framework/mvc/SecurityMvcComponent.java

@ -1,42 +0,0 @@
package com.qs.cost.common.framework.mvc;
import com.qs.cost.common.framework.interceptor.ForbiddenInterceptor;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @Author JcYen
* @Date 2019/7/17
* @Version 1.0
*/
@Component
public class SecurityMvcComponent implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//注册TestInterceptor拦截器
//registry.addInterceptor(new ForbiddenInterceptor()).addPathPatterns("/**").excludePathPatterns("/api/**");
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.setAllowCredentials(true);
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
bean.setOrder(0);
return new CorsFilter(source);
}
}

16
src/main/java/com/qs/cost/module/controller/LzOrderController.java

@ -1,9 +1,12 @@
package com.qs.cost.module.controller; package com.qs.cost.module.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.cost.common.dto.R; import com.qs.cost.common.dto.R;
import com.qs.cost.common.dto.u8.U8CallbackVo; import com.qs.cost.common.dto.u8.U8CallbackVo;
import com.qs.cost.common.utils.JsonUtil; import com.qs.cost.common.utils.JsonUtil;
import com.qs.cost.module.domain.LzOrder;
import com.qs.cost.module.service.JiaJinService; import com.qs.cost.module.service.JiaJinService;
import com.qs.cost.module.service.LzOrderService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -17,6 +20,19 @@ import org.springframework.web.bind.annotation.*;
public class LzOrderController { public class LzOrderController {
private final JiaJinService jiaJinService; private final JiaJinService jiaJinService;
private final LzOrderService lzOrderService;
@GetMapping("/list")
public R errList(LzOrder order){
LambdaQueryWrapper<LzOrder> lqw = new LambdaQueryWrapper<>(order);
//lqw.ne(LzOrder::getCheckStatus,0);
//lqw.eq(LzOrder::getCallbackStatus,0);
lqw.and(m->m.eq(LzOrder::getCallbackStatus,0).ne(LzOrder::getCheckStatus,0)).or(v->v.eq(LzOrder::getCallbackStatus,2));
lqw.orderByDesc(LzOrder::getCreateTime);
return R.ok(lzOrderService.list(lqw));
}
@PostMapping("/callback") @PostMapping("/callback")
public R callback(@RequestBody U8CallbackVo requestVo){ public R callback(@RequestBody U8CallbackVo requestVo){

4
src/main/java/com/qs/cost/module/domain/GetListEntity.java

@ -57,11 +57,11 @@ public class GetListEntity {
//总支付金额 //总支付金额
@JsonProperty("SellingPrice") @JsonProperty("SellingPrice")
private String saleAmount; private String salePrice;
//销售单价 //销售单价
@JsonProperty("TaxPrice") @JsonProperty("TaxPrice")
private String salePrice; private String taxPrice;
@JsonProperty("TaxPercent") @JsonProperty("TaxPercent")
private String taxRate; private String taxRate;

2
src/main/java/com/qs/cost/module/domain/LzOrder.java

@ -85,6 +85,8 @@ public class LzOrder implements Serializable {
private Integer callbackStatus; private Integer callbackStatus;
private String callbackJson;
private String items; private String items;
private String tax; private String tax;

45
src/main/java/com/qs/cost/module/service/JiaJinService.java

@ -61,7 +61,7 @@ public class JiaJinService {
String signParam = ApiUrlConst.lzyunli + params + ApiUrlConst.lzyunli; String signParam = ApiUrlConst.lzyunli + params + ApiUrlConst.lzyunli;
String sign = SecureUtil.md5(signParam); String sign = SecureUtil.md5(signParam);
params = params+"&sign="+sign; params = params+"&sign="+sign;
String url = "http://wsapp6.lzyunli.com/index.php/getOrder?"+params; String url = ApiUrlConst.GET_ORDER+ "?" + params;
HttpResult httpResult = HttpUtil.get(url); HttpResult httpResult = HttpUtil.get(url);
if(httpResult.getCode()==200){ if(httpResult.getCode()==200){
String json = httpResult.getData(); String json = httpResult.getData();
@ -93,6 +93,7 @@ public class JiaJinService {
lzOrder.setSaleMan(otherEntity.getSalesMan()); lzOrder.setSaleMan(otherEntity.getSalesMan());
lzOrder.setRemark(orderEntity.getRemark()); lzOrder.setRemark(orderEntity.getRemark());
lzOrder.setTax(otherEntity.getTaxPercent()); lzOrder.setTax(otherEntity.getTaxPercent());
lzOrder.setCreateTime(LocalDateTime.now());
String itemJson = JsonUtil.objectToJson(orderEntity.getItems()); String itemJson = JsonUtil.objectToJson(orderEntity.getItems());
lzOrder.setItems(itemJson); lzOrder.setItems(itemJson);
lzOrder.setCheckStatus(0); lzOrder.setCheckStatus(0);
@ -117,6 +118,9 @@ public class JiaJinService {
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage()); log.error(e.getMessage());
} }
if(lzOrder.getCheckStatus().equals(2)&&lzOrderService.existErrOrder(orderEntity.getOrderNo())>0L){
continue;
}
lzOrderService.save(lzOrder); lzOrderService.save(lzOrder);
} }
Integer pageCount = getListEntity.getPageCount(); Integer pageCount = getListEntity.getPageCount();
@ -151,8 +155,9 @@ public class JiaJinService {
orderDetail.setInvCode(item.getInvCode()); orderDetail.setInvCode(item.getInvCode());
orderDetail.setTaxRate(new BigDecimal(item.getTaxRate())); orderDetail.setTaxRate(new BigDecimal(item.getTaxRate()));
orderDetail.setQuantity(new Long(item.getQty())); orderDetail.setQuantity(new Long(item.getQty()));
orderDetail.setHasRatePrice(new BigDecimal(item.getSalePrice())); BigDecimal salePrice = new BigDecimal(item.getSalePrice());
orderDetail.setHasRateSumPrice(new BigDecimal(item.getSaleAmount())); orderDetail.setHasRatePrice(salePrice);
orderDetail.setHasRateSumPrice(salePrice.multiply(new BigDecimal(item.getQty())));
orderDetail.setPreShipmentsDate(now); orderDetail.setPreShipmentsDate(now);
orderDetail.setPreFinishedDate(now); orderDetail.setPreFinishedDate(now);
details.add(orderDetail); details.add(orderDetail);
@ -187,7 +192,6 @@ public class JiaJinService {
requestBo.setCallbackState("1"); requestBo.setCallbackState("1");
requestBo.setCallbackHost( host + "/lzOrder/callback"); requestBo.setCallbackHost( host + "/lzOrder/callback");
order.setStatus(1); order.setStatus(1);
//TODO 方便测试 order.setStatus(1);
order.setUpdateTime(LocalDateTime.now()); order.setUpdateTime(LocalDateTime.now());
HttpUtil.post(mainServerProperties.getU8url(),JsonUtil.objectToJson(requestBo)); HttpUtil.post(mainServerProperties.getU8url(),JsonUtil.objectToJson(requestBo));
} }
@ -202,14 +206,13 @@ public class JiaJinService {
String orderNo = requestVo.getApiPk(); String orderNo = requestVo.getApiPk();
LambdaQueryWrapper<LzOrder> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LzOrder> lqw = new LambdaQueryWrapper<>();
lqw.eq(LzOrder::getOrderNo,orderNo); lqw.eq(LzOrder::getOrderNo,orderNo);
lqw.eq(LzOrder::getCheckStatus,0);
lqw.eq(LzOrder::getCallbackStatus,0); lqw.eq(LzOrder::getCallbackStatus,0);
LzOrder lzOrder = lzOrderService.getOne(lqw,false); List<LzOrder> lzOrders = lzOrderService.list(lqw);
if(lzOrder==null){ if(lzOrders.size()<1){
return R.error(); return R.error();
} }
//解析返回结果 int status = 2;
lzOrder.setStatus(2); int callbackStatus = 2;
String response = requestVo.getRespContext(); String response = requestVo.getRespContext();
JSONObject jsonObject = JSONObject.parseObject(response); JSONObject jsonObject = JSONObject.parseObject(response);
if(jsonObject.getString("code").equals("200")){ if(jsonObject.getString("code").equals("200")){
@ -217,21 +220,27 @@ public class JiaJinService {
String params = "orderNos="+orderNo; String params = "orderNos="+orderNo;
String signParam = ApiUrlConst.lzyunli + params + ApiUrlConst.lzyunli; String signParam = ApiUrlConst.lzyunli + params + ApiUrlConst.lzyunli;
String sign = SecureUtil.md5(signParam); String sign = SecureUtil.md5(signParam);
String url = "http://wsapp6.lzyunli.com/index.php/upOrder"; String url = ApiUrlConst.UPD_ORDER;
Map<String, Object> paramMap = new HashMap<>(10); Map<String, Object> paramMap = new HashMap<>(10);
paramMap.put("orderNos",orderNo); paramMap.put("orderNos",orderNo);
paramMap.put("sign",sign); paramMap.put("sign",sign);
// HttpResult httpResult = HttpUtil.post(url,JsonUtil.objectToJson(paramMap)); HttpResult httpResult = HttpUtil.post(url,JsonUtil.objectToJson(paramMap));
// if(httpResult.getCode()==200){ if(httpResult.getCode()==200){
// if(httpResult.getData().contains("true")){ if(httpResult.getData().contains("true")){
// lzOrder.setCallbackStatus(1); callbackStatus = 1;
// } }
// } }
lzOrder.setCallbackStatus(1);
}else { }else {
lzOrder.setStatus(3); status = 3;
} }
for (LzOrder lzOrder : lzOrders) {
lzOrder.setCallbackStatus(callbackStatus);
lzOrder.setStatus(status);
lzOrder.setCallbackJson(response);
lzOrder.setUpdateTime(LocalDateTime.now());
//解析返回结果
lzOrderService.updateById(lzOrder); lzOrderService.updateById(lzOrder);
}
return R.ok(); return R.ok();
} }

2
src/main/java/com/qs/cost/module/service/LzOrderService.java

@ -12,5 +12,7 @@ public interface LzOrderService extends IService<LzOrder> {
Long existOrder(String orderNo); Long existOrder(String orderNo);
Long existErrOrder(String orderNo);
} }

8
src/main/java/com/qs/cost/module/service/impl/LzOrderServiceImpl.java

@ -26,5 +26,13 @@ public class LzOrderServiceImpl extends ServiceImpl<LzOrderMapper, LzOrder> impl
lqw.eq(LzOrder::getCheckStatus,0); lqw.eq(LzOrder::getCheckStatus,0);
return count(lqw); return count(lqw);
} }
@Override
public Long existErrOrder(String orderNo) {
LambdaQueryWrapper<LzOrder> lqw = new LambdaQueryWrapper<>();
lqw.eq(LzOrder::getOrderNo,orderNo);
lqw.ne(LzOrder::getCheckStatus,0);
return count(lqw);
}
} }

Loading…
Cancel
Save