From 871efa21e6c95520e9825ae1f2338c9a919fdd5d Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期日, 15 十月 2023 17:57:48 +0800
Subject: [PATCH] 用户端代码

---
 src/main/java/com/stylefeng/guns/modular/system/model/IndexInfo.java                |    2 
 src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java |   44 +++++---
 src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java    |    2 
 src/main/java/com/stylefeng/guns/modular/system/utils/StripePayUtils.java           |   35 ++++--
 src/main/java/com/stylefeng/guns/modular/system/controller/UserBankController.java  |    4 
 src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml        |   11 +-
 src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TUserMapper.xml         |    3 
 src/main/java/com/stylefeng/guns/modular/system/model/OrderLading.java              |   10 ++
 src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/FortyNineUtil.java   |   38 ++++++-
 src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java     |   22 +++-
 src/main/java/com/stylefeng/guns/modular/system/controller/FinanceController.java   |   20 ++-
 src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java     |   48 +++++++++
 src/main/java/com/stylefeng/guns/modular/system/utils/PaymentProcessor.java         |   17 +++
 13 files changed, 194 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java
index f473abd..82416bd 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/DemandController.java
@@ -996,9 +996,9 @@
         for (TOrder order : orders) {
             TGoods tGoods = goodsService.selectOne(new EntityWrapper<TGoods>().eq("order_id", order.getId()));
             goods.add(tGoods);
-            bigDecimal=bigDecimal.add(order.getAllTotal());
             List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId()));
             tPrices.addAll(prices);
+            bigDecimal=bigDecimal.add(prices.stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO,BigDecimal::add));
         }
         Map<String, BigDecimal> sumMap = tPrices.stream()
                 .collect(Collectors.groupingBy(TPrice::getType, Collectors.reducing(BigDecimal.ZERO, TPrice::getPrice, BigDecimal::add)));
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/FinanceController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/FinanceController.java
index 5f96342..bbb57e2 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/FinanceController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/FinanceController.java
@@ -54,6 +54,9 @@
     @Autowired
     private TUserBankService userBankService;
 
