Browse Source

调整

master
Yen 3 years ago
parent
commit
8301d4a0e1
  1. 13
      pom.xml
  2. 4
      src/main/java/com/qs/cost/common/conf/MainServerProperties.java
  3. 7
      src/main/java/com/qs/cost/common/dto/u8/U8RequestBo.java
  4. 13
      src/main/java/com/qs/cost/common/utils/HttpUtil.java
  5. 2
      src/main/java/com/qs/cost/module/controller/LzOrderController.java
  6. 61
      src/main/java/com/qs/cost/module/domain/GetListEntity.java
  7. 5
      src/main/java/com/qs/cost/module/domain/LzOrder.java
  8. 25
      src/main/java/com/qs/cost/module/service/JiaJinService.java
  9. 8
      src/main/resources/application-dev.yml
  10. 94
      src/test/java/boot/BootTest.java
  11. 2
      src/test/java/boot/PrintDemo.java
  12. 36
      src/test/java/boot/PrintDemo3.java

13
pom.xml

@ -107,6 +107,19 @@
<artifactId>hutool-all</artifactId>
<version>5.6.2</version>
</dependency>
<!-- TEST -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
<!-- Spring-test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 构建工具 -->

4
src/main/java/com/qs/cost/common/conf/MainServerProperties.java

