| 
					
				 | 
			
			
				@@ -552,123 +552,8 @@ public class PayController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         logger.info("根据订单查询用户手机号等信息infoMap"+ infoMap.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //手机号必须有 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if(infoMap != null && infoMap.containsKey("mobilePhone") && infoMap.get("mobilePhone") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //存放客户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            CustomerManage customerManage = new CustomerManage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //存放查询用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            AppUserInfo appUserInfo = new AppUserInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            appUserInfo.setMobilePhone(infoMap.get("mobilePhone").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //从客户信息表查询数据用于插入客户表 使用List原因:app_user_info存在小程序和公众号两种信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            List<AppUserInfo> appUserInfoList = payOrderService.getUserInfoByOpenId(appUserInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            Date blogRegTime = null;    //公众号注册时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            Date minaRegTime = null;    //小程序注册时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(appUserInfoList != null && appUserInfoList.size() >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                for(AppUserInfo u : appUserInfoList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    //向客户表插入小程序和公众号的openId 用户表ID 用户手机号 注册时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    if(u.getUnionId() !=null && u.getUnionId() !=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        customerManage.setUnionId(u.getUnionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    switch (u.getUserType()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        case "1": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setBlogOpenid(u.getBlogOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setBlogUserId(u.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setPhoneNumber(u.getMobilePhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setCustomerName(u.getBlogNickName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            blogRegTime =u.getRegisteDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        case "2": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setMinaOpenid(u.getMinaOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setMinaUserId(u.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setPhoneNumber(u.getMobilePhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setCustomerName(u.getBlogNickName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            minaRegTime = u.getRegisteDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //判断公众号和小程序时间取最早的时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(blogRegTime !=null && minaRegTime != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    if(blogRegTime.compareTo(minaRegTime) >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        customerManage.setRegtime(minaRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    }else if(blogRegTime.compareTo(minaRegTime) <0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        customerManage.setRegtime(blogRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    }else if(blogRegTime.compareTo(minaRegTime) ==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        //相等时随便取一个 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        customerManage.setRegtime(minaRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                }else if(blogRegTime == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    customerManage.setRegtime(minaRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                }else if(minaRegTime == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //获取该油站的优惠方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String discountPlanType = stationService.getStationDiscountWay(infoMap.get("stationId").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            logger.info("油站优惠方式:"+discountPlanType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //判断该用户是否已存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            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(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(discountPlanType !=null && discountPlanType.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    //直降时存入等级名称和等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    List<Map> customerGradeInfo = customerGradeServices.getCustomerGradeList(infoMap);  //直降 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    logger.info("该站直降等级信息:"+ customerGradeInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    for (Map m: customerGradeInfo){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        if(Double.valueOf(customerManage.getAmt().toString()) >= Double.valueOf(m.get("memberConditStart").toString()) && Double.valueOf(customerManage.getAmt().toString()) < Double.valueOf(m.get("memberConditEnd").toString())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setGrade(m.get("grade").toString());     //存入等级名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            customerManage.setMemberGrade(m.get("id").toString());     //存入等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    logger.info("直降等级信息是否存入客户表:"+ "直降ID:"+ customerManage.getMemberGrade()+ "直降名称: "+customerManage.getGrade()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //存在 更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                payOrderService.updateCustomer(customerManage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //该客户不存在时插入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(discountPlanType !=null && discountPlanType.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    //直降时存入等级名称和等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    List<Map> customerGradeInfo = customerGradeServices.getCustomerGradeList(infoMap);  //直降 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    logger.info("该站直降等级信息:"+ customerGradeInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    if(customerGradeInfo !=null && customerGradeInfo.size() >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        customerManage.setGrade(customerGradeInfo.get(0).get("grade").toString());     //存入等级名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        customerManage.setMemberGrade(customerGradeInfo.get(0).get("id").toString());     //存入等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    logger.info("直降等级信息是否存入客户表:"+ "直降ID:"+ customerManage.getMemberGrade()+ "直降名称: "+customerManage.getGrade()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));    //存入金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));    //存入升数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //不存在 新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                logger.info("不存在客户 新增时参数: " + customerManage.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                payOrderService.insertCustomer(customerManage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//==========================================================================================================================================================// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //插入客户积分返回要插入客户的信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            CustomerManage customerManage = insertCustomerManage(infoMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //计算积分并推送 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             CalculateIntegral calculateIntegral = new CalculateIntegral(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             calculateIntegral.setOpenId(infoMap.get("minaOpenid").toString()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -684,153 +569,8 @@ public class PayController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             calculateIntegral.setReceivableAmt(new BigDecimal(infoMap.get("receivableAmt").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //计算积分并推送 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             this.calculateIntegralAndPushIntegral(calculateIntegral, customerManage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-///========================================================================================================================================================// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //打印机打印小票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String content1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String content2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String orderNoP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String createdDateP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String stationNameP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String oilNameP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String orderLitersP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String oilPirceP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String receivableAmtP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String discountAmtP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String amtP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String mobilePhoneP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String payWayP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            String sn;  //打印机编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(StringUtils.isNotBlank(infoMap.get("orderNo").toString())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                orderNoP =infoMap.get("orderNo").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("createdDate") && infoMap.get("createdDate") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //格式化日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                createdDateP =sdf.format(infoMap.get("createdDate")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("stationName") && infoMap.get("stationName") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                stationNameP =infoMap.get("stationName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("oilName") && infoMap.get("oilName") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                oilNameP =infoMap.get("oilName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //加油升数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if (infoMap.containsKey("orderLiters") && infoMap.get("orderLiters") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    orderLitersP = infoMap.get("orderLiters") + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //油价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if (infoMap.containsKey("oilPirce") && infoMap.get("oilPirce") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    oilPirceP = infoMap.get("oilPirce") + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(infoMap.containsKey("discountAmt") && infoMap.get("discountAmt") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    discountAmtP =infoMap.get("discountAmt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }else if(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                orderLitersP ="0.00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                oilPirceP = "0.00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                discountAmtP ="0.00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                receivableAmtP=infoMap.get("amt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("receivableAmt") && infoMap.get("receivableAmt") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                receivableAmtP =infoMap.get("receivableAmt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("amt") && infoMap.get("amt") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                amtP =infoMap.get("amt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("mobilePhone") && infoMap.get("mobilePhone") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                String phone =infoMap.get("mobilePhone")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                //手机号中间四位****代替 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                mobilePhoneP = phone.substring(0, 3) + "****" + phone.substring(7, phone.length()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("payWay") && infoMap.get("payWay") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(infoMap.get("payWay").equals("02") || infoMap.get("payWay").equals("03")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    payWayP ="微信"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 = "<CB>支付小票--顾客联</CB><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "订单号:"+orderNoP+"  <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "时间:"+createdDateP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "油站:"+stationNameP+"  <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content1 += "油品: "+oilNameP+"  <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content1 += "油量: "+orderLitersP+"  升<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content1 += "单价: "+oilPirceP+" L/元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "<BOLD><B>原价: "+receivableAmtP+" 元</B></BOLD><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content1 += "优惠: "+discountAmtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "支付: "+amtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "支付方式: "+payWayP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //content1 += "--------------------------------<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content1 += "<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 = "<CB>支付小票--商户联</CB><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "订单号:"+orderNoP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "时间:"+createdDateP+"<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "油站:"+stationNameP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content2 += "油品: "+oilNameP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content2 += "油量: "+orderLitersP+" 升<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content2 += "单价: "+oilPirceP+" L/元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "<BOLD><B>原价: "+receivableAmtP+" 元</B></BOLD><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                content2 += "优惠: "+discountAmtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "支付: "+amtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "手机号: "+mobilePhoneP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "支付方式: "+payWayP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            content2 += "<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //获取打印机编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //sn = "921611605";     //测试打印机 sn:921611605 key:72338zma 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            Map params  =new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            params.put("stationId", infoMap.get("stationId").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            params.put("oilGunNo", infoMap.get("oilGun").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            Map m = stationOilGunService.getPrinterSnByStationIdAndOilGunNo(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if(m !=null && m.containsKey("printerSn") && m.get("printerSn").toString()!= null && m.get("printerSn").toString()!=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                sn = m.get("printerSn").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                                //查询打印机的状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                                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="";    //打印信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(m.containsKey("printSetting") && m.get("printSetting").toString()!= null && m.get("printSetting").toString()!=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    switch (m.get("printSetting").toString()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        case "1":   //1 客户联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            printInfo = FeiEPrinterUtil.printReceipt(sn, content1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        case "2":   //2 商户联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            printInfo = FeiEPrinterUtil.printReceipt(sn, content2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        case "3":   //3商户联和客户联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            printInfo = FeiEPrinterUtil.printReceipt(sn, content1 + content2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                JSONObject jsonObject = JSONObject.parseObject(printInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if(jsonObject != null && 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("请正确配置打印机"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //打印小票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            this.printReceipt(infoMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             logger.info("该用户无手机号!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -844,6 +584,264 @@ public class PayController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /*** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 插入客户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param infoMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public CustomerManage insertCustomerManage(Map infoMap){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CustomerManage customerManage = new CustomerManage();   //存放客户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AppUserInfo appUserInfo = new AppUserInfo();    //存放查询用户信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        appUserInfo.setMobilePhone(infoMap.get("mobilePhone").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //从客户信息表查询数据用于插入客户表 使用List原因:app_user_info存在小程序和公众号两种信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<AppUserInfo> appUserInfoList = payOrderService.getUserInfoByOpenId(appUserInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date blogRegTime = null;    //公众号注册时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date minaRegTime = null;    //小程序注册时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(appUserInfoList != null && appUserInfoList.size() >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(AppUserInfo u : appUserInfoList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //向客户表插入小程序和公众号的openId 用户表ID 用户手机号 注册时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(u.getUnionId() !=null && u.getUnionId() !=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerManage.setUnionId(u.getUnionId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                switch (u.getUserType()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    case "1": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setBlogOpenid(u.getBlogOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setBlogUserId(u.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setPhoneNumber(u.getMobilePhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setCustomerName(u.getBlogNickName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        blogRegTime =u.getRegisteDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    case "2": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setMinaOpenid(u.getMinaOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setMinaUserId(u.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setPhoneNumber(u.getMobilePhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setCustomerName(u.getBlogNickName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        minaRegTime = u.getRegisteDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //判断公众号和小程序时间取最早的时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(blogRegTime !=null && minaRegTime != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(blogRegTime.compareTo(minaRegTime) >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerManage.setRegtime(minaRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(blogRegTime.compareTo(minaRegTime) <0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerManage.setRegtime(blogRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(blogRegTime.compareTo(minaRegTime) ==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //相等时随便取一个 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerManage.setRegtime(minaRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else if(blogRegTime == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerManage.setRegtime(minaRegTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else if(minaRegTime == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取该油站的优惠方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String discountPlanType = stationService.getStationDiscountWay(infoMap.get("stationId").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info("油站优惠方式:"+discountPlanType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //判断该用户是否已存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(existCustomer != 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(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(discountPlanType !=null && discountPlanType.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //直降时存入等级名称和等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<Map> customerGradeInfo = customerGradeServices.getCustomerGradeList(infoMap);  //直降 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("该站直降等级信息:"+ customerGradeInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (Map m: customerGradeInfo){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(Double.valueOf(customerManage.getAmt().toString()) >= Double.valueOf(m.get("memberConditStart").toString()) && Double.valueOf(customerManage.getAmt().toString()) < Double.valueOf(m.get("memberConditEnd").toString())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setGrade(m.get("grade").toString());     //存入等级名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        customerManage.setMemberGrade(m.get("id").toString());     //存入等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("直降等级信息是否存入客户表:"+ "直降ID:"+ customerManage.getMemberGrade()+ "直降名称: "+customerManage.getGrade()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            payOrderService.updateCustomer(customerManage); //存在 更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{  //该客户不存在时插入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(discountPlanType !=null && discountPlanType.equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //直降时存入等级名称和等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<Map> customerGradeInfo = customerGradeServices.getCustomerGradeList(infoMap);  //直降 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("该站直降等级信息:"+ customerGradeInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(customerGradeInfo !=null && customerGradeInfo.size() >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerManage.setGrade(customerGradeInfo.get(0).get("grade").toString());     //存入等级名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    customerManage.setMemberGrade(customerGradeInfo.get(0).get("id").toString());     //存入等级ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("直降等级信息是否存入客户表:"+ "直降ID:"+ customerManage.getMemberGrade()+ "直降名称: "+customerManage.getGrade()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            customerManage.setAmt(BigDecimal.valueOf((Double) infoMap.get("amt")));    //存入金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                customerManage.setLiters(BigDecimal.valueOf((Double) infoMap.get("orderLiters")));    //存入升数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info("不存在客户 新增时参数: " + customerManage.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            payOrderService.insertCustomer(customerManage);//不存在 新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return customerManage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 打印小票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void printReceipt(Map infoMap) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //打印机打印小票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String content1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String content2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String orderNoP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String createdDateP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String stationNameP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String oilNameP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String orderLitersP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String oilPirceP =""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String receivableAmtP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String discountAmtP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String amtP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String mobilePhoneP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String payWayP = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String sn;  //打印机编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(StringUtils.isNotBlank(infoMap.get("orderNo").toString())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderNoP =infoMap.get("orderNo").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("createdDate") && infoMap.get("createdDate") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //格式化日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            createdDateP =sdf.format(infoMap.get("createdDate")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("stationName") && infoMap.get("stationName") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stationNameP =infoMap.get("stationName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("oilName") && infoMap.get("oilName") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            oilNameP =infoMap.get("oilName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("1")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //加油升数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (infoMap.containsKey("orderLiters") && infoMap.get("orderLiters") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                orderLitersP = infoMap.get("orderLiters") + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //油价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (infoMap.containsKey("oilPirce") && infoMap.get("oilPirce") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                oilPirceP = infoMap.get("oilPirce") + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(infoMap.containsKey("discountAmt") && infoMap.get("discountAmt") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                discountAmtP =infoMap.get("discountAmt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(infoMap.containsKey("orderType") && infoMap.get("orderType").equals("2")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderLitersP ="0.00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            oilPirceP = "0.00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            discountAmtP ="0.00"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            receivableAmtP=infoMap.get("amt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("receivableAmt") && infoMap.get("receivableAmt") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            receivableAmtP =infoMap.get("receivableAmt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("amt") && infoMap.get("amt") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            amtP =infoMap.get("amt")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("mobilePhone") && infoMap.get("mobilePhone") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String phone =infoMap.get("mobilePhone")+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //手机号中间四位****代替 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mobilePhoneP = phone.substring(0, 3) + "****" + phone.substring(7, phone.length()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("payWay") && infoMap.get("payWay") !=null ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(infoMap.get("payWay").equals("02") || infoMap.get("payWay").equals("03")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                payWayP ="微信"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 = "<CB>支付小票--顾客联</CB><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "订单号:"+orderNoP+"  <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "时间:"+createdDateP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "油站:"+stationNameP+"  <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content1 += "油品: "+oilNameP+"  <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content1 += "油量: "+orderLitersP+"  升<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content1 += "单价: "+oilPirceP+" L/元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "<BOLD><B>原价: "+receivableAmtP+" 元</B></BOLD><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content1 += "优惠: "+discountAmtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "支付: "+amtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "支付方式: "+payWayP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //content1 += "--------------------------------<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content1 += "<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 = "<CB>支付小票--商户联</CB><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "订单号:"+orderNoP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "时间:"+createdDateP+"<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "油站:"+stationNameP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content2 += "油品: "+oilNameP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content2 += "油量: "+orderLitersP+" 升<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content2 += "单价: "+oilPirceP+" L/元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "<BOLD><B>原价: "+receivableAmtP+" 元</B></BOLD><BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(infoMap.containsKey("orderType") && infoMap.get("orderType").toString().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content2 += "优惠: "+discountAmtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "支付: "+amtP+" 元<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "手机号: "+mobilePhoneP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "支付方式: "+payWayP+" <BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        content2 += "<BR>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取打印机编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //sn = "921611605";     //测试打印机 sn:921611605 key:72338zma 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map params  =new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        params.put("stationId", infoMap.get("stationId").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        params.put("oilGunNo", infoMap.get("oilGun").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map m = stationOilGunService.getPrinterSnByStationIdAndOilGunNo(params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(m !=null && m.containsKey("printerSn") && m.get("printerSn").toString()!= null && m.get("printerSn").toString()!=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sn = m.get("printerSn").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //开始打印 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String printInfo="";    //打印信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(m.containsKey("printSetting") && m.get("printSetting").toString()!= null && m.get("printSetting").toString()!=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                switch (m.get("printSetting").toString()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    case "1":   //1 客户联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        printInfo = FeiEPrinterUtil.printReceipt(sn, content1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    case "2":   //2 商户联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        printInfo = FeiEPrinterUtil.printReceipt(sn, content2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    case "3":   //3商户联和客户联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        printInfo = FeiEPrinterUtil.printReceipt(sn, content1 + content2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            JSONObject jsonObject = JSONObject.parseObject(printInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(jsonObject != null && jsonObject.getString("msg").equals("ok")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("打印成功:" + jsonObject.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //如果打印成功 添加小票数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                PayOrder p = new PayOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                p.setPrintCount(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                p.setOrderNo(infoMap.get("orderNo").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                payOrderService.getUpdatePayOrder(p); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info("请正确配置打印机"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 计算消费生成积分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 注释:  1.判断油站配置的优惠类型 
			 |