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

+ 17 - 0
YijiaRestful/src/main/java/com/platform/yijia/controller/AppUserInfoController.java

@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.platform.yijia.param.request.AppUserInfoRequest;
 import com.platform.yijia.pojo.AppUserInfo;
+import com.platform.yijia.pojo.CustomerManage;
 import com.platform.yijia.service.AppUserInfoService;
+import com.platform.yijia.service.PayOrderService;
 import com.platform.yijia.utils.CodeMsg;
 import com.platform.yijia.utils.ResultData;
 import com.platform.yijia.utils.weixinapp.AesDecryptUtil;
@@ -15,6 +17,8 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -24,6 +28,8 @@ import java.util.Map;
 public class AppUserInfoController {
     private static Logger logger =(Logger) LoggerFactory.getLogger(AppUserInfoController.class);
     @Autowired
+    private PayOrderService payOrderService;
+    @Autowired
     private AppUserInfoService appUserInfoService;
     String appId = "wxe1135cd390b38a54";        //微信小程序appID
     String appSecret = "0532c7d9ae876c4ad636df0b1e3b9ddb";      //微信小程序密钥
@@ -66,6 +72,7 @@ public class AppUserInfoController {
         ResultData resultData=null;
         try{
             AppUserInfo appUserInfo =new AppUserInfo();
+            CustomerManage customerManage = new CustomerManage();
             String openId = "";     //此参数用于查询该用户是否已注册过
             //String token ="";       //用户token
             if(request.getUserType()!=null){
@@ -76,6 +83,7 @@ public class AppUserInfoController {
                     appUserInfo.setBlogToken(request.getBlogToken());
                     openId = request.getBlogOpenid();
                     appUserInfo.setBlogOpenid(openId);
+                    customerManage.setBlogOpenid(openId);
                  //2-微信小程序
                 }else if(request.getUserType().equals("2") &&StringUtils.isNotBlank(request.getMinaOpenid())){
                     appUserInfo.setUserType(request.getUserType());
@@ -83,13 +91,16 @@ public class AppUserInfoController {
                     appUserInfo.setMinaToken(request.getMinaToken());
                     openId = request.getMinaOpenid();
                     appUserInfo.setMinaOpenid(openId);
+                    customerManage.setMinaOpenid(openId);
                 }
             }
             if(StringUtils.isNotBlank(request.getBlogNickName())){
                 appUserInfo.setBlogNickName(request.getBlogNickName());
+                customerManage.setCustomerName(request.getBlogNickName());
             }
             if(StringUtils.isNotBlank(request.getMobilePhone())){
                 appUserInfo.setMobilePhone(request.getMobilePhone());
+                customerManage.setPhoneNumber(request.getMobilePhone());
             }
             if(StringUtils.isNotBlank(request.getBlogProfilePhoto())){
                 appUserInfo.setBlogProfilePhoto(request.getBlogProfilePhoto());
@@ -97,6 +108,7 @@ public class AppUserInfoController {
 
             appUserInfo.setRegisteDate(new Date());
             appUserInfo.setUpdateDate(new Date());
+            //customerManage.setRegtime(appUserInfo.getRegisteDate());
 
             if(StringUtils.isNotBlank(request.getSexFlag())){
                 appUserInfo.setSexFlag(request.getSexFlag());
@@ -112,6 +124,11 @@ public class AppUserInfoController {
                 resultData = ResultData.error(CodeMsg.USER_EXSIST);
             }else {
                 appUserInfoService.AddAppUserInfo(appUserInfo);
+                //向客户表中插入数据 判断该客户是否存在
+                CustomerManage existCustomer = payOrderService.isExistCustomer(customerManage);
+                if(existCustomer ==null){
+                    payOrderService.insertCustomer(customerManage);
+                }
                 resultData = ResultData.success(CodeMsg.SUCCESS);
             }
         }catch (Exception e){

+ 34 - 9
YijiaRestful/src/main/java/com/platform/yijia/controller/CustomerGradeController.java

@@ -1,15 +1,15 @@
 package com.platform.yijia.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.platform.yijia.service.CustomerGradeServices;
 import com.platform.yijia.utils.CodeMsg;
 import com.platform.yijia.utils.ResultData;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.HashMap;
@@ -22,11 +22,15 @@ import java.util.Map;
 @Controller
 @RequestMapping("/api")
 public class CustomerGradeController {
-
+    private static Logger logger =(Logger) LoggerFactory.getLogger(CustomerGradeController.class);
     @Resource
     private CustomerGradeServices customerGradeServices;
 
-    //查询直降客户等级条件和优惠
+    /*
+     * 查询直降客户等级条件和优惠
+     * @param stationId
+     * @return
+     */
     @RequestMapping(value = "/getCustomerGradeList", method = RequestMethod.GET)
     @ResponseBody
     public String getCustomerGradeList(@RequestParam("stationId") String stationId){
@@ -42,6 +46,30 @@ public class CustomerGradeController {
         return gson.toJson(resultData);
     }
 
+    /*
+     * 查询客户等级信息
+     * @param jsonObject
+     * @return
+     */
+    @RequestMapping(value = "/getCustomerGradeInfo", method = RequestMethod.POST)
+    @ResponseBody
+    public List<Map<String, Object>> getCustomerGradeInfo(@RequestBody JSONObject jsonObject){
+        Map<String, Object> params = new HashMap<>();
+        params.put("mobilePhone", jsonObject.get("mobilePhone"));
+        params.put("stationId", jsonObject.get("stationId"));
+        params.put("userType", jsonObject.get("userType"));
+        switch (jsonObject.get("userType").toString()){
+            case "1":
+                params.put("blogOpenid", jsonObject.get("openId").toString());
+                break;
+            case "2":
+                params.put("minaOpenid", jsonObject.get("openId").toString());
+                break;
+        }
+        logger.info("查询客户等级所传参数:"+params.toString());
+        return customerGradeServices.getCustomerGradeInfo(params);
+    }
+
     // 营销:立减方案
     @RequestMapping("/getmarkertPlanList")
     @ResponseBody
@@ -49,7 +77,4 @@ public class CustomerGradeController {
         return customerGradeServices.getMarkertPlanListByDiscountPlanType();
     }
 
-
-
-
 }

+ 76 - 28
YijiaRestful/src/main/java/com/platform/yijia/controller/PayController.java

@@ -527,39 +527,87 @@ public class PayController {
                                     customerManage.setRegtime(blogRegTime);
                                 }
                             }
-                            customerManage.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));    //油站ID
-                            customerManage.setOilName(infoMap.get("oilName").toString());    //油品名称
-                            customerManage.setStationName(infoMap.get("stationName").toString());   //存入油站名称
-                            //已存在用户信息 existCustomer
-                            CustomerManage existCustomer = payOrderService.isExistCustomer(customerManage);
-                            logger.info("查询出客户是否存在数据 null 表示没有" + existCustomer);
-                            //判断该用户是否已存在
-                            if(existCustomer != null){  //存在该用户时更新
-                                //此处if放null处理
-                                if(existCustomer.getAmt() !=null){
-                                    //存入金额 累加原来金额
-                                    customerManage.setAmt(existCustomer.getAmt().add(BigDecimal.valueOf((Double) infoMap.get("amt"))));
-                                }else {
-                                    customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));
-                                }
-
-                                if(existCustomer.getLiters() !=null){
-                                    //存入升数 累加原来升数
-                                    customerManage.setLiters(existCustomer.getLiters().add(BigDecimal.valueOf((Double) infoMap.get("orderLiters"))));
-                                }else {
-                                    customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));
-                                }
-                                logger.info("存在客户 更新时手机号参数: " + customerManage.getPhoneNumber());
-                                //存在 更新
-                                payOrderService.updateCustomer(customerManage);
-                            }else{
+                            //第一次判断用户是否存在原因:用户新登录时在向客户表中插入数据时没有油品名称 油站ID 只有手机号
+                            CustomerManage existCustomerNoOilName = payOrderService.isExistCustomer(customerManage);
+                            if(existCustomerNoOilName !=null && existCustomerNoOilName.getOilName() == null){
+                                customerManage.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));    //油站ID
+                                customerManage.setOilName(infoMap.get("oilName").toString());    //油品名称
+                                customerManage.setStationName(infoMap.get("stationName").toString());   //存入油站名称
                                 customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));    //存入金额
                                 customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));    //存入升数
                                 //不存在 新增
