Преглед на файлове

修改打印订单 修改客户表插入信息

jk-GitHub-coder преди 4 години
родител
ревизия
b88cc36f95

+ 20 - 1
YijiaRestful/src/main/java/com/platform/yijia/controller/PayController.java

@@ -555,7 +555,26 @@ public class PayController {
                             Map m = stationOilGunService.getPrinterSnByStationIdAndOilGunNo(params);
                             if(m.containsKey("printerSn") && m.get("printerSn").toString()!= null && m.get("printerSn").toString()!=""){
                                 sn = m.get("printerSn").toString();
-                                FeiEPrinterUtil.printReceipt(sn, content1 + content2);
+//                                //查询打印机的状态
+//                                JSONObject jsonPrintStatus = JSONObject.parseObject(FeiEPrinterUtil.queryPrinterStatus(sn));
+//                                if(jsonPrintStatus.getString("data").equals("\\u5728\u7ebf\\uff0c\\u5de5\\u4f5c\\u72b6\u6001\\u6b63\\u5e38\\u3002")){
+//                                    logger.info("打印机在线,工作状态正常:" + jsonPrintStatus.toString());
+                                    //开始打印
+                                    String printInfo = FeiEPrinterUtil.printReceipt(sn, content1 + content2);
+                                    JSONObject jsonObject = JSONObject.parseObject(printInfo);
+                                    if(jsonObject.getString("msg").equals("ok")){
+                                        logger.info("打印成功:" + jsonObject.toString());
+                                        //如果打印成功 添加小票数量
+                                        PayOrder p = new PayOrder();
+                                        p.setPrintCount(1);
+                                        p.setOrderNo(ordNo);
+                                        payOrderService.getUpdatePayOrder(p);
+                                    }
+//                                }else if(jsonPrintStatus.getString("data").equals("\\u79bb\\u7ebf\\u3002")){
+//                                    logger.info("打印机离线:" + jsonPrintStatus.toString());
+//                                }else if(jsonPrintStatus.getString("data").equals("\\u5728\\u7ebf\\uff0c\\u5de5\\u4f5c\\u72b6\\u6001\\u4e0d\\u6b63\\u5e38\\u3002")){
+//                                    logger.info("打印机在线,纸异常: "+jsonPrintStatus.toString());
+//                                }
                             }else {
                                 logger.info("请正确配置打印机");
                             }

+ 80 - 80
YijiaRestful/src/main/java/com/platform/yijia/service/impl/PayOrderServiceImpl.java

@@ -74,7 +74,8 @@ public class PayOrderServiceImpl implements PayOrderService {
         //payOrder.setPayDate(new Date());                        //支付时间
         payOrder.setCreatedDate(new Date());                    //创建时间
         payOrder.setOrderType(payOrderRequest.getOrderType());  //订单类型
-        //根据油站和油枪获取油枪编号和价格
+        payOrder.setOilGun(payOrderRequest.getOilGun());        //油枪号
+        //根据油站和油枪获取加油员和油品价格 油站名称
         HashMap<String, Object> params = new HashMap<>();
         params.put("oliGunNo", payOrderRequest.getOilGun());
         params.put("stationId", payOrderRequest.getStationId());
@@ -90,9 +91,6 @@ public class PayOrderServiceImpl implements PayOrderService {
             if(oilPersonnel !=""){
                 payOrder.setOilPersonnel(oilPersonnel.substring(0, oilPersonnel.length()-1));   //加油员
             }
-            if(mapResultList.get(0).containsKey("oliGunNo") && mapResultList.get(0).get("oliGunNo").toString() !="" && mapResultList.get(0).get("oliGunNo").toString() !=null ){
-                payOrder.setOilGun(mapResultList.get(0).get("oliGunNo").toString());                //存入油枪号
-            }
             if(mapResultList.get(0).containsKey("stationName") && mapResultList.get(0).get("stationName").toString() !="" && mapResultList.get(0).get("stationName").toString() !=null ){
                 payOrder.setStationName(mapResultList.get(0).get("stationName").toString());        //油站名称
             }
@@ -153,82 +151,84 @@ public class PayOrderServiceImpl implements PayOrderService {
         //返回订单号
         ordNo= payOrderList.get(0).getOrderNo();
 
-//        //向客户表中插入数据
-//        appUserInfo.setUserType(payOrderRequest.getUserType()); //用户类型
-//        if(payOrderRequest.getUserType().equals("1")){
-//            //1 是公众号
-//            appUserInfo.setBlogOpenid(payOrderRequest.getToken());
-//            customerManage.setBlogOpenid(payOrderRequest.getToken());
-//            //customerManage
-//        }else if(payOrderRequest.getUserType().equals("2")){
-//            //2是小程序
-//            appUserInfo.setMinaOpenid(payOrderRequest.getToken());
-//            customerManage.setMinaOpenid(payOrderRequest.getToken());
-//        }
-//
-//        //判断该用户是否已存在
-//        customerManage.setStationId(payOrderRequest.getStationId());
-//        //已存在用户信息 existCustomer
-//        CustomerManage existCustomer = payOrderMapper.isExistCustomer(customerManage);
-//        if(existCustomer != null){  //存在该用户时更新
-//            //判断是汽油还是柴油 用于存放在柴油 汽油 各升数 总额累积值
-//            if(payOrder.getOilType().equals("1")){
-//                //数据库使用decimal 防空处理
-//                //柴油总金额
-//                if(existCustomer.getCyAmt() ==null){
-//                    customerManage.setCyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
-//                }else{
-//                    BigDecimal sumCyAmt = existCustomer.getCyAmt().add(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
-//                    customerManage.setCyAmt(sumCyAmt);
-//                }
-//                //柴油总升数
-//                if(existCustomer.getCyLiters() ==null){
-//                    customerManage.setCyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
-//                }else{
-//                    BigDecimal sumCyLiters = existCustomer.getCyLiters().add(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
-//                    customerManage.setCyLiters(sumCyLiters);
-//                }
-//
-//            }else if(payOrder.getOilType().equals("2")) {
-//                //汽油金额
-//                if(existCustomer.getQyAmt() ==null){
-//                    customerManage.setQyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
-//                }else{
-//                    BigDecimal sumQyAmt = existCustomer.getQyAmt().add(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
-//                    customerManage.setQyAmt(sumQyAmt);
-//                }
-//                //汽油升数
-//                if(existCustomer.getQyLiters() == null){
-//                    customerManage.setQyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
-//                }else{
-//                    BigDecimal sumQyLiters = existCustomer.getQyLiters().add(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
-//                    customerManage.setQyLiters(sumQyLiters);
-//                }
-//            }
-//            payOrderMapper.updateCustomer(customerManage);
-//        }else{
-//            //不存在时从客户信息表查询插入
-//            List<AppUserInfo> userInfos = appUserInfoService.Authentication(appUserInfo);
-//            if(userInfos.size() == 1 && userInfos !=null){
-//                customerManage.setPhoneNumber(userInfos.get(0).getMobilePhone());
-//                //存入客户表用户表的id
-//                if(userInfos.get(0).getUserType().equals("1")){
-//                    customerManage.setBlogUserId(userInfos.get(0).getUserId());
-//                }else if(userInfos.get(0).getUserType().equals("2")){
-//                    customerManage.setMinaUserId(userInfos.get(0).getUserId());
-//                }
-//                customerManage.setRegtime(userInfos.get(0).getRegisteDate());   //存入注册时间
-//            }
-//            customerManage.setStationName(payOrder.getStationName());   //存入油站名称
-//            if(payOrder.getOilType().equals("1")){
-//                customerManage.setCyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
-//                customerManage.setCyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
-//            }else if(payOrder.getOilType().equals("2")) {
-//                customerManage.setQyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
-//                customerManage.setQyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
-//            }
-//            payOrderMapper.insertCustomer(customerManage);
-//        }
+        //向客户表中插入数据
+        appUserInfo.setUserType(payOrderRequest.getUserType()); //用户类型
+        if(payOrderRequest.getUserType().equals("1")){
+            //1 是公众号
+            appUserInfo.setBlogOpenid(payOrderRequest.getToken());
+            customerManage.setBlogOpenid(payOrderRequest.getToken());
+            //customerManage
+        }else if(payOrderRequest.getUserType().equals("2")){
+            //2是小程序
+            appUserInfo.setMinaOpenid(payOrderRequest.getToken());
+            customerManage.setMinaOpenid(payOrderRequest.getToken());
+        }
+
+        //判断该用户是否已存在
+        customerManage.setStationId(payOrderRequest.getStationId());
+        //已存在用户信息 existCustomer
+        CustomerManage existCustomer = payOrderMapper.isExistCustomer(customerManage);
+        if(existCustomer != null){  //存在该用户时更新
+            //判断是汽油还是柴油 用于存放在柴油 汽油 各升数 总额累积值
+            if(payOrder.getOilType().equals("1")){
+                //数据库使用decimal 防空处理
+                //柴油总金额
+                if(existCustomer.getCyAmt() ==null){
+                    customerManage.setCyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
+                }else{
+                    BigDecimal sumCyAmt = existCustomer.getCyAmt().add(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
+                    customerManage.setCyAmt(sumCyAmt);
+                }
+                //柴油总升数
+                if(existCustomer.getCyLiters() ==null){
+                    customerManage.setCyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
+                }else{
+                    BigDecimal sumCyLiters = existCustomer.getCyLiters().add(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
+                    customerManage.setCyLiters(sumCyLiters);
+                }
+
+            }else if(payOrder.getOilType().equals("2")) {
+                //汽油金额
+                if(existCustomer.getQyAmt() ==null){
+                    customerManage.setQyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
+                }else{
+                    BigDecimal sumQyAmt = existCustomer.getQyAmt().add(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
+                    customerManage.setQyAmt(sumQyAmt);
+                }
+                //汽油升数
+                if(existCustomer.getQyLiters() == null){
+                    customerManage.setQyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
+                }else{
+                    BigDecimal sumQyLiters = existCustomer.getQyLiters().add(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
+                    customerManage.setQyLiters(sumQyLiters);
+                }
+            }
+            payOrderMapper.updateCustomer(customerManage);
+        }else{
+            //不存在时从客户信息表查询插入
+            List<AppUserInfo> userInfos = appUserInfoService.Authentication(appUserInfo);
+            if(userInfos.size() == 1 && userInfos !=null){
+                customerManage.setPhoneNumber(userInfos.get(0).getMobilePhone());
+                //存入客户表用户表的id
+                if(userInfos.get(0).getUserType().equals("1")){
+                    customerManage.setBlogUserId(userInfos.get(0).getUserId());
+                }else if(userInfos.get(0).getUserType().equals("2")){
+                    customerManage.setMinaUserId(userInfos.get(0).getUserId());
+                }
+                customerManage.setRegtime(userInfos.get(0).getRegisteDate());   //存入注册时间
+            }
+            //customerManage.setPhoneNumber(payOrderRequest.getCustomerPhone());  //客户电话
+            customerManage.setStationName(payOrder.getStationName());   //存入油站名称
+            //存入柴油 汽油 金额 升数
+            if(payOrder.getOilType().equals("1")){
+                customerManage.setCyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
+                customerManage.setCyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
+            }else if(payOrder.getOilType().equals("2")) {
+                customerManage.setQyAmt(BigDecimal.valueOf(Double.valueOf(payOrderRequest.getAmt())));
+                customerManage.setQyLiters(BigDecimal.valueOf(Double.valueOf(payOrder.getOrderLiters())));
+            }
+            payOrderMapper.insertCustomer(customerManage);
+        }
         return ordNo;
     }
 

+ 15 - 5
YijiaRestful/src/main/resources/mapper/PayOrderMapper.xml

@@ -658,14 +658,24 @@
     </if>
   </update>
 
-  <!-- 更新订单状态-->
+  <!-- 更新订单-->
   <update id="updateOrderStatus" parameterType="com.platform.yijia.pojo.PayOrder">
     UPDATE
         pay_order
-    SET
-        status = #{status,jdbcType=VARCHAR},
-        received_amt = #{receivedAmt,jdbcType=DOUBLE},
-        pay_date = #{payDate,jdbcType=TIMESTAMP}
+    <set>
+        <if test="status != null">
+          status = #{status,jdbcType=VARCHAR},
+        </if>
+        <if test="receivedAmt != null">
+          received_amt = #{receivedAmt,jdbcType=DOUBLE},
+        </if>
+        <if test="payDate != null">
+          pay_date = #{payDate,jdbcType=TIMESTAMP},
+        </if>
+        <if test="printCount != null">
+          print_count = #{printCount,jdbcType=INTEGER}
+        </if>
+    </set>
     <where>
       order_no = #{orderNo,jdbcType=VARCHAR}
     </where>