From 3c88ed137df2428dd43a405336cbd79011345efd Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 28 六月 2022 16:22:02 +0800
Subject: [PATCH] 支付配置

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mChargingChargeController.java |   15 
 ximon-admin/src/main/java/com/sandu/ximon/admin/param/PayParam.java                         |   14 +
 dao/src/main/java/com/sandu/ximon/dao/bo/C3mOrderBo.java                                    |  102 ++++++++
 ximon-admin/src/main/resources/application.yml                                              |    7 
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java       |   48 ++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java          |  127 ++-------
 ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxPayConfiguration.java              |   52 ++--
 dao/src/main/resources/mapper/C3mOrderMapper.xml                                            |   60 +++--
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java                |   87 +++++-
 ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxFastPayService.java                |  134 ++--------
 dao/src/main/java/com/sandu/ximon/dao/mapper/C3mOrderMapper.java                            |   27 +
 11 files changed, 398 insertions(+), 275 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/bo/C3mOrderBo.java b/dao/src/main/java/com/sandu/ximon/dao/bo/C3mOrderBo.java
new file mode 100644
index 0000000..33be8e6
--- /dev/null
+++ b/dao/src/main/java/com/sandu/ximon/dao/bo/C3mOrderBo.java
@@ -0,0 +1,102 @@
+package com.sandu.ximon.dao.bo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+/**
+ * @author LiuHaoNan
+ * @date 2022/6/28
+ * 璁㈠崟鍒楄〃瀛楁
+ */
+@Data
+public class C3mOrderBo {
+
+    /**
+     * 璁㈠崟ID
+     */
+    private Long orderId;
+
+    /**
+     * 鐏潌ID
+     */
+    private Long poleId;
+
+
+    /**
+     * 瀵瑰簲鐨勭伅鏉嗚澶噈ac
+     */
+    private String poleMac;
+
+    /**
+     * 璁㈠崟鍟嗘埛鍙�
+     */
+    private String outTradeNo;
+
+
+    /**
+     * 璁㈠崟鎬婚噾棰�
+     */
+    private Double totalAmount;
+
+    /**
+     * 瀹炴敹閲戦
+     */
+    private Double receiptAmount;
+
+    /**
+     * 閫�娆�
+     */
+    private Double refundAmount;
+
+    /**
+     * 棰勭害鐢甸噺
+     */
+    private Integer subscribeChargingCapacity;
+
+    /**
+     * 瀹炲厖鐢甸噺
+     */
+    private Double actualChargingCapacity;
+
+    /**
+     * 璁㈠崟鏀粯鏃堕棿鎴�
+     */
+    private Long payTimestamp;
+
+    /**
+     * 璁㈠崟閫�娆炬椂闂存埑
+     */
+    private Long refundTimestamp;
+
+    /**
+     * 寮�濮嬪厖鐢垫椂闂存埑
+     */
+    private Long startChargingTimestamp;
+
+    /**
+     * 缁撴潫鍏呯數鏃堕棿鎴�
+     */
+    private Long stopChargingTimestamp;
+
+    /**
+     * 璁㈠崟鐘舵�侊細// 宸叉敮浠�(1),閫�娆句腑(2),宸查��娆�(3),璁㈠崟瀹屾垚(4),閫�娆惧け璐�5)
+     */
+    private Integer orderStatus;
+
+    /**
+     * 鍏呯數妗╁悕绉�
+     */
+    private String c3Name;
+
+    /**
+     * 鐏潌鍚嶇О
+     */
+//    private String poleName;
+
+    /**
+     * 0 鍏呯數涓�   1鍏呯數缁撴潫
+     */
+    private Integer changingStates;
+
+
+}
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/C3mOrderMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/C3mOrderMapper.java
index a306b3a..b2e61a4 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/C3mOrderMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/C3mOrderMapper.java
@@ -1,27 +1,42 @@
 package com.sandu.ximon.dao.mapper;
 
-import com.sandu.ximon.dao.domain.C3mOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sandu.ximon.dao.bo.C3mOrderBo;
+import com.sandu.ximon.dao.domain.C3mOrder;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
+import java.util.List;
+
 /**
-* @author Administrator
-* @description 閽堝琛ㄣ�恈3_order(C3璁㈠崟琛�)銆戠殑鏁版嵁搴撴搷浣淢apper
-* @createDate 2022-06-27 12:11:23
-* @Entity com.sandu.ximon.dao.domain.C3mOrder
-*/
+ * @author Administrator
+ * @description 閽堝琛ㄣ�恈3_order(C3璁㈠崟琛�)銆戠殑鏁版嵁搴撴搷浣淢apper
+ * @createDate 2022-06-27 12:11:23
+ * @Entity com.sandu.ximon.dao.domain.C3mOrder
+ */
 @Mapper
 public interface C3mOrderMapper extends BaseMapper<C3mOrder> {
 
+    /**
+     * 璁㈠崟璇︽儏
+     *
+     * @param outTradeNo
+     * @return
+     */
     @Select("select * from c3_order where out_trade_no = #{outTradeNo}")
     C3mOrder getOrderByOutTradeNo(@Param("outTradeNo") String outTradeNo);
 
+    /**
+     * 閫�娆�  鏇存柊璁㈠崟鐘舵��
+     *
+     * @param c3mOrderEntity
+     */
     @Update("update c3_order set refund_amount = #{refundAmount},refund_timestamp=#{refundTimestamp},order_status=#{orderStatus}, refund_msg = #{refundMsg} where order_id = #{orderId}")
     void updateRefundOrder(C3mOrder c3mOrderEntity);
 
+    List<C3mOrderBo> orderList(Long userId);
 }
 
 