+    @Autowired
+    private ITPriceService priceService;
+
 
     @ApiOperation(value = "用户端-invocie",notes="用户端-invocie")
     @ApiImplicitParams({
@@ -88,7 +91,7 @@
         BigDecimal all = new BigDecimal(0);
         ArrayList<TGoods> goods = new ArrayList<>();
         for (TOrder order : orders) {
-            BigDecimal allTotal = order.getAllTotal();
+            BigDecimal allTotal = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId())).stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
             BigDecimal paid = order.getPaid();
             BigDecimal subtract = allTotal.subtract(paid);
             all = all.add(subtract);
@@ -138,7 +141,8 @@
                 // 总金额
                 BigDecimal bigDecimal = new BigDecimal(0);
                 for (TOrder order : orders) {
-                    bigDecimal = bigDecimal.add(order.getAllTotal());
+                    List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId()));
+                    bigDecimal = bigDecimal.add(prices.stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO,BigDecimal::add));
                 }
                 if (type == 1) {
                     // 可用额度
@@ -172,8 +176,7 @@
 //                    String method = PaymentProcessor.getMethod(tUser.getUserNumber());
 //                    JSONObject jsonObject = JSON.parseObject(method);
 //                    Object id1 = jsonObject.get("id");
-                    long l = bigDecimal.multiply(new BigDecimal(100)).longValue();
-                    Boolean pay = PaymentProcessor.pay(tUser.getUserNumber(), cardToken, l);
+                    Boolean pay = StripePayUtils.charge(tUser.getUserNumber(), bigDecimal, "","Continental Cargo Association, Inc.");
                     if (pay) {
                         orders.forEach(e -> {
                             e.setStatus("2");
@@ -198,7 +201,9 @@
                     TQuote quote = tQuoteService.selectOne(new EntityWrapper<TQuote>().eq("order_id", s));
                     quote.setState(4);
                     tQuotes.add(quote);
-                    BigDecimal allTotal = order.getAllTotal();
+//                    BigDecimal allTotal = order.getAllTotal();
+                    List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId()));
+                    BigDecimal allTotal = prices.stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO,BigDecimal::add);
                     BigDecimal paid = order.getPaid();
                     BigDecimal subtract = allTotal.subtract(paid);
                     all = all.add(subtract);
@@ -212,7 +217,7 @@
                 JSONObject jsonObject = JSON.parseObject(method);
                 Object id1 = jsonObject.get("id");
                 long l = all.multiply(new BigDecimal(100)).longValue();
-                Boolean pay = PaymentProcessor.pay(tUser.getUserNumber(), id1.toString(), l);
+                Boolean pay = StripePayUtils.charge(tUser.getUserNumber(), all, "","Continental Cargo Association, Inc.");
                 if (pay) {
                     orders.forEach(e -> {
                         e.setStatus("2");
@@ -222,8 +227,9 @@
                     orderService.updateBatchById(orders);
                     List<TQuote> collect = tQuotes.stream().collect(Collectors.toList());
                     tQuoteService.updateBatchById(collect);
+                }else {
+                    return new ErrorTip(5010, "payment failure");
                 }
-
             }
             return new SuccessTip();
         } catch (Exception e) {
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java
index 365a03a..25385ba 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/IndexController.java
@@ -4,12 +4,10 @@
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.stylefeng.guns.core.base.controller.BaseController;
-import com.stylefeng.guns.modular.system.model.IndexInfo;
-import com.stylefeng.guns.modular.system.model.IndexMonth;
-import com.stylefeng.guns.modular.system.model.TOrder;
-import com.stylefeng.guns.modular.system.model.TUser;
+import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.model.dto.UserAddInfoDto;
 import com.stylefeng.guns.modular.system.service.ITOrderService;
+import com.stylefeng.guns.modular.system.service.ITPriceService;
 import com.stylefeng.guns.modular.system.service.ITUserAddressService;
 import com.stylefeng.guns.modular.system.service.ITUserService;
 import com.stylefeng.guns.modular.system.utils.tips.SuccessTip;
@@ -22,6 +20,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -44,6 +43,9 @@
 
     @Resource
     private ITUserAddressService userAddressService;
+
+    @Autowired
+    private ITPriceService priceService;
     /**
      * 完善信息
      */
@@ -105,20 +107,26 @@
     public Object list(String time,int type,int userId) {
         TUser tUser = userService.selectById(userId);
         IndexInfo indexInfo = new IndexInfo();
-        int numberOfOrder = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId));
+        int numberOfOrder = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId).ne("status",17));
         int dispatching = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId).eq("status",0));
         int pendingPickup = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId).eq("status",2));
         int inTransit = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId).eq("status",7));
         int toBeUnloaded = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId).eq("status",8));
         int unloaded = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId).eq("status",9));
-        int unpaidBills = orderService.selectCount(new EntityWrapper<TOrder>().eq("user_id", userId).isNull("pay_time"));
+        List<TOrder> orders = orderService.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNull("pay_time").ne("status",17));
+        BigDecimal bigDecimal = new BigDecimal(0);
+        for (TOrder order : orders) {
+            List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId()));
+            BigDecimal reduce = prices.stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            bigDecimal = bigDecimal.add(reduce);
+        }
         indexInfo.setNumberOfOrder(numberOfOrder);
         indexInfo.setDispatching(dispatching);
         indexInfo.setPendingPickup(pendingPickup);
         indexInfo.setInTransit(inTransit);
         indexInfo.setToBeUnloaded(toBeUnloaded);
         indexInfo.setUnloaded(unloaded);
-        indexInfo.setUnpaidBills(unpaidBills);
+        indexInfo.setUnpaidBills(bigDecimal);
         indexInfo.setAllQuota(tUser.getReditLimit());
         indexInfo.setResidueQuota(tUser.getResidueLimit());
         indexInfo.setPaymentDay(Integer.valueOf(tUser.getPaymentDays()));
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
index 18330db..0ee518e 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
@@ -448,7 +448,7 @@
         TUser tUser = itUserService.selectById(userId);
         List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId()));
         ArrayList<PriceInfo> priceInfos = new ArrayList<>();