-                                logger.info("不存在客户 新增时参数: " + customerManage.toString());
-                                payOrderService.insertCustomer(customerManage);
+                                //logger.info("不存在客户 新增时参数: " + customerManage.toString());
+                                //只根据手机号更新
+                                payOrderService.updateCustomerByPhoneNumber(customerManage);
+                            }else{
+                                customerManage.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));    //油站ID
+                                customerManage.setOilName(infoMap.get("oilName").toString());    //油品名称
+                                customerManage.setStationName(infoMap.get("stationName").toString());   //存入油站名称
+                                //第二次判断用户是否存在原因:已存在客户信息 此时用户已下过订单 存在油品名称 油站ID
+                                CustomerManage existCustomer = payOrderService.isExistCustomer(customerManage);
+                                logger.info("查询出客户是否存在数据 null 表示没有" + existCustomer);
+                                //判断该用户是否已存在
+                                if(existCustomer != null){  //存在该用户时更新
+                                    //此处if放null处理
+                                    if(existCustomer.getAmt() !=null){
+                                        //存入金额 累加原来金额
+                                        customerManage.setAmt(existCustomer.getAmt().add(BigDecimal.valueOf((Double) infoMap.get("amt"))));
+                                    }else {
+                                        customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));
+                                    }
+
+                                    if(existCustomer.getLiters() !=null){
+                                        //存入升数 累加原来升数
+                                        customerManage.setLiters(existCustomer.getLiters().add(BigDecimal.valueOf((Double) infoMap.get("orderLiters"))));
+                                    }else {
+                                        customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));
+                                    }
+                                    logger.info("存在客户 更新时手机号参数: " + customerManage.getPhoneNumber());
+                                    //存在 更新
+                                    payOrderService.updateCustomer(customerManage);
+                                }else{
+                                    customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));    //存入金额
+                                    customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));    //存入升数
+                                    //不存在 新增
+                                    logger.info("不存在客户 新增时参数: " + customerManage.toString());
+                                    payOrderService.insertCustomer(customerManage);
+                                }
+
                             }
 