diff --git a/dao/src/main/resources/mapper/C3mOrderMapper.xml b/dao/src/main/resources/mapper/C3mOrderMapper.xml
index 672ff63..ebca177 100644
--- a/dao/src/main/resources/mapper/C3mOrderMapper.xml
+++ b/dao/src/main/resources/mapper/C3mOrderMapper.xml
@@ -5,33 +5,34 @@
 <mapper namespace="com.sandu.ximon.dao.mapper.C3mOrderMapper">
 
     <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.C3mOrder">
-            <id property="orderId" column="order_id" jdbcType="BIGINT"/>
-            <result property="poleId" column="pole_id" jdbcType="BIGINT"/>
-            <result property="c3Mac" column="c3_mac" jdbcType="VARCHAR"/>
-            <result property="poleMac" column="pole_mac" jdbcType="VARCHAR"/>
-            <result property="outTradeNo" column="out_trade_no" jdbcType="VARCHAR"/>
-            <result property="orderType" column="order_type" jdbcType="VARCHAR"/>
-            <result property="totalAmount" column="total_amount" jdbcType="DECIMAL"/>
-            <result property="receiptAmount" column="receipt_amount" jdbcType="DECIMAL"/>
-            <result property="refundAmount" column="refund_amount" jdbcType="DECIMAL"/>
-            <result property="aliBuyerLogonId" column="ali_buyer_logon_id" jdbcType="VARCHAR"/>
-            <result property="subscribeChargingCapacity" column="subscribe_charging_capacity" jdbcType="INTEGER"/>
-            <result property="actualChargingCapacity" column="actual_charging_capacity" jdbcType="DOUBLE"/>
-            <result property="createTimestamp" column="create_timestamp" jdbcType="BIGINT"/>
-            <result property="payTimestamp" column="pay_timestamp" jdbcType="BIGINT"/>
-            <result property="refundTimestamp" column="refund_timestamp" jdbcType="BIGINT"/>
-            <result property="refundMsg" column="refund_msg" jdbcType="VARCHAR"/>
-            <result property="startChargingTimestamp" column="start_charging_timestamp" jdbcType="BIGINT"/>
-            <result property="stopChargingTimestamp" column="stop_charging_timestamp" jdbcType="BIGINT"/>
-            <result property="orderStatus" column="order_status" jdbcType="INTEGER"/>
-            <result property="c3Name" column="c3_name" jdbcType="VARCHAR"/>
-            <result property="poleName" column="pole_name" jdbcType="VARCHAR"/>
-            <result property="changingStates" column="changing_states" jdbcType="INTEGER"/>
-            <result property="userCode" column="user_code" jdbcType="VARCHAR"/>
+        <id property="orderId" column="order_id" jdbcType="BIGINT"/>
+        <result property="poleId" column="pole_id" jdbcType="BIGINT"/>
+        <result property="c3Mac" column="c3_mac" jdbcType="VARCHAR"/>
+        <result property="poleMac" column="pole_mac" jdbcType="VARCHAR"/>
+        <result property="outTradeNo" column="out_trade_no" jdbcType="VARCHAR"/>
+        <result property="orderType" column="order_type" jdbcType="VARCHAR"/>
+        <result property="totalAmount" column="total_amount" jdbcType="DECIMAL"/>
+        <result property="receiptAmount" column="receipt_amount" jdbcType="DECIMAL"/>
+        <result property="refundAmount" column="refund_amount" jdbcType="DECIMAL"/>
+        <result property="aliBuyerLogonId" column="ali_buyer_logon_id" jdbcType="VARCHAR"/>
+        <result property="subscribeChargingCapacity" column="subscribe_charging_capacity" jdbcType="INTEGER"/>
+        <result property="actualChargingCapacity" column="actual_charging_capacity" jdbcType="DOUBLE"/>
+        <result property="createTimestamp" column="create_timestamp" jdbcType="BIGINT"/>
+        <result property="payTimestamp" column="pay_timestamp" jdbcType="BIGINT"/>
+        <result property="refundTimestamp" column="refund_timestamp" jdbcType="BIGINT"/>
+        <result property="refundMsg" column="refund_msg" jdbcType="VARCHAR"/>
+        <result property="startChargingTimestamp" column="start_charging_timestamp" jdbcType="BIGINT"/>
+        <result property="stopChargingTimestamp" column="stop_charging_timestamp" jdbcType="BIGINT"/>
+        <result property="orderStatus" column="order_status" jdbcType="INTEGER"/>
+        <result property="c3Name" column="c3_name" jdbcType="VARCHAR"/>
+        <result property="poleName" column="pole_name" jdbcType="VARCHAR"/>
+        <result property="changingStates" column="changing_states" jdbcType="INTEGER"/>
+        <result property="userCode" column="user_code" jdbcType="VARCHAR"/>
     </resultMap>
 
     <sql id="Base_Column_List">
-        order_id,pole_id,c3_mac,
+        order_id
+        ,pole_id,c3_mac,
         pole_mac,out_trade_no,order_type,
         total_amount,receipt_amount,refund_amount,
         ali_buyer_logon_id,subscribe_charging_capacity,actual_charging_capacity,
@@ -40,4 +41,15 @@
         order_status,c3_name,pole_name,
         changing_states,user_code
     </sql>
+
+    <select id="orderList" resultType="com.sandu.ximon.dao.bo.C3mOrderBo" parameterType="java.lang.Long">
+        SELECT
+        t1.*
+        FROM
+        c3_order t1
+        LEFT JOIN pole t2 ON t1.pole_id = t2.id
+        <if test="userId != null">
+            WHERE (t1.userId = #{userId} OR t1.client_id= #{userId})
+        </if>
+    </select>
 </mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mChargingChargeController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mChargingChargeController.java
index e73142c..55e5d72 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mChargingChargeController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mChargingChargeController.java
@@ -1,10 +1,8 @@
 package com.sandu.ximon.admin.controller;
 
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.util.ResponseUtil;
-import com.sandu.ximon.admin.param.C3mChargingChargeParam;
 import com.sandu.ximon.admin.service.C3mChargingChargeService;
 import com.sandu.ximon.dao.domain.C3mChargingCharge;
 import lombok.AllArgsConstructor;
@@ -27,6 +25,7 @@
 
     /**
      * 缂栬緫鍏呯數妗╄垂鐜�
+     *
      * @param chargeEntities
      * @return
      */
@@ -42,15 +41,23 @@
     }
 
 