-        if(tUser.getGroupId()!=null){
+        if(false){
             TGroup tGroup = groupService.selectById(tUser.getGroupId());
             User user = service.selectById(tGroup.getSalesId());
 
@@ -738,7 +738,7 @@
             record.setType(type);
         }
         TOrder tOrder = orderService.selectById(orderId);
-        if("9".equals(tOrder.getStatus()) || "18".equals(tOrder.getStatus())){
+        if(true){
             ArrayList<TOrderFile> tOrderFiles = new ArrayList<>();
             TOrderFile tOrderFile = new TOrderFile();
             tOrderFile.setName("Bill of lading.pdf");
@@ -789,6 +789,8 @@
         try {
             OrderLading orderLading = new OrderLading();
             TOrder tOrder = orderService.selectById(orderId);
+
+            orderLading.setOrderId(tOrder.getId());
             // 找出用户
             TUser tUser = itUserService.selectById(tOrder.getUserId());
             orderLading.setCustomerName(tUser.getCompanyName());
@@ -817,6 +819,48 @@
             orderLading.setPo(tGoods.getPo());
             orderLading.setCustRef(tGoods.getCustRef());
             orderLading.setEntry(tGoods.getEntry());
+            orderLading.setLbNo(tGoods.getBillNumber());
+            String time ="";
+            if(ToolUtil.isNotEmpty(tGoods.getShipmentId()) && !"0".equals(tGoods.getShipmentId())){
+                time= FortyNineUtil.getContainerNoOne(tGoods.getShipmentId(), tGoods.getContainerNumber());
+            }else {
+                String shippingLine = tGoods.getShippingLine();
+                SCACEnum scacEnum = SCACEnum.fromCode(shippingLine);
+                String s;
+                if(ToolUtil.isEmpty(tGoods.getTrackingId()) || "0".equals(tGoods.getTrackingId())){
+                    s = FortyNineUtil.trackingRequest(tGoods.getBillNumber(), scacEnum.getDesc());
+                    if(ToolUtil.isEmpty(s)){
+                        s = FortyNineUtil.trackingList(tGoods.getBillNumber());
+                    }
+                    tGoods.setTrackingId(s);
+                    goodsService.updateById(tGoods);
+                }else {
+                    s = tGoods.getTrackingId();
+                }
+                String shipmentId = FortyNineUtil.getShipmentId(s);
+                if(ToolUtil.isNotEmpty(shipmentId)){
+                    tGoods.setShipmentId(shipmentId);
+                    goodsService.updateById(tGoods);
+                }else {
+                    tGoods.setShipmentId("0");
+                    tGoods.setTrackingId("0");
+                    goodsService.updateById(tGoods);
+                }
+                time = FortyNineUtil.getContainerNoOne(shipmentId, tGoods.getContainerNumber());
+            }
+
+            orderLading.setEta(time);
+            String billNumber = tGoods.getBillNumber();
+            List<TGoods> goods = goodsService.selectList(new EntityWrapper<TGoods>().eq("bill_number", billNumber));
+            ArrayList<Map<String, String>> maps = new ArrayList<>();
+            for (TGoods good : goods) {
+                HashMap<String, String> map = new HashMap<>();
+                map.put("containerNo",good.getContainerNumber());
+                map.put("size",good.getSize());
+                map.put("weight",good.getKg());
+                maps.add(map);
+            }
+            orderLading.setGoodsInfo(maps);
             // 获取收货信息
             orderLading.setEndCompanyName(tOrder.geteCompanyName());
             orderLading.setEndCompanyAddress(tOrder.geteAddress());
diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/UserBankController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/UserBankController.java
index 1866119..eb71f76 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/UserBankController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/UserBankController.java
@@ -108,7 +108,7 @@
         if(ToolUtil.isEmpty(tUser.getUserNumber())){
             // 需要创建初始用户
             try {
-                 createUser = stripePayUtils.createStripeCustomNoCard("createUser");
+                 createUser = stripePayUtils.createStripeCustomNoCard(tUser.getAccount());
                 tUser.setUserNumber(createUser);
                 userService.updateById(tUser);
             } catch (StripeException e) {
@@ -196,7 +196,7 @@
         ProductCreateParams productParams =
                 ProductCreateParams.builder()
                         .setName("Starter Subscription")
-                        .setDescription("$12/Month subscription")
+                        .setDescription("10/Month subscription")
                         .build();
         Product product = Product.create(productParams);
         System.out.println("Success! Here is your starter subscription product id: " + product.getId());
diff --git a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
index 0c7736e..b72b366 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
+++ b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml
@@ -81,8 +81,8 @@
         update t_order set pay_status =1 where id =#{number}
     </update>
 
-    <select id="getReceivable" resultType="com.stylefeng.guns.modular.system.model.ReceivableVo">
-      select id,invoice_number invoiceNumber,pay_time invoiceTime ,allTotal total, case 1 when paid=allTotal THEN 1 else  2 end as state ,change  from t_order
+     <select id="getReceivable" resultType="com.stylefeng.guns.modular.system.model.ReceivableVo">
+      select id,invoice_number invoiceNumber,pay_time invoiceTime ,allTotal total, case 1 when paid=allTotal THEN 1 else  2 end as state ,`change`  from t_order
       where user_id =#{userId} and status !=17
       <if test="sTime !=null">
           and pay_time between #{sTime} and #{eTime}
@@ -186,10 +186,10 @@
 FROM
 	t_order t1
 	LEFT JOIN t_goods t2 ON t1.id = t2.order_id
-	LEFT JOIN t_user t3 on t1.company_id =t3.id
+	LEFT JOIN t_user t3 on t1.user_id =t3.id
 	LEFT JOIN t_port t4 on t1.`port` = t4.id
     LEFT JOIN t_group t5 on t3.group_id = t5.id
-	where t1.user_id = #{companyId} and t1.status !=0
+	where t1.user_id = #{companyId}   and t1.status !=17 and t1.status !=0
 	<if test="sTime !=null">
         and (t1.shipment_date between  #{sTime} and #{eTime} or t1.delivery_date between  #{sTime} and #{eTime})
     </if>
@@ -210,6 +210,7 @@
     </if>
 GROUP BY
 	t1.id
+	order by t1.create_time desc
 
 
     </select>
@@ -220,7 +221,7 @@
         </if>
     </select>
     <select id="getNoPayOrder" resultType="com.stylefeng.guns.modular.system.model.TOrder">
-        select * from t_order where user_id =#{userId} and  allTotal > paid and status !=17
+        select * from t_order where user_id =#{userId} and  allTotal > paid and status !=17 and pay_time is null
     </select>
 
     <select id="getLonLat" resultType="java.util.Map">
diff --git a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TUserMapper.xml b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TUserMapper.xml
index aca1a56..0d4f8e3 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TUserMapper.xml
+++ b/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TUserMapper.xml
@@ -138,7 +138,8 @@
 	t1.e_phone eContactPhone,
 	t1.paid paid,
 	(t1.allTotal-t1.paid) unPaid,
-	t1.pay_info_state status
+	t1.pay_info_state status,
+	t1.type type
 FROM
 	t_order t1
 	LEFT JOIN t_company t2 ON t1.company_id = t2.id
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/IndexInfo.java b/src/main/java/com/stylefeng/guns/modular/system/model/IndexInfo.java
index 0df4260..70030c3 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/IndexInfo.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/IndexInfo.java
@@ -13,7 +13,7 @@
     private Integer inTransit;
     private Integer toBeUnloaded;
     private Integer unloaded;
-    private Integer unpaidBills;
+    private BigDecimal unpaidBills;
 
     private String residueQuota;
     private String AllQuota;
diff --git a/src/main/java/com/stylefeng/guns/modular/system/model/OrderLading.java b/src/main/java/com/stylefeng/guns/modular/system/model/OrderLading.java
index 8610d02..068edc6 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/model/OrderLading.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/model/OrderLading.java
@@ -3,6 +3,8 @@
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 @Data
 public class OrderLading {
@@ -37,6 +39,14 @@
 
     private String endContactPhone;
 
+    private String lbNo;
+
+    private String  eta;
+
+    private Long orderId;
+
+
+    private List<Map<String,String>> goodsInfo;
 
 
 }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
index 6c078d7..e15c706 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -99,7 +99,13 @@
             sTime=time.split(" - ")[0]+" 00:00:00";
             eTime=time.split(" - ")[1]+" 23:59:59";
         }
-        return this.baseMapper.getReceivable(receivableVoPage,sTime,eTime,id,state,userId);
+        List<ReceivableVo> receivable = this.baseMapper.getReceivable(receivableVoPage, sTime, eTime, id, state, userId);
+        for (ReceivableVo receivableVo : receivable) {
+            List<TPrice> prices = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", receivableVo.getId()));
+            BigDecimal reduce = prices.stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            receivableVo.setTotal(reduce.doubleValue());
+        }
+        return receivable;
     }
 
     @Override
@@ -327,8 +333,10 @@
             // 还柜码头
             TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", id).eq("type", 4));
             Integer portId = tTransportation.getPortId();
-            TPort tPort = portService.selectById(portId);
-            info.setEPortName(tPort.getAddress());
+            if(portId!=null){
+                TPort tPort = portService.selectById(portId);
+                info.setEPortName(tPort.getAddress());
+            }
         }
         if(!"0".equals(tOrder.getWarehouse())){
             TWarehouse code = warehouseService.selectList(new EntityWrapper<TWarehouse>().eq("code", tOrder.getWarehouse())).get(0);
@@ -503,10 +511,8 @@
         orderInfo.setDriverLat(value);
         ArrayList<Map<String,String>> maps = new ArrayList<>();
         TTransportation tTransportations = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("type",1));
-        if(tTransportations!=null) {
             TPort tPort1 = portMapper.selectById(tOrder.getPort());
             maps.add(getLat(tPort1.getAddress()));
-        }
 
         if(tOrder.getExamSite()!=null){
             Integer examSite = tOrder.getExamSite();
@@ -528,12 +534,6 @@
         if(tOrder.geteAddress()!=null){
             maps.add(getLat(tOrder.geteAddress()));
         }
-
-
-
-
-
-
 
 
 
@@ -648,26 +648,35 @@
     @Override
     public List<IndexMonth> index(int userId) {
         ArrayList<IndexMonth> list = new ArrayList<>();
-        List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id"));
+        List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").ne("status",17));
         for (TOrder order : orders) {
             IndexMonth indexMonth = new IndexMonth();
             indexMonth.setTime(order.getPayTime());
             indexMonth.setOrderNumber(order.getId());
-            indexMonth.setAmount(order.getAllTotal());
+            BigDecimal order_id = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId())).stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            indexMonth.setAmount(order_id);
             list.add(indexMonth);
         }
         return list;
     }
 
+    public static void main(String[] args) throws ParseException {
+        Calendar instance = Calendar.getInstance();
+        instance.add(Calendar.DATE,1);
+        System.out.println(instance.getTime());
+    }
+
     @Override
     public List<IndexMonth> indexYear(int i,int userId) {
         ArrayList<IndexMonth> list = new ArrayList<>();
-        List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").like("pay_time",String.valueOf(i)));
+        List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").like("pay_time",String.valueOf(i)).ne("status",17));
         for (TOrder order : orders) {
             IndexMonth indexMonth = new IndexMonth();
             indexMonth.setTime(order.getPayTime());
             indexMonth.setOrderNumber(order.getId());
-            indexMonth.setAmount(order.getAllTotal());
+            BigDecimal order_id = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId())).stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+            indexMonth.setAmount(order_id);
             list.add(indexMonth);
         }
         return list;
@@ -676,12 +685,13 @@
     @Override
     public List<IndexMonth> indexTime(String sTime, String eTime,int userId) {
         ArrayList<IndexMonth> list = new ArrayList<>();
-        List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").between("pay_time",sTime,eTime));
+        List<TOrder> orders = this.baseMapper.selectList(new EntityWrapper<TOrder>().eq("user_id", userId).isNotNull("company_id").between("pay_time",sTime,eTime).ne("status",17));
         for (TOrder order : orders) {
             IndexMonth indexMonth = new IndexMonth();
             indexMonth.setTime(order.getPayTime());
             indexMonth.setOrderNumber(order.getId());
-            indexMonth.setAmount(order.getAllTotal());
+            BigDecimal order_id = priceMapper.selectList(new EntityWrapper<TPrice>().eq("order_id", order.getId())).stream().map(TPrice::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            indexMonth.setAmount(order_id);
             list.add(indexMonth);
         }
         return list;
diff --git a/src/main/java/com/stylefeng/guns/modular/system/utils/PaymentProcessor.java b/src/main/java/com/stylefeng/guns/modular/system/utils/PaymentProcessor.java
index 4950298..c2f9cc3 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/utils/PaymentProcessor.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/utils/PaymentProcessor.java
@@ -1,6 +1,7 @@
 package com.stylefeng.guns.modular.system.utils;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.stripe.Stripe;
 import com.stripe.exception.*;
 import com.stripe.model.Customer;
@@ -13,6 +14,7 @@
 import com.stripe.param.PaymentIntentUpdateParams;
 import com.stripe.param.PaymentMethodListParams;
 
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.logging.Logger;
 
@@ -33,8 +35,21 @@
     }
 
 
+    public static void main(String[] args) {
+        try {
+
+            String cus_odnGgggJJ7iEJh = getMethod("cus_OdnGgggJJ7iEJh");
+            JSONObject jsonObject = JSON.parseObject(cus_odnGgggJJ7iEJh);
+            Object id1 = jsonObject.get("id");
+            long l = 1;
+            Boolean pay = PaymentProcessor.pay("cus_odnGgggJJ7iEJh", id1.toString(), l);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
     public static Boolean pay(String cus,String method,Long money) throws StripeException {
-        Stripe.apiKey = "sk_test_51Mu5D0KDN0sswRVwUNL5998QrX1VJkNrLsflVUXkEFH0cY2l9StrCc5O4c9gtzs7tLbVmeaTfyNL6pnrtw1tRClA00ZVfbNb3d";
+//        Stripe.apiKey = "sk_test_51Mu5D0KDN0sswRVwUNL5998QrX1VJkNrLsflVUXkEFH0cY2l9StrCc5O4c9gtzs7tLbVmeaTfyNL6pnrtw1tRClA00ZVfbNb3d";
+        Stripe.apiKey = "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";
         PaymentIntentCreateParams params =
                 PaymentIntentCreateParams.builder()
                         .setCurrency("usd")
diff --git a/src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/FortyNineUtil.java b/src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/FortyNineUtil.java
index 55413b6..ee09031 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/FortyNineUtil.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/FortyNineUtil.java
@@ -103,7 +103,6 @@
                     lfd= getTime(lfd);
                     terminaleDataWarpper.setLfd(lfd);
                 }catch (Exception e){
-                    terminaleDataWarpper.setLfd(lfd);
                 }
 
                 String available = JSONObject.parseObject(attributes.toString()).get("available_for_pickup").toString();
@@ -135,17 +134,20 @@
                         terminaleDataWarpper.setCtf(CTF);
                     }
                 }
-                if("PENDING".equals(terminaleDataWarpper.getLineHold()) && ToolUtil.isNotEmpty(lfd)){
+                if("PENDING".equals(terminaleDataWarpper.getLineHold()) && !"null".equals(lfd)){
                     terminaleDataWarpper.setLineHold("RELEASE");
                 }
-                if("PENDING".equals(terminaleDataWarpper.getCustomHold()) && ToolUtil.isNotEmpty(lfd)){
+                if("PENDING".equals(terminaleDataWarpper.getCustomHold()) && !"null".equals(lfd)){
                     terminaleDataWarpper.setCustomHold("RELEASE");
                 }
-                if("PENDING".equals(terminaleDataWarpper.getPierpass()) && ToolUtil.isNotEmpty(lfd)){
+                if("PENDING".equals(terminaleDataWarpper.getPierpass()) && !"null".equals(lfd)){
                     terminaleDataWarpper.setPierpass("RELEASE");
                 }
-                if("PENDING".equals(terminaleDataWarpper.getCtf()) && ToolUtil.isNotEmpty(lfd)){
+                if("PENDING".equals(terminaleDataWarpper.getCtf()) && !"null".equals(lfd)){
                     terminaleDataWarpper.setCtf("RELEASE");
+                }
+                if(ToolUtil.isEmpty(location) &&  "null".equals(lfd)){
+                    terminaleDataWarpper.setClosedArea("ON VESSEL");
                 }
                 break;
             }
@@ -161,10 +163,34 @@
         return terminaleDataWarpper;
     }
 
+
+
+    public static String getContainerNoOne(String shipmentId, String containerNo) {
+        int i=0;
+        String s = HttpRequest.sendGet("https://api.terminal49.com/v2/shipments/"+shipmentId, "");
+        TerminaleDataWarpper terminaleDataWarpper = new TerminaleDataWarpper();
+        try {
+            JSONObject jsonObject = JSONObject.parseObject(s);
+            Object data = jsonObject.get("data");
+            Object attributes = JSONObject.parseObject(data.toString()).get("attributes");
+            Object time = JSONObject.parseObject(attributes.toString()).get("pod_eta_at");
+            return String.valueOf(time).substring(0,10);
+        }catch (Exception e){
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+
+    public static void main(String[] args) {
+        TerminaleDataWarpper tcnu6817755 = getContainerNo("7e4c2878-235f-4414-8804-9dd6568a5d6f", "TCNU6817755");
+        System.out.println(tcnu6817755);
+    }
+
     public static String getTime(String time) throws ParseException {
         String t = time.substring(0, time.indexOf("T"))+" 00:00:00";
         Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(t);
-        String format = new SimpleDateFormat("dd/MM/yyyy").format(parse);
+        String format = new SimpleDateFormat("MM/dd/yyyy").format(parse);
         return format;
     }
 }
diff --git a/src/main/java/com/stylefeng/guns/modular/system/utils/StripePayUtils.java b/src/main/java/com/stylefeng/guns/modular/system/utils/StripePayUtils.java
index 5c48b8b..ab51553 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/utils/StripePayUtils.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/utils/StripePayUtils.java
@@ -23,8 +23,8 @@
 @Component
 public class StripePayUtils {
 
-    private static final String key = "sk_test_51Mu5D0KDN0sswRVwUNL5998QrX1VJkNrLsflVUXkEFH0cY2l9StrCc5O4c9gtzs7tLbVmeaTfyNL6pnrtw1tRClA00ZVfbNb3d";
-//    private static final String key = "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";
+//    private static final String key = "sk_test_51Mu5D0KDN0sswRVwUNL5998QrX1VJkNrLsflVUXkEFH0cY2l9StrCc5O4c9gtzs7tLbVmeaTfyNL6pnrtw1tRClA00ZVfbNb3d";
+    private static final String key = "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";
 
     /**
      * 创建初始用户
@@ -65,17 +65,28 @@
     }
 // cus_NtikoSLGuD5goQ   tok_1N8HCEKDN0sswRVwd8fQmIq6
     public static void main(String[] args) throws StripeException {
-        HashMap<String, Object> map = new HashMap<>();
-        map.put("number","4242424242424242");
-        map.put("exp_month","12");
-        map.put("exp_year","34");
-        map.put("cvc","541");
+
+//        String stripeCustomNoCard = createStripeCustomNoCard("286988043@qq.com");
+//        System.out.println(stripeCustomNoCard);
+//        HashMap<String, Object> map = new HashMap<>();
+//        map.put("number","4147202602480020");
+//        map.put("exp_month","04");
+//        map.put("exp_year","28");
+//        map.put("cvc","541");
 //        String cardToken = createCardToken(map);
 //        System.out.println(cardToken);
 //
-        String cus_ntikoSLGuD5goQ = updateStripeCustomWithCard("cus_NtikoSLGuD5goQ", map);
-        System.out.println(cus_ntikoSLGuD5goQ);
-//        boolean charge = charge("cus_NtikoSLGuD5goQ", new BigDecimal(0.01), "aud", "测试");
+//        String cus_ntikoSLGuD5goQ = updateStripeCustomWithCard("cus_OdnGgggJJ7iEJh", map);
+//        System.out.println(cus_ntikoSLGuD5goQ);
+//        boolean charge = charge("cus_OdnGgggJJ7iEJh", new BigDecimal(0.01), "aud", "测试");
+
+        try {
+            boolean charge = charge("cus_OdnGgggJJ7iEJh", new BigDecimal(1), "c", "cs");
+            System.out.println(charge);
+        } catch (StripeException e) {
+            e.printStackTrace();
+        }
+
     }
 
     /**
@@ -168,8 +179,8 @@
         //发起支付
         Map<String, Object> payParams = new HashMap<>();
         //1元=100
-        payParams.put("amount", money.multiply(new BigDecimal(100)).longValue());
-        payParams.put("currency", moneyType);
+        payParams.put("amount", (money.multiply(new BigDecimal(100)).multiply(new BigDecimal(1.035))).longValue());
+        payParams.put("currency", "usd");
         payParams.put("description", description);
         payParams.put("customer", stripeMemberId);
         payParams.put("capture", true);

--
Gitblit v1.7.1