+//                            customerManage.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));    //油站ID
+//                            customerManage.setOilName(infoMap.get("oilName").toString());    //油品名称
+//                            customerManage.setStationName(infoMap.get("stationName").toString());   //存入油站名称
+//                            //已存在用户信息 existCustomer
+//                            CustomerManage existCustomer = payOrderService.isExistCustomer(customerManage);
+//                            logger.info("查询出客户是否存在数据 null 表示没有" + existCustomer);
+//                            //判断该用户是否已存在
+//                            if(existCustomer != null){  //存在该用户时更新
+//                                //此处if放null处理
+//                                if(existCustomer.getAmt() !=null){
+//                                    //存入金额 累加原来金额
+//                                    customerManage.setAmt(existCustomer.getAmt().add(BigDecimal.valueOf((Double) infoMap.get("amt"))));
+//                                }else {
+//                                    customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));
+//                                }
+//
+//                                if(existCustomer.getLiters() !=null){
+//                                    //存入升数 累加原来升数
+//                                    customerManage.setLiters(existCustomer.getLiters().add(BigDecimal.valueOf((Double) infoMap.get("orderLiters"))));
+//                                }else {
+//                                    customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));
+//                                }
+//                                logger.info("存在客户 更新时手机号参数: " + customerManage.getPhoneNumber());
+//                                //存在 更新
+//                                payOrderService.updateCustomer(customerManage);
+//                            }else{
+//                                customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));    //存入金额
+//                                customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));    //存入升数
+//                                //不存在 新增
+//                                logger.info("不存在客户 新增时参数: " + customerManage.toString());
+//                                payOrderService.insertCustomer(customerManage);
+//                            }
+
                             //打印机打印小票
                             String content1;
                             String content2;

+ 8 - 1
YijiaRestful/src/main/java/com/platform/yijia/controller/PayOrderController.java