-    @GetMapping("/getChargeByC3Id/{c3mId}")  //鏈悓姝ユ枃妗�
+    @GetMapping("/getChargeByC3Id/{c3mId}")
     public ResponseVO<Object> getChargeByC3Id(@PathVariable Integer c3mId) {
         return ResponseUtil.success(chargeService.getChargeByC3Id(c3mId));
     }
 
-    @GetMapping("/getChargeByPoleId/{PoleId}") //涓烘湭鍚屾鏂囨。
+    @GetMapping("/getChargeByPoleId/{PoleId}")
     public ResponseVO<Object> getChargeByPoleId(@PathVariable Long PoleId) {
         return ResponseUtil.success(chargeService.getChargeByPoleId(PoleId));
     }
 
+    /**
+     * 鏍规嵁鍏呯數妗﹎ac鑾峰彇褰撳墠鏃堕棿娈电殑璐圭巼
+     */
+    @GetMapping("/getChargeByMac/{mac}")
+    public ResponseVO<Object> getChargeByMac(@PathVariable Long mac, Integer power) {
+        return ResponseUtil.success(chargeService.getCostByC3id(mac, power));
+    }
+
 
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
index 5b4fbc9..8e416f1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
@@ -1,34 +1,25 @@
 package com.sandu.ximon.admin.controller;
 
-import com.alipay.api.AlipayClient;
-import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.AlipayTradeWapPayModel;
-import com.alipay.api.request.AlipayTradeWapPayRequest;
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.util.ResponseUtil;
-import com.sandu.ximon.admin.config.AlipayConfig;
 import com.sandu.ximon.admin.param.PayParam;
 import com.sandu.ximon.admin.pay.alipay.UsrAlipayConfigService;
 import com.sandu.ximon.admin.pay.wx.WxFastPayService;
 import com.sandu.ximon.admin.service.C3ChargingService;
+import com.sandu.ximon.admin.service.C3mChargingChargeService;
 import com.sandu.ximon.admin.service.C3mOrderService;
 import com.sandu.ximon.admin.utils.AliPayUtils;
-import com.sandu.ximon.admin.utils.ConfigCheckUtils;
-import com.sandu.ximon.dao.domain.AliConfigEntity;
+import com.sandu.ximon.dao.bo.C3mOrderBo;
 import com.sandu.ximon.dao.domain.C3mCharging;
 import com.sandu.ximon.dao.domain.C3mOrder;
 import com.sandu.ximon.dao.enums.OrderType;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.Date;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.List;
 import java.util.SortedMap;
 
 /**
@@ -44,6 +35,7 @@
     private final C3ChargingService c3mService;
     private final UsrAlipayConfigService alipayConfigService;
     private final WxFastPayService wxPayService;
+    private final C3mChargingChargeService c3mChargingChargeService;
 
 
     /**
@@ -52,11 +44,13 @@
      * @return
      */
     @PostMapping("/refond")
-    public ResponseVO<Object> refond(@RequestBody Map params) {
-//        c3mOrderService.orderRefund( (String)params.get("outTradeNo"),
-//                (Double)params.get("refundAmount"));
-        return ResponseUtil.success(c3mOrderService.orderRefund((String) params.get("outTradeNo"),
-                (Double) params.get("refundAmount")));
+    public ResponseVO<Object> refond(@RequestBody PayParam params) {
+
+        if (params.getOutTradeNo().isEmpty() || params.getRefundAmount() == null) {
+            throw new BusinessException("閫�娆惧弬鏁颁笉鑳戒负绌�");
+        }
+        return ResponseUtil.success(c3mOrderService.orderRefund(params.getOutTradeNo(),
+                params.getRefundAmount()));
 
     }
 
@@ -75,13 +69,15 @@
         if (null == c3m) {
             throw new BusinessException("鏈壘鍒板綋鍓嶅厖鐢垫々");
         }
+        //鑾峰彇棰勪粯閲戦
+        BigDecimal TotalAmount = c3mChargingChargeService.getCostByC3id(c3m.getC3Id(), param.getSubscribeChargingCapacity());
+        //杞崲涓篸ouble绫诲瀷
+        double totalAmount = TotalAmount.doubleValue();
         C3mOrder c3mOrderEntity = c3mOrderService.advancePayOrder(param.getPoleId(), c3m, "wxpay"
-                , param.getTotalAmount(), param.getSubscribeChargingCapacity());
+                , totalAmount, param.getSubscribeChargingCapacity());
         if (null == c3mOrderEntity) {
             throw new BusinessException("璇ュ厖鐢垫々姝h浣跨敤!");
         }
-//        return R.ok().put("outTradeNo",c3mOrderEntity.getOutTradeNo())
-//                .put("totalAmount",totalAmount);
 
         param.setOutTradeNo(c3mOrderEntity.getOutTradeNo());
         param.setTotalAmount(c3mOrderEntity.getTotalAmount());
@@ -91,76 +87,12 @@
     }
 
 
