zhs 3 tahun lalu
induk
melakukan
8fd4a1961f

+ 0 - 1
src/main/java/com/supplier/controller/PrivateOrderController.java

@@ -49,7 +49,6 @@ public class PrivateOrderController {
                 list = privateOrderService.getPrivateOrderTwo(privateOrder);
                 count = privateOrderService.getPrivateOrderCountTwo(privateOrder);
             } else if(privateOrder.getOrderType() == 1){
-                System.out.println(111);
                 list = privateOrderService.getPrivateOrderOne(privateOrder);
                 count = privateOrderService.getPrivateOrderCountOne(privateOrder);
             } else {

+ 70 - 1
src/main/java/com/supplier/controller/WxPayAppController.java

@@ -291,7 +291,7 @@ public class WxPayAppController extends WxPayUtils {
     }
 
     /**
-     * 供应商充值
+     * 供应商充值小程序
      * @param price 金额
      */
     @GetMapping("wxpaySupplierBalanceJSAPI")
@@ -353,6 +353,75 @@ public class WxPayAppController extends WxPayUtils {
         returnMap.put("data", resultMap);
         returnMap.put("msg", "200");
         return returnMap;
+    }
+
+    /**
+     * 供应商购买次数 小程序
+     * @param offerNum 次数
+     * @param request 参数
+     * @return 返回结果
+     */
+    @GetMapping("wxpaySupplierOfferNumJSAPI")
+    public Map<String, Object> wxpaySupplierOfferNumJSAPI(String offerNum, String code, HttpServletRequest request) throws IOException {
+        //当前时间
+        String currTime = PayToolUtil.getCurrTime();
+        String strTime = currTime.substring(8, currTime.length());
+        String strRandom = String.valueOf(PayToolUtil.buildRandom(4));
+        String nonce_str = strTime + strRandom;
+        //获取token
+        Map<String, Object> userMap = ParsingToken.tokenParsing(request);
+        Map<String, Object> map1 = personalServce.getByNumber();//获取报价单单价
+        Map<String, Object> map2 = (Map<String, Object>) map1.get("data");
+        String price = (Integer.parseInt(offerNum) * Double.parseDouble(String.valueOf(map2.get("power_unit")))) + ""; //购买次数 * 报价单单价
+        //订单号
+        WXPayUtil wxPayUtil = new WXPayUtil(); //微信工具类
+        PayToolUtil payToolUtil = new PayToolUtil();//数据转换工具类
+        String out_trade_no = wxPayUtil.getOrderNo();
+        SortedMap<String, String> packageParams = new TreeMap<String, String>();
+        String uuid = snowflakeUtil.nextId() + "";//不重复编号
+        packageParams.put("appid", wxLogin.getAppIdJSAPI());//公众账号ID
+        packageParams.put("attach", "gysOfferNum" + "," + uuid + "," + userMap.get("code") + "," + offerNum);//自定义信息
+        packageParams.put("mch_id", MCHID);//商户号
+        packageParams.put("body", "途丫-" + out_trade_no);//商品描述
+        packageParams.put("out_trade_no", out_trade_no);//商户订单号
+        packageParams.put("nonce_str", nonce_str);//随机字符串
+        packageParams.put("total_fee", wxPayUtil.getMoney(price)); //订单金额信息
+        packageParams.put("spbill_create_ip", CREATE_IP);//终端IP APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP
+        packageParams.put("notify_url", NOTIFY_URL);//通知地址 异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数
+        packageParams.put("trade_type", "JSAPI");//小程序支付
+        Map<String, Object> mapUser = wxLoginController.wxLoginJSAPI(code);
+        packageParams.put("openid", (String) mapUser.get("openId"));//支付者
+        // 签名
+        String sign = payToolUtil.createSign("UTF-8", packageParams, KEY);
+        packageParams.put("sign", sign);
+        // 将请求参数转换为xml格式的string
+        String requestXML = payToolUtil.getRequestXml(packageParams);
 
+
+        // 调用微信支付统一下单接口
+        String resXml = HttpUtil.postData("https://api.mch.weixin.qq.com/pay/unifiedorder", requestXML);
+        System.out.println(resXml);
+        // 解析微信支付结果
+        Map map = null;
+        try {
+            map = doXMLParse.doXMLParse(resXml);
+        } catch (JDOMException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        //返回前端生成二维码
+        Map<String, Object> resultMap = new HashMap<>();
+        String time = String.valueOf(wxPayUtil.getCurrentTimestamp());
+        resultMap.put("outTradeNo", out_trade_no);//自生成订单号
+        resultMap.put("prepayId", map.get("prepay_id"));//微信订单号
+        resultMap.put("nonceStr", nonce_str); //不重复编号
+        resultMap.put("time", time); //不重复编号
+        resultMap.put("sign", wxPayUtil.singGenerate(packageParams, (String) map.get("prepay_id"), KEY, time, nonce_str)); //签名
+        resultMap.put("key", KEY);
+        Map<String, Object> returnMap = new HashMap<>();//返回结果
+        returnMap.put("data", resultMap);
+        returnMap.put("msg", "200");
+        return returnMap;
     }
 }

+ 2 - 2
src/main/java/com/supplier/service/impl/PersonalServiceImpl.java

@@ -109,11 +109,11 @@ public class PersonalServiceImpl implements PersonalServce {
                     .setOfferNum(offerNum)
                     .setCode(code)
                     .setPayAmount(offerVal.toString())
-                    .setUuid(snowflakeUtil.nextId() + "");
+                    .setUuid(snowflakeUtil.nextId() + "")
+                    .setPayType("余额购买");
             personalMapper.addBuyOfferNum(buyOfferNum); //购买次数记录
             personalMapper.minusBalanceOf(offerVal.toString(), codeMaster);//修改金额
             personalMapper.addOfferNum(offerNum, codeMaster);//增加次数
-            System.out.println(codeMaster);
             wxPayMapper.updateBalanceChild(Double.parseDouble("0"), codeMaster);//子账号同步金额
             personalMapper.addOfferNumChild("0", codeMaster);//子账号次数同步
             map.put("msg", "200");

+ 1 - 0
src/main/resources/config/mapping/WxPayMapper.xml

@@ -285,5 +285,6 @@
                 and code = #{code}
             </if>
         </trim>
+        order by jdrq desc
     </select>
 </mapper>

+ 2 - 2
src/main/resources/config/mapping/privateOrderMapper.xml

@@ -48,7 +48,7 @@
                     </trim>
                 ) as c on b.uuid = c.demand_uuid
             LEFT JOIN sys_users as e on b.code = e.code
-            LEFT JOIN bus_travel as f on b.uuid = f.demand_uuid
+            LEFT JOIN bus_travel as f on b.uuid = f.demand_uuid and f.state_type = '1'
         WHERE
             b.uuid NOT IN (SELECT ordering_uuid FROM bus_ignore_supplier WHERE code = #{code})
             <if test="startTime != null and startTime !=''">
@@ -277,7 +277,7 @@
             JOIN ( SELECT code,uuid FROM bus_private_ordering WHERE uuid NOT IN ( SELECT demand_uuid FROM bus_private_ordering_type WHERE order_type = 9 ) ) AS a ON b.uuid = a.uuid
             JOIN ( SELECT code,uuid FROM bus_private_ordering WHERE uuid NOT IN ( SELECT demand_uuid FROM bus_private_ordering_type WHERE order_type = 10 ) ) AS d ON b.uuid = d.uuid
             LEFT JOIN sys_users as e on b.code = e.code
-            LEFT JOIN bus_travel as f on b.uuid = f.demand_uuid
+            LEFT JOIN bus_travel as f on b.uuid = f.demand_uuid and f.state_type = '1'
         WHERE
             b.uuid NOT IN (SELECT ordering_uuid FROM bus_ignore_supplier WHERE code = #{code})
             <if test="startTime != null and startTime !=''">

+ 5 - 1
src/main/resources/static/json/kor.json

@@ -133,6 +133,8 @@
   "bennianshouru": "금년수입(万)",
   "chengjiao": "거래",
   "baojiadanquanxian": "견적권한",
+  "yishangjia": "시렁",
+  "weishangjia": "다음 대",
   "xaoxitixing": "메세지알림",
   "qiehuanwenjian": "파일바꾸기",
   "quedingshangchuan": "전송등록",
@@ -207,5 +209,7 @@
   "删除": "삭제",
   "昨日": "어제",
   "上月": "전월",
-  "去年": "작년"
+  "去年": "작년",
+  "已上架": "시렁",
+  "未上架": "다음 대"
 }

+ 5 - 1
src/main/resources/static/json/zh.json

@@ -149,6 +149,8 @@
   "shangyue": "上月",
   "zuori": "昨日",
   "qunian": "去年",
+  "yishangjia": "已上架",
+  "weishangjia": "未上架",
   "quanxianfuyu": "权限赋予",
   "报价单权限余额": "报价单权限余额",
   "待回答": "待回答",
@@ -215,5 +217,7 @@
   "交通信息": "交通信息",
   "酒店名称": "酒店名称",
   "删除": "删除",
-  "权限赋予": "权限赋予"
+  "权限赋予": "权限赋予",
+  "已上架": "已上架",
+  "未上架": "未上架"
 }