@@ -50,7 +50,14 @@ public class PayOrderController {
             payOrder.setConsumerId(appUserInfoList.get(0).getUserId()); //用户id
             //添加订单信息,返回订单号
             String ordNo =payOrderService.AddPayOrderInfo(payOrderRequest, payOrder);
-            resultData=ResultData.success(ordNo);
+            if(ordNo.equals("0")){
+                resultData=ResultData.error(CodeMsg.CHECK_DATA);
+            }else if(ordNo.equals("1")){
+                resultData=ResultData.error(CodeMsg.PARAMS_NUll);
+            }else {
+                resultData=ResultData.success(ordNo);
+            }
+
         }else{
             //登录人验证失败
             resultData=ResultData.error(CodeMsg.USER_NOT_EXSIST);

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/dao/CustomerGradeMapper.java

@@ -8,6 +8,9 @@ public interface CustomerGradeMapper {
     //查询直降
     List<Map> getCustomerGradeList(Map map);
 
+    //获取客户等级信息
+    List<Map<String, Object>> getCustomerGradeInfo(Map map);
+
     //营销 立减
     List<Map> getMarkertPlanListByDiscountPlanType();
 }

+ 6 - 0
YijiaRestful/src/main/java/com/platform/yijia/dao/PayOrderMapper.java

@@ -45,6 +45,12 @@ public interface PayOrderMapper {
     void insertCustomer(CustomerManage customerManage);
 
     /*
+     *  根据手机号更新客户表
+     * @param customerManage
+     */
+    void updateCustomerByPhoneNumber(CustomerManage customerManage);
+
+    /*
      *  生成订单时更新客户表
      * @param customerManage
      * @return

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/CustomerGradeServices.java

@@ -11,6 +11,9 @@ public interface CustomerGradeServices {
     //查询直降方式
     List<Map> getCustomerGradeList(Map map);
 
+    //获取客户等级信息
+    List<Map<String, Object>> getCustomerGradeInfo(Map map);
+
     //立减
     List<Map> getMarkertPlanListByDiscountPlanType();
 

+ 6 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/PayOrderService.java

@@ -51,4 +51,10 @@ public interface PayOrderService {
 
     //插入客户表
     void insertCustomer(CustomerManage customerManage);
+
+    /*
+     *  根据手机号更新客户表
+     * @param customerManage
+     */
+    void updateCustomerByPhoneNumber(CustomerManage customerManage);
 }

+ 7 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/impl/CustomerGradeServiceImpl.java

@@ -14,12 +14,19 @@ public class CustomerGradeServiceImpl implements CustomerGradeServices {
     @Resource
     private CustomerGradeMapper customerGradeMapper;
 
+
     //查询直降
     @Override
     public List<Map> getCustomerGradeList(Map map) {
         return customerGradeMapper.getCustomerGradeList(map);
     }
 
+    //查询客户等级信息
+    @Override
+    public List<Map<String, Object>> getCustomerGradeInfo(Map map) {
+        return customerGradeMapper.getCustomerGradeInfo(map);
+    }
+
     //营销立减
     @Override
     public List<Map> getMarkertPlanListByDiscountPlanType() {

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

@@ -1,5 +1,6 @@
 package com.platform.yijia.service.impl;
 
+import com.platform.yijia.dao.CustomerGradeMapper;
 import com.platform.yijia.dao.PayOrderMapper;
 import com.platform.yijia.param.request.PayOrderRequest;
 import com.platform.yijia.pojo.AppUserInfo;
@@ -24,6 +25,8 @@ import java.util.*;
 @Service("payOrderService")
 public class PayOrderServiceImpl implements PayOrderService {
     @Resource
+    private CustomerGradeMapper customerGradeMapper;
+    @Resource
     private PayOrderMapper payOrderMapper;
     @Resource
     private AppUserInfoService appUserInfoService;
@@ -47,7 +50,6 @@ public class PayOrderServiceImpl implements PayOrderService {
         //System.out.println("随机生成6位数result :"+result);
         String ordNo=System.nanoTime()+result;
         payOrder.setOrderNo(ordNo);
-        payOrder.setDiscountAmt(payOrderRequest.getDiscountAmt());  //优惠金额
         payOrder.setDiscountCouponAmt(payOrderRequest.getDiscountCouponAmt());  //优惠劵金额
         payOrder.setDiscountCoupon(payOrderRequest.getDiscountCoupon());        //优惠券
         payOrder.setCarNo(payOrderRequest.getCarNo());  //车牌号、
@@ -56,16 +58,16 @@ public class PayOrderServiceImpl implements PayOrderService {
         payOrder.setMemberAmt(payOrderRequest.getMemberAmt());    //会员支付金额
         payOrder.setPrintCount(payOrderRequest.getPrintCount());    //小票数量
         payOrder.setScore(payOrderRequest.getScore());      //积分
-        payOrder.setAmt(Double.valueOf(payOrderRequest.getAmt()));   //实收金额
         payOrder.setStationId(payOrderRequest.getStationId());  //油站id
         payOrder.setStatus("0");         //创建订单 未支付状态 0
-        payOrder.setPayType("sxf");      //支付类型
         if(StringUtils.isNotBlank(payOrderRequest.getUserType())&& payOrderRequest.getUserType().equals("1")){
             payOrder.setPayWay("02");        //支付方式:02公众号,03小程序',
             payOrder.setWxAmt(Double.valueOf(payOrderRequest.getAmt()));    //微信支付金额
+            payOrder.setPayType("wx");      //支付类型
         }else if(StringUtils.isNotBlank(payOrderRequest.getUserType())&& payOrderRequest.getUserType().equals("2")){
             payOrder.setPayWay("03");
             payOrder.setWxAmt(Double.valueOf(payOrderRequest.getAmt()));    //微信支付金额
+            payOrder.setPayType("wx");      //支付类型
         }
         payOrder.setCreatedDate(new Date());                    //创建时间
         payOrder.setOrderType(payOrderRequest.getOrderType());  //订单类型
@@ -96,43 +98,74 @@ public class PayOrderServiceImpl implements PayOrderService {
         payOrder.setReceivableAmt(receivableAmt);
         Double oilPrice = payOrderRequest.getOilPrice();            //获取油价
         payOrder.setOilPirce(String.valueOf(oilPrice));
-        //计算加油升数
+
+        Double oilLitersCheck= null;    //加油升数校验
         if(receivableAmt != null && oilPrice != null){
-            payOrder.setOrderLiters(recKonOrderLiters(String.valueOf(receivableAmt), String.valueOf(oilPrice), 2));
-        }
-        String oilName = payOrderRequest.getOilName();
-        payOrder.setOilName(oilName);      //油品名称
-        //根据油品名称存储油品类型 1.柴油 2 汽油
-        switch (oilName){
-            case "92#":
-                payOrder.setOilType("2");
-                break;
-            case "95#":
-                payOrder.setOilType("2");
-                break;
-            case "97#":
-                payOrder.setOilType("2");
-                break;
-            case "0#":
-                payOrder.setOilType("1");
-                break;
-            case "-10#":
-                payOrder.setOilType("1");
-                break;
-            case "-20#":
-                payOrder.setOilType("1");
-                break;
+            //计算加油升数
+            oilLitersCheck = recKonOrderLiters(receivableAmt, oilPrice, 2);
+            payOrder.setOrderLiters(String.valueOf(oilLitersCheck));
+
+            //获取该油站的某个油品的优惠方案用作校验前台传来数据 要校验字段:实收金额 优惠金额
+            params.put("oilName", payOrderRequest.getOilName());
+            List<Map> gradeList = customerGradeMapper.getCustomerGradeList(params);
+            Double amtCheck =null;      //后台实收金额
+            Double discountAmtCheck = null;     //后台优惠金额
+            if(gradeList !=null && gradeList.size()== 1){
+                //如果优惠方式是直降
+                if(gradeList.get(0).get("discountWay").toString().equals("直降")){
+                    if(gradeList.get(0).containsKey("gasoilDiscountLitre") && gradeList.get(0).get("gasoilDiscountLitre") !=null){
+                        //优惠金额 = 每升优惠价格 x 油升数
+                        discountAmtCheck = new BigDecimal(Double.valueOf(gradeList.get(0).get("gasoilDiscountLitre").toString())).multiply(new BigDecimal(oilLitersCheck)).doubleValue();
+                        // 实收金额 = 应收金额 - 优惠金额
+                        amtCheck = receivableAmt - discountAmtCheck;
+                    }
+                }
+            }
+
+            //实收金额 优惠金额
+            if (amtCheck.equals(Double.valueOf(payOrderRequest.getAmt()))  && discountAmtCheck.equals(Double.valueOf(payOrderRequest.getDiscountAmt()))){
+                payOrder.setAmt(Double.valueOf(payOrderRequest.getAmt()));
+                payOrder.setDiscountAmt(payOrderRequest.getDiscountAmt());
+                String oilName = payOrderRequest.getOilName();
+                payOrder.setOilName(oilName);      //油品名称
+                //根据油品名称存储油品类型 1.柴油 2 汽油
+                switch (oilName){
+                    case "92#":
+                        payOrder.setOilType("2");
+                        break;
+                    case "95#":
+                        payOrder.setOilType("2");
+                        break;
+                    case "97#":
+                        payOrder.setOilType("2");
+                        break;
+                    case "0#":
+                        payOrder.setOilType("1");
+                        break;
+                    case "-10#":
+                        payOrder.setOilType("1");
+                        break;
+                    case "-20#":
+                        payOrder.setOilType("1");
+                        break;
+                }
+                //数据落地
+                payOrderMapper.insertSelective(payOrder);
+                //根据订单号查询出订单
+                PayOrderExample example=new PayOrderExample();
+                example.or().andOrderNoEqualTo(ordNo);
+                //根据订单号查询返回列表,最好是返回对象
+                List<PayOrder> payOrderList= payOrderMapper.selectByExample(example);
+                //返回订单号
+                ordNo= payOrderList.get(0).getOrderNo();
+                return ordNo;
+            }else {
+                return "0";
+            }
+        }else {
+            return "1";
         }
-        //数据落地
-        payOrderMapper.insertSelective(payOrder);
-        //根据订单号查询出订单
-        PayOrderExample example=new PayOrderExample();
-        example.or().andOrderNoEqualTo(ordNo);
-        //根据订单号查询返回列表,最好是返回对象
-        List<PayOrder> payOrderList= payOrderMapper.selectByExample(example);
-        //返回订单号
-        ordNo= payOrderList.get(0).getOrderNo();
-        return ordNo;
+
     }
 
     /*
@@ -142,8 +175,8 @@ public class PayOrderServiceImpl implements PayOrderService {
      * @param scale 保留小数位数
      * @return String
      */
-    public String recKonOrderLiters(String str1, String str2, int scale){
-        return  String.valueOf(new BigDecimal(str1).divide(new BigDecimal(str2), scale, BigDecimal.ROUND_HALF_UP).doubleValue());
+    public Double recKonOrderLiters(Double str1, Double str2, int scale){
+        return  new BigDecimal(str1).divide(new BigDecimal(str2), scale, BigDecimal.ROUND_HALF_UP).doubleValue();
     }
 
     /*
@@ -246,4 +279,13 @@ public class PayOrderServiceImpl implements PayOrderService {
     public void insertCustomer(CustomerManage customerManage) {
         payOrderMapper.insertCustomer(customerManage);
     }
+
+    /*
+     *  根据手机号更新
+     * @param customerManage
+     */
+    @Override
+    public void updateCustomerByPhoneNumber(CustomerManage customerManage) {
+        payOrderMapper.updateCustomerByPhoneNumber(customerManage);
+    }
 }

+ 2 - 0
YijiaRestful/src/main/java/com/platform/yijia/utils/CodeMsg.java

@@ -17,6 +17,8 @@ public class CodeMsg {
     public static CodeMsg REQUEST_FAIL = new CodeMsg(005,"传参失败");
     public static CodeMsg YEWU_FAIL = new CodeMsg(006,"业务失败");
 
+    public static CodeMsg CHECK_DATA = new CodeMsg(007,"与后台检验不一致,请联系……");
+    public static CodeMsg PARAMS_NUll = new CodeMsg(010,"请求失败,参数缺失");
     private CodeMsg(int retCode, String message) {
         this.retCode = retCode;
         this.message = message;

+ 39 - 0
YijiaRestful/src/main/resources/mapper/CustomerGradeMapper.xml

@@ -19,9 +19,48 @@
       <if test="stationId != null and stationId != ''">
           station_id = #{stationId}
       </if>
+        <if test="oilName != null and oilName != ''">
+            AND oil_name = #{oilName}
+        </if>
     </where>
   </select>
 
+    <!--查询客户等级信息-->
+    <select id="getCustomerGradeInfo" parameterType="map" resultType="map">
+        SELECT
+            T2.station_name			    AS stationName,
+            T2.liters 			        AS liters,
+            T2.amt					    AS amt,
+            T2.member_grade			    AS memberGradeId,
+            T3.grade					AS grade,
+            T3.discount_way             AS discountWay,
+            T3.oil_name                 AS oilName,
+            T3.gasoil_discount_litre    AS gasoilDiscountLitre,
+            T3.member_condit            AS memberCondit
+        FROM
+            app_user_info 					AS T1
+        LEFT JOIN customer_manage 			AS T2   ON T1.mobile_phone = T2.phone_number
+        LEFT JOIN customer_grade_setting 	AS T3   ON T2.member_grade = T3.id
+        <where>
+            <if test="mobilePhone != null and mobilePhone !=''">
+                T1.mobile_phone = #{mobilePhone}
+            </if>
+            <if test="userType != null and userType !=''">
+                AND T1.user_type = #{userType}
+            </if>
+            <if test="stationId != null and stationId != ''">
+                AND T2.station_id = #{stationId}
+            </if>
+            <if test="blogOpenid != null and blogOpenid != ''">
+                AND T1.blog_openid = #{blogOpenid}
+            </if>
+            <if test="minaOpenid != null and minaOpenid != ''">
+                AND T1.mina_openid = #{minaOpenid}
+            </if>
+        </where>
+    </select>
+
+
     <!-- 营销立减-->
     <select id="getMarkertPlanListByDiscountPlanType"  resultType="map">
         SELECT

+ 48 - 4
YijiaRestful/src/main/resources/mapper/PayOrderMapper.xml

@@ -798,11 +798,11 @@
     FROM
         customer_manage
     <where>
-      <if test="stationId !=null and stationId !='' ">
-         station_id = #{stationId}
-      </if>
       <if test="phoneNumber !=null and phoneNumber !='' ">
-        AND phone_number = #{phoneNumber}
+         phone_number = #{phoneNumber}
+      </if>
+      <if test="stationId !=null and stationId !='' ">
+        AND station_id = #{stationId}
       </if>
       <if test="oilName !=null and oilName !='' ">
         AND oil_name = #{oilName}
@@ -810,6 +810,50 @@
     </where>
   </select>
 
+  <!-- 根据手机号更新客户表 -->
+  <update id="updateCustomerByPhoneNumber" parameterType="com.platform.yijia.pojo.CustomerManage">
+    UPDATE
+        customer_manage
+    <set>
+      <if test="customerName !=null ">
+        customer_name = #{customerName},
+      </if>
+      <if test="phoneNumber !=null ">
+        phone_number = #{phoneNumber},
+      </if>
+      <if test="regtime !=null ">
+        regtime = #{regtime},
+      </if>
+      <if test="stationName !=null ">
+        station_name = #{stationName},
+      </if>
+      <if test="stationId !=null ">
+        station_id = #{stationId},
+      </if>
+      <if test="blogUserId !=null ">
+        blog_user_id = #{blogUserId},
+      </if>
+      <if test="minaUserId !=null ">
+        mina_user_id = #{minaUserId},
+      </if>
+      <if test="oilName !=null ">
+        oil_name = #{oilName},
+      </if>
+      <if test="liters !=null ">
+        liters = #{liters},
+      </if>
+      <if test="amt !=null ">
+        amt = #{amt},
+      </if>
+    </set>
+    <where>
+      <if test="phoneNumber !=null and phoneNumber !='' ">
+        phone_number = #{phoneNumber}
+      </if>
+    </where>
+  </update>
+
+
   <!-- 更新客户表 -->
   <update id="updateCustomer" parameterType="com.platform.yijia.pojo.CustomerManage">
     UPDATE