-    @PostMapping("/aliPay")
-    public ResponseVO<Object> c3AliPay(@RequestBody PayParam param, HttpServletResponse response) {
-        // 鍟嗘埛璁㈠崟鍙凤紝鍟嗘埛缃戠珯璁㈠崟绯荤粺涓敮涓�璁㈠崟鍙凤紝蹇呭~
-        String out_trade_no = param.getOutTradeNo();
-        System.out.println("璁㈠崟鍙�:" + out_trade_no);
-        // 璁㈠崟鍚嶇О锛屽繀濉�
-        String subject = "鎵爜鍏呯數鏀粯(C3鍏呯數妗�)";
-        // 浠樻閲戦锛屽繀濉紝鍗曚綅涓哄厓锛岀簿纭埌灏忔暟鐐瑰悗涓や綅锛屽彇鍊艰寖鍥碵0.01,100000000]
-        String total_amount = param.getTotalAmount().toString();
-        // 鍟嗗搧鎻忚堪锛屽彲绌�
-        String body = "璇峰嬁浠樻锛屾祴璇曠敤";
-        // 瓒呮椂鏃堕棿 鍙┖
-        String timeout_express = "5m";
-        // 閿�鍞骇鍝佺爜 蹇呭~
-        String product_code = "QUICK_WAP_WAY";
-        /**********************/
-        AliConfigEntity alipayConfigEntity = alipayConfigService.getConfigByPoleId(param.getPoleId());
-        String checkStr = ConfigCheckUtils.checkAlipayConfig(alipayConfigEntity);
-        if (checkStr != null) {
-            try {
-                response.getWriter().write(checkStr);
-                return ResponseUtil.fail("鏀粯瀹屾垚澶辫触");
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-        //璋冪敤RSA绛惧悕鏂瑰紡
-        AlipayClient client = new DefaultAlipayClient(AlipayConfig.gatewayUrl, alipayConfigEntity.getAppId(), alipayConfigEntity.getPrivateKey(), AlipayConfig.format, AlipayConfig.charset, alipayConfigEntity.getPublicKey(), AlipayConfig.sign_type);
-        AlipayTradeWapPayRequest alipay_request = new AlipayTradeWapPayRequest();
-
-        // 灏佽璇锋眰鏀粯淇℃伅
-        AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
-        model.setOutTradeNo(out_trade_no);
-        model.setSubject(subject);
-        model.setTotalAmount(total_amount);
-        model.setBody(body);
-        model.setTimeoutExpress(timeout_express);
-        model.setProductCode(product_code);
-        model.setQuitUrl(C3mOrder.REQUEST_URL + param.getPoleId() + "/" + new Date().getTime());
-        alipay_request.setBizModel(model);
-        // 璁剧疆寮傛閫氱煡鍦板潃
-        alipay_request.setNotifyUrl(C3mOrder.REQUEST_URL + param.getPoleId() + "/" + new Date().getTime());
-        // 璁剧疆鍚屾鍦板潃
-        alipay_request.setReturnUrl(C3mOrder.REQUEST_URL + param.getPoleId() + "/" + new Date().getTime());
-
-        // form琛ㄥ崟鐢熶骇
-        String form = "";
-        try {
-            // 璋冪敤SDK鐢熸垚琛ㄥ崟
-            form = client.pageExecute(alipay_request).getBody();
-            response.setContentType("text/html;charset=" + AlipayConfig.charset);
-            response.getWriter().write(form);//鐩存帴灏嗗畬鏁寸殑琛ㄥ崟html杈撳嚭鍒伴〉闈�
-            response.getWriter().flush();
-            response.getWriter().close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return ResponseUtil.success("鏀粯瀹屾垚");
-    }
-
-//    @RequestMapping("/wxpay")
-//    public ResponseVO<Object> c3Wxpay(@RequestBody PayParam param) {
-//
-//        //String result = wxPayService.miniAppPay(outTradeNo, totalAmount, streetlightId);
-//        SortedMap<Object, Object> result = wxPayService.appPay("鎵爜鍏呯數鏀粯(C3鍏呯數妗�)", param.getOutTradeNo(), param.getWxPayTotalAmount(), param.getPoleId(),c3mOrderEntity);
-//
-//        return ResponseUtil.success(result);
-//    }
-
-
+    /**
+     * 璁㈠崟鐘舵�佹煡璇�  寰俊鏀粯
+     *
+     * @param param
+     * @return
+     */
     @RequestMapping("/queryOrder")
     public ResponseVO<Object> queryOrder(@RequestBody PayParam param) {
         if (param.getOrderId() == null) {
@@ -180,4 +112,13 @@
 
     }
 
+    /**
+     * 璁㈠崟鍒楄〃
+     */
+    @GetMapping("/list")
+    public ResponseVO<Object> list(BaseConditionVO baseConditionVO) {
+        List<C3mOrderBo> list = c3mOrderService.orderList(baseConditionVO);
+        return ResponseUtil.successPage(list);
+    }
+
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/PayParam.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/PayParam.java
index 6829d54..4717f81 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/PayParam.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/PayParam.java
@@ -19,6 +19,11 @@
     private Double totalAmount;
 
     /**
+     * 鐢ㄦ埛鏍囪瘑
+     */
+    private  String user_code;
+
+    /**
      * 寰俊鏀粯閲戦
      */
     private Integer WxPayTotalAmount;
@@ -28,7 +33,14 @@
      */
     private Integer subscribeChargingCapacity;
 
+    private Long orderId;
+
+
+    /**
+     * 閫�娆炬椂浣跨敤
+     */
+    private Double refundAmount;
+
     private String outTradeNo;
 
-    private Long orderId;
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxFastPayService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxFastPayService.java
index 22975ae..e0d9746 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxFastPayService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxFastPayService.java
@@ -10,6 +10,7 @@
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
 import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
 import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderResult;
+import com.github.binarywang.wxpay.config.WxPayConfig;
 import com.github.binarywang.wxpay.constant.WxPayConstants;
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.sandu.common.execption.BusinessException;
@@ -19,6 +20,7 @@
 import com.sandu.ximon.dao.domain.WxConfigEntity;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -43,75 +45,6 @@
 
     private final UsrWxPayConfigService wxPayConfigService;
 
-
-    /**
-     * app鏀粯
-     *
-     * @param body     鍟嗗搧鎻忚堪
-     * @param
-     * @param totalFee 鏀粯閲戦锛堝垎锛�
-     * @return
-     */
-    public SortedMap<Object, Object> appPay(String body, String orderSn, int totalFee, Long poleId) {
-        WxConfigEntity wxConfig = wxPayConfigService.getConfigByPoleId(poleId);
-        wxConfig.setMchId(wxConfig.getMchId().trim());
-        WxPayUnifiedOrderRequest wxPayUnifiedOrderRequest = new WxPayUnifiedOrderRequest();
-        wxPayUnifiedOrderRequest.setBody(body);
-        wxPayUnifiedOrderRequest.setOutTradeNo(orderSn);
-        wxPayUnifiedOrderRequest.setTotalFee(totalFee);
-        wxPayUnifiedOrderRequest.setOpenid("otiM54x_hc_5gbhMY5aZxo7UByNo");
-
-        wxPayUnifiedOrderRequest.setSignType(WxPayConstants.SignType.MD5);
-        wxPayUnifiedOrderRequest.setSpbillCreateIp(IpUtil.getRealIp());
-        wxPayUnifiedOrderRequest.setNotifyUrl(WECHAT_ORDER_PAY_CALLBACK_URL);
-        wxPayUnifiedOrderRequest.setTradeType(WxPayConstants.TradeType.JSAPI);
-
-        try {
-            WxPayUnifiedOrderResult wxPayUnifiedOrderResult = wxPayService.unifiedOrder(wxPayUnifiedOrderRequest);
-            System.out.println("********************************");
-            String time = String.valueOf(System.currentTimeMillis() / 1000);
-            if (WxPayConstants.ResultCode.SUCCESS.equals(wxPayUnifiedOrderResult.getResultCode())) {
-                SortedMap<Object, Object> parameters = new TreeMap<>();
-                parameters.put("appid", wxPayUnifiedOrderResult.getAppid());
-
-                parameters.put("noncestr", wxPayUnifiedOrderResult.getNonceStr()); // 闅忔満瀛楃涓�
-                parameters.put("partnerid", wxConfig.getMchId()); // 鍟嗘埛id
-
-                //  parameters.put("out_trade_no", orderId);//鍟嗘埛璁㈠崟鍙�
-                parameters.put("prepayid", wxPayUnifiedOrderResult.getPrepayId());
-                parameters.put("package", "Sign=WXPay");
-                parameters.put("timestamp", time);
-
-                String sign = createSign(wxConfig.getPrivateKey(), parameters);
-
-                //hashMap.put("paySign", wechatSign);
-                parameters.put("Sign", sign);
-                return parameters;
-            } else {
-                log.error("寰俊鏀粯澶辫触锛寋}", wxPayUnifiedOrderResult.getErrCodeDes());
-                throw new BusinessException("寰俊鏀粯澶辫触锛�" + wxPayUnifiedOrderResult.getErrCodeDes());
-            }
-        } catch (WxPayException e) {
-            log.error("寰俊鏀粯澶辫触锛寋}", e.getErrCodeDes());
-            throw new BusinessException("寰俊鏀粯澶辫触锛�" + e.getErrCodeDes());
-        }
-    }
-
-    /*    private String createSign(SortedMap<Object, Object> parameters) {
-            StringBuffer sb = new StringBuffer();
-            Set es = parameters.entrySet();// 鎵�鏈夊弬涓庝紶鍙傜殑鍙傛暟鎸夌収accsii鎺掑簭锛堝崌搴忥級
-            for (Object e : es) {
-                Map.Entry entry = (Map.Entry) e;
-                String k = (String) entry.getKey();
-                Object v = entry.getValue();
-                if (null != v && !"".equals(v) && !"sign".equals(k) && !"key".equals(k)) {
-                    sb.append(k + "=" + v + "&");
-                }
-            }
-            sb.append("key=" + wxPayProperties.getMchKey());
-            System.out.println("瀛楃涓叉嫾鎺ュ悗鏄�:" + sb.toString());
-            return SecureUtil.md5(sb.toString()).toUpperCase();
-        }*/
 
 
     /**
@@ -207,38 +140,6 @@
 
 
     /**
-     * 鐢熸垚浜岀淮鐮佷粯娆�
-     */
-    public String generateQRCodePay(String body,
-                                    String orderId, int totalFee, String callbackUrl) {
-        WxPayUnifiedOrderRequest wxPayUnifiedOrderRequest = new WxPayUnifiedOrderRequest();
-        wxPayUnifiedOrderRequest.setBody(body);
-        wxPayUnifiedOrderRequest.setOutTradeNo(orderId);
-        wxPayUnifiedOrderRequest.setTotalFee(totalFee);
-        wxPayUnifiedOrderRequest.setProductId(orderId);
-
-        wxPayUnifiedOrderRequest.setSignType(WxPayConstants.SignType.MD5);
-        wxPayUnifiedOrderRequest.setSpbillCreateIp(IpUtil.getRealIp());
-        wxPayUnifiedOrderRequest.setNotifyUrl(callbackUrl);
-        wxPayUnifiedOrderRequest.setTradeType(WxPayConstants.TradeType.NATIVE);
-
-        try {
-            WxPayUnifiedOrderResult wxPayUnifiedOrderResult = wxPayService.unifiedOrder(wxPayUnifiedOrderRequest);
-            if (WxPayConstants.ResultCode.SUCCESS.equals(wxPayUnifiedOrderResult.getResultCode())) {
-                byte[] scanPayQrcodeMode2 = wxPayService.createScanPayQrcodeMode2(wxPayUnifiedOrderResult.getCodeURL(), null, null);
-                String encode = Base64.encode(scanPayQrcodeMode2);
-                return encode;
-            } else {
-                log.error("寰俊鏀粯澶辫触锛寋}", wxPayUnifiedOrderResult.getErrCodeDes());
-                throw new BusinessException("寰俊鏀粯澶辫触锛�" + wxPayUnifiedOrderResult.getErrCodeDes());
-            }
-        } catch (WxPayException e) {
-            log.error("寰俊鏀粯澶辫触锛寋}", e.getErrCodeDes());
-            throw new BusinessException("寰俊鏀粯澶辫触锛�" + e.getErrCodeDes());
-        }
-    }
-
-    /**
      * 閫�娆�
      *
      * @param totalAmount
@@ -247,11 +148,16 @@
      * @param poleId
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     public boolean refund(Double totalAmount, Double refundAmount, String outTradeNo, Long poleId) {
         WxConfigEntity wxConfig = UsrWxPayConfigService.getBean().getConfigByPoleId(poleId);
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
         String refundNo = sdf.format(new Date());
         WxPayRefundRequest refundRequest = new WxPayRefundRequest();
+        //閫�娆鹃噾棰濅笉鑳藉ぇ浜庤鍗曟�婚噾棰�
+        if (refundAmount > totalAmount) {
+            throw new BusinessException("閫�娆鹃噾棰濅笉鑳藉ぇ浜庤鍗曟�婚噾棰�");
+        }
         refundRequest.setOutTradeNo(outTradeNo);
         refundRequest.setOutRefundNo(refundNo);
         refundRequest.setTotalFee(Integer.valueOf(parseWxAmount((totalAmount + ""))));
@@ -285,24 +191,44 @@
         return amount;
     }
 
-
+    /**
+     * 灏忕▼搴忔敮浠�  寰俊
+     *
+     * @param body
+     * @param orderId
+     * @param totalFee
+     * @param poleId
+     * @return
+     */
     @Transactional(rollbackFor = Exception.class)
     public SortedMap<Object, Object> miniAppPay(String body,
                                                 String orderId, int totalFee, Long poleId) {
         WxConfigEntity wxConfig = wxPayConfigService.getConfigByPoleId(poleId);
         wxConfig.setMchId(wxConfig.getMchId().trim());
+        //璁剧疆寰俊鏀粯鍙傛暟
+        WxPayConfig payConfig = new WxPayConfig();
+        payConfig.setAppId(StringUtils.trimToNull(wxConfig.getAppid()));
+        payConfig.setMchId(StringUtils.trimToNull(wxConfig.getMchId()));
+        payConfig.setMchKey(StringUtils.trimToNull(wxConfig.getPrivateKey()));
+        payConfig.setSubAppId(StringUtils.trimToNull(null));
+        payConfig.setSubMchId(StringUtils.trimToNull(null));
+        payConfig.setKeyPath(StringUtils.trimToNull(null));
+        wxPayService.setConfig(payConfig);
+
+        //璁剧疆寰俊鍚屼竴璁㈠崟璇锋眰
         WxPayUnifiedOrderRequest wxPayUnifiedOrderRequest = new WxPayUnifiedOrderRequest();
         wxPayUnifiedOrderRequest.setBody(body);
         wxPayUnifiedOrderRequest.setOutTradeNo(orderId);
         wxPayUnifiedOrderRequest.setTotalFee(totalFee);
-        wxPayUnifiedOrderRequest.setOpenid("otiM54x_hc_5gbhMY5aZxo7UByNo");
+//        wxPayUnifiedOrderRequest.setOpenid("otiM54x_hc_5gbhMY5aZxo7UByNo");
 
 
         wxPayUnifiedOrderRequest.setSignType(WxPayConstants.SignType.MD5);
         wxPayUnifiedOrderRequest.setSpbillCreateIp(IpUtil.getRealIp());
         wxPayUnifiedOrderRequest.setNotifyUrl(WECHAT_ORDER_PAY_CALLBACK_URL);
         wxPayUnifiedOrderRequest.setTradeType(WxPayConstants.TradeType.JSAPI);
-        System.out.println("-----------"+wxPayUnifiedOrderRequest);
+        System.out.println("-----------" + wxPayUnifiedOrderRequest);
+
         try {
             WxPayUnifiedOrderResult wxPayUnifiedOrderResult = wxPayService.unifiedOrder(wxPayUnifiedOrderRequest);
             String time = String.valueOf(System.currentTimeMillis() / 1000);
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxPayConfiguration.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxPayConfiguration.java
index 5c372dc..82721bf 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxPayConfiguration.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/pay/wx/WxPayConfiguration.java
@@ -14,30 +14,30 @@
 /**
  * @author Binary Wang
  */
-//@Configuration
-//@ConditionalOnClass(WxPayService.class)
-//@EnableConfigurationProperties(WxPayProperties.class)
-//@AllArgsConstructor
-//public class WxPayConfiguration {
-//  private WxPayProperties properties;
-//
-//  @Bean
-//  @ConditionalOnMissingBean
-//  public WxPayService wxService() {
-//    WxPayConfig payConfig = new WxPayConfig();
-//    payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId()));
-//    payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId()));
-//    payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey()));
-//    payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId()));
-//    payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
-//    payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));
-//
-//    // 鍙互鎸囧畾鏄惁浣跨敤娌欑鐜
-//    payConfig.setUseSandboxEnv(false);
-//
-//    WxPayService wxPayService = new WxPayServiceImpl();
+@Configuration
+@ConditionalOnClass(WxPayService.class)
+@EnableConfigurationProperties(WxPayProperties.class)
+@AllArgsConstructor
+public class WxPayConfiguration {
+  private WxPayProperties properties;
+
+  @Bean
+  @ConditionalOnMissingBean
+  public WxPayService wxService() {
+    WxPayConfig payConfig = new WxPayConfig();
+    payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId()));
+    payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId()));
+    payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey()));
+    payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId()));
+    payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
+    payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));
+
+    // 鍙互鎸囧畾鏄惁浣跨敤娌欑鐜
+    payConfig.setUseSandboxEnv(false);
+
+    WxPayService wxPayService = new WxPayServiceImpl();
 //    wxPayService.setConfig(payConfig);