@ -13,7 +13,7 @@ import org.springframework.stereotype.Component;
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "server.timetable")
@ConfigurationProperties(prefix = "server")
public class MainServerProperties {
private String host;
@ -22,4 +22,6 @@ public class MainServerProperties {
private String year;
private String u8url;
}

7
src/main/java/com/qs/cost/common/dto/u8/U8RequestBo.java

@ -59,13 +59,16 @@ public class U8RequestBo {
/**
* 是否回调0-1-
*/
private Integer callbackState;
private String callbackState;
/**
* 回调地址callbackState=1时不能为空
*/
private String callbackHost;
/**
* 立马运行默认false
*/
private Boolean immediatelyRun;
}

13
src/main/java/com/qs/cost/common/utils/HttpUtil.java

@ -11,6 +11,7 @@ import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
@ -19,6 +20,7 @@ import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Map;
@ -70,14 +72,11 @@ public class HttpUtil {
}
/** post的URL的参数map请求 */
public static HttpResult post(String url, Map<String, Object> params) {
public static HttpResult post(String url, String json) {
HttpPost httpPost = new HttpPost(url);
ArrayList<NameValuePair> pairs = covertParams2NVPS(params);
try {
httpPost.setEntity(new UrlEncodedFormEntity(pairs, UTF8));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
httpPost.setHeader("Accept","application/json");
httpPost.setHeader("Content-Type","application/json");
httpPost.setEntity(new StringEntity(json, StandardCharsets.UTF_8));
return getHttpResult(httpPost);
}

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

@ -2,6 +2,7 @@ package com.qs.cost.module.controller;
import com.qs.cost.common.dto.R;
import com.qs.cost.common.dto.u8.U8CallbackVo;
import com.qs.cost.common.utils.JsonUtil;
import com.qs.cost.module.service.JiaJinService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
@ -22,6 +23,7 @@ public class LzOrderController {
@PostMapping("/callback")
public R callback(@RequestBody U8CallbackVo requestVo){
System.out.println(JsonUtil.objectToJson(requestVo));
jiaJinService.callback(requestVo);
return R.ok();
}

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

@ -15,7 +15,6 @@ public class GetListEntity {
private List<OrderEntity> list;
private OtherEntity other;
@JsonProperty("Status")
private Boolean status;
@ -36,23 +35,39 @@ public class GetListEntity {
@Data
public static class ItemEntity{
@JsonProperty("ProductId")
private String productId;
@JsonProperty("ProductSkuId")
private String skuId;
@JsonProperty("ERPCode")
private String invCode;
@JsonProperty("ProductCode")
private String productCode;
@JsonProperty("ProductName")
private String productName;
//数量
@JsonProperty("Qty")
private Integer qty;
//总支付金额
@JsonProperty("SellingPrice")
private BigDecimal saleAmount;
private String saleAmount;
//销售单价
@JsonProperty("SellingPrice")
private BigDecimal salePrice;
@JsonProperty("TaxPrice")
private String salePrice;
@JsonProperty("TaxPercent")
private BigDecimal taxRate;
private String taxRate;
@JsonProperty("TaxIncluded")
private Boolean taxIncluded;
}
@ -85,20 +100,48 @@ public class GetListEntity {
private Object items;
@JsonProperty("Other")
private OtherEntity other;
}
@Data
public static class OtherEntity{
@JsonProperty("sales_class")
/**
* 客户编号
*/
@JsonProperty("Name")
private String name;
/**
* 客户编号
*/
@JsonProperty("Code")
private String customCode;
/**
* 销售部门编号
*/
@JsonProperty("SalesClass")
private String salesClass;
@JsonProperty("sales_man")
/**
* 业务员编号
*/
@JsonProperty("SalesMan")
private String salesMan;
@JsonProperty("sales_type")
/**
* 销售类型
*/
@JsonProperty("SalesType")
private String salesType;
/**
* 税率
*/
@JsonProperty("TaxPercent")
private String taxPercent;
}
/**

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

@ -35,6 +35,9 @@ public class LzOrder implements Serializable {
@Length(max = 20,message = "订单编号长度不能超过20字")
private String orderNo;
/** 客户编号 */
private String customCode;
/** 订单金额 */
@NotNull(message = "订单金额不能为空")
private BigDecimal orderAmount;
@ -80,7 +83,7 @@ public class LzOrder implements Serializable {
/** 检查item状态:0-正常;1-存货编码缺失;2-数据异常 */
private Integer checkStatus;
private Integer callBackStatus;
private Integer callbackStatus;
private String items;

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

@ -69,7 +69,8 @@ public class JiaJinService {
LzResponseLog responseLog = new LzResponseLog();
responseLog.setJson(json);
responseLogService.save(responseLog);
GetListEntity.OtherEntity otherEntity = getListEntity.getOther();
GetListEntity.OtherEntity otherEntity = new GetListEntity.OtherEntity();
//GetListEntity.OtherEntity otherEntity = getListEntity.getOther();
//解析请求json,并保存订单到数据库
for (GetListEntity.OrderEntity orderEntity : getListEntity.getList()) {
LzOrder lzOrder = new LzOrder();
@ -83,7 +84,7 @@ public class JiaJinService {
lzOrder.setSaleType(otherEntity.getSalesType());
lzOrder.setSaleDept(otherEntity.getSalesClass());
lzOrder.setSaleMan(otherEntity.getSalesMan());
String itemJson = orderEntity.getItems().toString();
String itemJson = JsonUtil.objectToJson(orderEntity.getItems());
lzOrder.setItems(itemJson);
lzOrder.setCheckStatus(0);
List<GetListEntity.ItemEntity> items = JsonUtil.jsonToList(itemJson,GetListEntity.ItemEntity.class);
@ -123,7 +124,6 @@ public class JiaJinService {
lqw.eq(LzOrder::getStatus,0);
lqw.eq(LzOrder::getCheckStatus,0);
List<LzOrder> orders = lzOrderService.list(lqw);
//DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
for (LzOrder order : orders) {
String host = mainServerProperties.getHost();
@ -131,19 +131,18 @@ public class JiaJinService {
String book = mainServerProperties.getBook();
//封装jsonBody
List<U8API4SaleOrder.OrderDetail> details = new ArrayList<>();
String itemJson = order.getItems();
List<GetListEntity.ItemEntity> items = JsonUtil.jsonToList(itemJson,GetListEntity.ItemEntity.class);
BigDecimal rate = BigDecimal.ONE;
for (GetListEntity.ItemEntity item : items) {
U8API4SaleOrder.OrderDetail orderDetail = new U8API4SaleOrder.OrderDetail();
//拿子项税率
rate = item.getTaxRate();
rate = new BigDecimal(item.getTaxRate());
orderDetail.setInvCode(item.getInvCode());
orderDetail.setTaxRate(item.getTaxRate());
orderDetail.setTaxRate(new BigDecimal(item.getTaxRate()));
orderDetail.setQuantity(new Long(item.getQty()));
orderDetail.setHasRatePrice(item.getSalePrice());
orderDetail.setHasRateSumPrice(item.getSaleAmount());
orderDetail.setHasRatePrice(new BigDecimal(item.getSalePrice()));
orderDetail.setHasRateSumPrice(new BigDecimal(item.getSaleAmount()));
orderDetail.setPreShipmentsDate(now);
orderDetail.setPreFinishedDate(now);
}
@ -153,8 +152,7 @@ public class JiaJinService {
.orderDate(DateUtil.localDateTimeToDate(order.getOrderCreateTime()))
.bizType("普通销售")
.saleType("01")
//TODO 客户编码未定
.cusCode("")
.cusCode(order.getCustomCode())
.currencyType("人民币")
.depCode(order.getSaleDept())
.createUser(order.getSaleMan())
@ -175,10 +173,11 @@ public class JiaJinService {
requestBo.setJsonBody(jsonBody);
requestBo.setKeyId("");
requestBo.setSettingRetryTimes(2);
requestBo.setCallbackState(1);
requestBo.setCallbackState("1");
requestBo.setCallbackHost( host + "/lzOrder/callback");
order.setStatus(1);
//TODO 方便测试 order.setStatus(1);
order.setUpdateTime(LocalDateTime.now());
HttpUtil.post(mainServerProperties.getU8url(),JsonUtil.objectToJson(requestBo));
}
lzOrderService.updateBatchById(orders);
}
@ -205,7 +204,7 @@ public class JiaJinService {
Map<String, Object> paramMap = new HashMap<>(10);
paramMap.put("orderNos",orderNo);
paramMap.put("sign",sign);
HttpResult httpResult = HttpUtil.post(url,paramMap);
HttpResult httpResult = HttpUtil.post(url,JsonUtil.objectToJson(paramMap));
if(httpResult.getCode()==200){
if(httpResult.getData().contains("true")){
lzOrder.setCheckStatus(1);

8
src/main/resources/application-dev.yml

@ -1,12 +1,14 @@
#服务配置
server:
port: 7701
#本服务访问根地址,用于读取
host: '127.0.0.1:7001'
port: 7101
#本服务访问根地址,用于回调
host: 'http://127.0.0.1:7101'
#帐套
book: 999
#年份
year: 2020
#U8平台
u8url: http://127.0.0.1:7100/api/jobRequest
#SpringBoot相关
spring:
#数据源

94
src/test/java/boot/BootTest.java

File diff suppressed because one or more lines are too long

2
src/test/java/boot/PrintDemo.java

@ -18,7 +18,7 @@ public class PrintDemo {
public static void main(String[] args) {
String date = "2020/04/25-2022/07/26";
String date = "2020/07/25-2022/07/26";
String page = "1";
String pageSize = "10";
String params = "date="+date+"&page="+page+"&page_size="+pageSize;

36
src/test/java/boot/PrintDemo3.java

@ -0,0 +1,36 @@
package boot;
import com.qs.cost.common.dto.HttpResult;
import com.qs.cost.common.utils.HttpUtil;
import com.qs.cost.common.utils.JsonUtil;
import com.qs.cost.common.utils.SecureUtil;
import java.util.HashMap;
import java.util.Map;
/**
* @author YenHex
* @since 2021/12/1
*/
public class PrintDemo3 {
public static final String lzyunli = "lzyunli";
public static void main(String[] args) {
String params = "orderNos=123";
System.out.println(params);
String signParam = lzyunli + params + lzyunli;
System.out.println("加密前:"+signParam);
String sign = SecureUtil.md5(signParam);
String url = "http://wsapp6.lzyunli.com/index.php/upOrder";
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("orderNos","123");
paramMap.put("sign",sign);
HttpResult httpResult = HttpUtil.post(url,JsonUtil.objectToJson(paramMap));
System.out.println(httpResult.getData());
}
}
Loading…
Cancel
Save