-//    return wxPayService;
-//  }
-//
-//}
+    return wxPayService;
+  }
+
+}
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java
index 42252b8..65d09f0 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mChargingChargeService.java
@@ -14,6 +14,8 @@
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.time.LocalTime;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
@@ -167,4 +169,50 @@
     public boolean deleteC3mCharging(Integer c3mId) {
         return c3mChargingChargeMapper.deleteCharge(c3mId);
     }
+
+    /**
+     * 鏍规嵁c3Id鏌ユ壘璐圭巼  骞惰绠楄姳璐�
+     *
+     * @param c3Id
+     * @return
+     */
+    public BigDecimal getCostByC3id(Long c3Id, Integer power) {
+        List<C3mChargingCharge> list = list(Wrappers.lambdaQuery(C3mChargingCharge.class).eq(C3mChargingCharge::getC3Id, c3Id));
+        //鑾峰彇褰撳墠鏃堕棿
+        LocalTime localTime = LocalTime.now();
+        //閬嶅巻璐圭巼闆嗗悎  鍒ゆ柇褰撳墠鏃堕棿鏄惁鍦ㄨ垂鐜囨椂闂存鍐�
+        LocalTime startTime;
+        LocalTime endTime;
+        //榛樿璐圭巼
+        Double charge = 8.8;
+        if (list.size() > 1) {
+            //璐圭巼鏉℃暟澶т簬1鏃讹紝閬嶅巻璐圭巼闆嗗悎  鑾峰彇褰撳墠鏃堕棿娈电殑璐圭巼
+            for (int i = 0; i < list.size(); i++) {
+                //鑾峰彇璐圭巼鏃堕棿娈�  杞寲涓篖ocalTime
+                startTime = LocalTime.of(list.get(i).getHour(), list.get(i).getMin());
+                endTime = LocalTime.of(list.get(i + 1).getHour(), list.get(i + 1).getMin());
+                if (i == list.size()) {
+                    startTime = LocalTime.of(list.get(i).getHour(), list.get(i).getMin());
+                    endTime = LocalTime.of(list.get(0).getHour(), list.get(0).getMin());
+                }
+                //鍒ゆ柇褰撳墠鏃堕棿鏄惁鍦ㄨ垂鐜囨椂闂存鍐�
+                if (localTime.isAfter(startTime) && localTime.isBefore(endTime)) {
+                    //鑾峰彇璐圭巼
+                    charge = list.get(i).getCharge();
+                }
+
+            }
+        } else if (list.size() == 1) {
+            //鍙湁涓�鏉¤垂鐜囨椂锛岀洿鎺ヨ幏鍙栬垂鐜�
+            charge = list.get(0).getCharge();
+        } else {
+            //鍏朵粬璐圭巼鏃讹紝鑾峰彇榛樿璐圭巼
+            charge = 8.8;
+        }
+        //璁$畻鑺辫垂  璐圭巼*鐢甸噺
+        BigDecimal chargeDecimal = new BigDecimal(charge);
+        BigDecimal powerDecimal = new BigDecimal(power);
+        BigDecimal result = chargeDecimal.multiply(powerDecimal);
+        return result;
+    }
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
index a9d5bb5..583b1f5 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
@@ -1,32 +1,35 @@
 package com.sandu.ximon.admin.service;
 
-import com.alibaba.fastjson.JSON;
+import cn.hutool.core.lang.Snowflake;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
 import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
+import com.github.pagehelper.PageHelper;
 import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
-import com.sandu.ximon.admin.config.C3mRedisConfig;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3mRedisConstant;
 import com.sandu.ximon.admin.pay.OrderStatusEnums;
 import com.sandu.ximon.admin.pay.wx.WxFastPayService;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.security.order.OrderQueryListener;
-import com.sandu.ximon.admin.security.order.OrderScanType;
 import com.sandu.ximon.admin.utils.AliPayUtils;
 import com.sandu.ximon.admin.utils.RedisUtils;
 import com.sandu.ximon.admin.vo.C3mOrderVO;
+import com.sandu.ximon.dao.bo.C3mOrderBo;
 import com.sandu.ximon.dao.domain.C3mCharging;
 import com.sandu.ximon.dao.domain.C3mOrder;
 import com.sandu.ximon.dao.domain.Pole;
-import com.sandu.ximon.admin.manager.iot.rrpc.enums.C3mRedisConstant;
 import com.sandu.ximon.dao.enums.OrderStatus;
 import com.sandu.ximon.dao.enums.OrderType;
 import com.sandu.ximon.dao.mapper.C3mOrderMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Author liuhaonan
@@ -42,6 +45,7 @@
     private final C3mOrderMapper c3mOrderMapper;
     private final WxFastPayService fastPayService;
     private final OrderQueryListener orderQueryListener;
+    private final Snowflake snowflake;
 
     public boolean orderRefund(String outTradeNo, Double refundAmount/*, Long userId, String username*/) {
         Long userId = SecurityUtils.getUserId();
@@ -50,8 +54,8 @@
         if (orderByOutTradeNo.getTotalAmount() < refundAmount) {
             throw new BusinessException("閫�娆鹃噾棰濋敊璇�,涓嶈兘澶т簬浠樻閲戦");
         }
-        if (null == orderByOutTradeNo) {
-            return false;
+        if (orderByOutTradeNo == null) {
+            throw new BusinessException("鏈壘鍒拌鍗�");
         } else {
             orderByOutTradeNo.setRefundAmount(refundAmount);
             return c3mOrderRefund(orderByOutTradeNo, "鍏呯數妗╅��娆�", userId, username);
@@ -61,6 +65,16 @@
     }
 
 
+    /**
+     * 閫�娆�
+     *
+     * @param C3mOrder
+     * @param msg
+     * @param userId
+     * @param username
+     * @return
+     */
+//    @Transactional(rollbackFor = Exception.class)
     private boolean c3mOrderRefund(C3mOrder C3mOrder, String msg, Long userId, String username) {
         //  杩涜閫�娆撅紝璁剧疆璁㈠崟鐘舵�佷负宸查��娆�
         boolean b = false;
@@ -109,6 +123,16 @@
         }
     }
 
+    /**
+     * 鍒涘缓璁㈠崟
+     *
+     * @param streetlightId
+     * @param c3m
+     * @param orderType
+     * @param totalAmount
+     * @param subscribeChargingCapacity
+     * @return
+     */
     public C3mOrder advancePayOrder(Long streetlightId, C3mCharging c3m, String orderType, Double totalAmount,
                                     Integer subscribeChargingCapacity) {
 
@@ -131,16 +155,26 @@
                 subscribeChargingCapacity
         );
         //  鍔犺浇鍒皉edis缂撳瓨涓�, 鏌ヨ妯″潡鑷姩鏌ヨ鐘舵�佸苟澶勭悊
-        boolean b = redisUtils.set(
-                C3mRedisConstant.C3_NO_PAY_ORDER.getCode() + c3m.getC3Mac() + c3mOrderEntity.getOutTradeNo(),
-                JSON.toJSONString(c3mOrderEntity),
-                C3mRedisConfig.ORDER_MAX_TIME
-        );
+//        boolean b = redisUtils.set(
+//                C3mRedisConstant.C3_NO_PAY_ORDER.getCode() + c3m.getC3Mac() + c3mOrderEntity.getOutTradeNo(),
+//                JSON.toJSONString(c3mOrderEntity),
+//                C3mRedisConfig.ORDER_MAX_TIME  // TODO  娴嬭瘯鏃跺叧闂�
+//        );
+        boolean b = true;
+        c3mOrderEntity.setOrderId(snowflake.nextId());
+        c3mOrderEntity.setC3Mac(c3m.getC3Name());
+        c3mOrderEntity.setPoleId(streetlightId);
+        c3mOrderEntity.setPoleMac(pole.getDeviceCode());
+        c3mOrderEntity.setPoleName(pole.getPoleName());
+        c3mOrderEntity.setC3Mac(c3m.getC3Mac());
+        c3mOrderEntity.setOrderStatus(0);
+
+
         //  鎺ㄩ�佸埌鑷姩鏌ヨ妯″潡锛岃繘琛屾壂鎻忓惎鍔�
-        orderQueryListener.startScan(OrderScanType.C3M.getType());
-//        if(b){
-//            save(c3mOrderEntity);
-//        }
+//        orderQueryListener.startScan(OrderScanType.C3M.getType());   // TODO  娴嬭瘯鏃跺叧闂�
+        if (b) {
+            this.save(c3mOrderEntity);
+        }
         return b ? c3mOrderEntity : null;
     }
 
@@ -167,14 +201,35 @@
         if (!updateById(userOrder)) {
             return WxPayNotifyResponse.fail("鏇存柊鏁版嵁宸插け鏁�");
         }
+        /**
+         * 璋冭捣寮�濮嬪厖鐢垫帴鍙�  // TODO
+         */
+
 
         return WxPayNotifyResponse.success("鏇存柊鏁版嵁鎴愬姛");
     }
 
-
+    /**
+     * 璁㈠崟璇︽儏  by orderSn
+     *
+     * @param orderSn
+     * @return
+     */
     public C3mOrder getByOrderSn(String orderSn) {
         LambdaQueryWrapper<C3mOrder> wrapper = Wrappers.lambdaQuery(C3mOrder.class).eq(C3mOrder::getOutTradeNo, orderSn).last("limit 1");
         return getOne(wrapper);
     }
 
+    /**
+     * 璁㈠崟鍒楄〃
+     *
+     * @param baseConditionVO
+     * @return
+     */
+    public List<C3mOrderBo> orderList(BaseConditionVO baseConditionVO) {
+        Long userId = SecurityUtils.getClientId();
+        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        List<C3mOrderBo> list = baseMapper.orderList(userId);
+        return list;
+    }
 }
diff --git a/ximon-admin/src/main/resources/application.yml b/ximon-admin/src/main/resources/application.yml
index 4d2b7b1..7e3dd21 100644
--- a/ximon-admin/src/main/resources/application.yml
+++ b/ximon-admin/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-       active: dev
+       active: local
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: GMT+8
@@ -22,6 +22,11 @@
 logging:
   file:
     path: logs
+wx:
+  pay:
+    appId: dsd #寰俊鍏紬鍙锋垨鑰呭皬绋嬪簭绛夌殑appid
+    mchId: dsdsd #寰俊鏀粯鍟嗘埛鍙�
+    mchKey: dsd #寰俊鏀粯鍟嗘埛瀵嗛挜
 
 
 # led灞忓箷鏈嶅姟鍣ㄥ湴鍧�锛堟洿鏀归渶瑕佸悓鏃舵洿鏀癸級

--
Gitblit v1.9.3