Commit 8114546306200d4d71f05d868566c5d6d729e0b0

Authored by 王富生
1 parent 0183f5ad

更改车牌号支付流程

src/main/java/com/rnt/controller/WeixinPayController.java
... ... @@ -47,6 +47,7 @@ import com.rnt.service.OrderService;
47 47 import com.rnt.service.ParkCardCouponsService;
48 48 import com.rnt.service.ParkLotService;
49 49 import com.rnt.service.PersonCardCouponsService;
  50 +import com.rnt.utils.AmountUtils;
50 51 import com.rnt.utils.CardTypeUtil;
51 52 import com.rnt.utils.SequenceUtil;
52 53 import com.rnt.utils.TLWXUser;
... ... @@ -1116,35 +1117,75 @@ public class WeixinPayController extends Controller {
1116 1117 * 检查输入的车牌号是否存订单(带核算/待支付/已完成).<br/>
1117 1118 */
1118 1119 public void parkOrderForNotPayExist() {
1119   - BizResult<Order> result = new BizResult<>();
  1120 + BizResult<OrderVO> result = new BizResult<OrderVO>();
  1121 + OrderVO orderVO = new OrderVO();
  1122 + Map<String,String> reultMap = new HashMap<String,String>();
  1123 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
1120 1124 String carNum = this.getPara("carNum");
1121   - logger.info("---begin 校验输入车牌是否存在待核算订单..入参=" + carNum);
1122   - Map<String,String> reultMap = new HashMap<String,String>();
1123   - try {
1124   - if (StringKit.isNotBlank(carNum)) {
1125   - OrderService orderService = Duang.duang(OrderService.class);
1126   - /**查询单信息.*/
1127   - Order order = orderService.findOrderByCarNum(carNum);
1128   - if (order != null && StringKit.isNotBlank(order.getOrderId())) {
1129   - result.setData(order);
1130   - /**查询费用接口.*/
1131   - reultMap = orderService.chosseBillQuery(carNum, order);
1132   - } else {
1133   - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录");
1134   - }
1135   - } else {
1136   - logger.info("入参为空!");
1137   - result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误");
1138   - }
1139   -
1140   - if(reultMap == null || reultMap.size() ==0){
1141   - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录");
1142   - }
1143   - } catch (Exception e) {
1144   - e.printStackTrace();
1145   - }
  1125 + logger.info("---begin 校验输入车牌是否存要支付订单,入参=" + carNum);
  1126 + try{
  1127 + if(StringKit.isNotBlank(carNum)){
  1128 + OrderService orderService = Duang.duang(OrderService.class);
  1129 + /**查询单信息.*/
  1130 + Order order = orderService.findOrderByCarNum(carNum);
  1131 + logger.info("通过车牌查询订单结果="+JSONObject.toJSONString(order));
  1132 + if (order != null && StringKit.isNotBlank(order.getOrderId())) {
  1133 + orderVO.setOrderId(order.getOrderId());
  1134 + orderVO.setParkName(order.getParkName());
  1135 + orderVO.setCarNumber(order.getCarNumber());
  1136 + /**查询费用接口.*/
  1137 + reultMap = orderService.chosseBillQuery(carNum, order);
  1138 + }else{
  1139 + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录");
  1140 + }
  1141 + }else{
  1142 + logger.info("入参为空!");
  1143 + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误");
  1144 + }
  1145 +
  1146 + if(reultMap == null || reultMap.size() ==0){
  1147 + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录");
  1148 + }else{
  1149 + orderVO.setParkInTime(StringKit.isNotBlank(reultMap.get("park_in_time")) ? format.format(format.parse(reultMap.get("park_in_time"))): null);
  1150 + orderVO.setParkOutTime(StringKit.isNotBlank(reultMap.get("park_out_time")) ? format.format(format.parse(reultMap.get("park_out_time"))): null);
  1151 + if(StringKit.isNotBlank(reultMap.get("order_total_fee"))){//分转元
  1152 + orderVO.setOrderTotalFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_total_fee"))));
  1153 + }else{
  1154 + orderVO.setOrderTotalFee(new BigDecimal("0"));
  1155 + }
  1156 +
  1157 + if(StringKit.isNotBlank(reultMap.get("order_not_pay_fee"))){//分转元
  1158 + orderVO.setOrderNotPayFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_not_pay_fee"))));
  1159 + }else{
  1160 + orderVO.setOrderNotPayFee(new BigDecimal("0"));
  1161 + }
  1162 +
  1163 + if(StringKit.isNotBlank(reultMap.get("order_payed_fee"))){//分转元
  1164 + orderVO.setOrderPayedFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_payed_fee"))));
  1165 + }else{
  1166 + orderVO.setOrderPayedFee(new BigDecimal("0"));
  1167 + }
  1168 + if(StringKit.isNotBlank(reultMap.get("parking_duration"))){
  1169 + orderVO.setParkingDuration(com.rnt.utils.DateUtil.secondToTime(Long.valueOf(reultMap.get("parking_duration"))));
  1170 + }else{
  1171 + orderVO.setParkingDuration(com.rnt.utils.DateUtil.secondToTime(Long.valueOf("0")));
  1172 + }
  1173 +
  1174 + result.setErrorMessage(ErrorType.BIZ_SUCCESS, "通过车牌号查询费用成功");
  1175 + result.setData(orderVO);
  1176 + }
  1177 + }catch (Exception e) {
  1178 + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误");
  1179 + e.printStackTrace();
  1180 + }
1146 1181 logger.info("---end 校验输入车牌是..结果=" + JSONObject.toJSONString(result));
1147   - this.renderJson(result);
  1182 + if(result != null && ErrorType.BIZ_SUCCESS.getCode().equals(result.getCode()) && result.getData() != null){
  1183 + this.getRequest().setAttribute("orderVO", result.getData());
  1184 + this.render("check.html");
  1185 + }else{
  1186 + this.setAttr("carNum", carNum);
  1187 + this.render("checkerror.html");
  1188 + }
1148 1189  
1149 1190 }
1150 1191  
... ... @@ -1158,45 +1199,25 @@ public class WeixinPayController extends Controller {
1158 1199 * 5.插入订单流水表.
1159 1200 */
1160 1201 public void queryParkOrderForNotPay() {
1161   - logger.info("开始查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.");
  1202 +
1162 1203 BizResult<OrderVO> result = new BizResult<OrderVO>();
1163   - String carNum = this.getPara("carNum");
  1204 + String orderId = this.getPara("orderId");
  1205 + logger.info("---begin查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.入参{orderId="+orderId+"}");
1164 1206 OrderService orderService = Duang.duang(OrderService.class);
1165 1207 OrderVO orderVO = new OrderVO();
1166 1208 try {
1167   - orderVO = orderService.queryParkOrderForNotPay(carNum);
1168   - if (orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())) {
1169   - //创建支付单
1170   - PayOrder payOrder = new PayOrder();
1171   - String payOrderId = SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PAY_WXGZH.value());
1172   - payOrder.setPayOrderId(payOrderId);
1173   - payOrder.setPaySrcType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_PARK.getValue()));
1174   - payOrder.setRltOrderId(orderVO.getOrderId());
1175   - payOrder.setPayOrderTitle(PayOrderEnum.PAY_ORDER_TYPE_PAY.getValue());
1176   - payOrder.setPayType(Integer.valueOf(PayOrderEnum.PAY_TYPE_WXGZH.getValue()));
1177   - payOrder.setPayOrderState(Integer.valueOf(PayOrderEnum.PAY_ORDER_STATE_WAIT_PAY.getValue()));
1178   - payOrder.setPayorderStateTime(new Date());
1179   - payOrder.setDataState(DataStatusEnum.DATA_STATUS_VALID.value());
1180   - payOrder.setCreateDate(new Date());
1181   - payOrder.setModfiyDate(new Date());
1182   - logger.info("支付单save请求数据为: payOrder=" + JSONObject.toJSONString(payOrder));
1183   - Boolean flag = payOrder.save();
1184   - logger.info("支付单save 响应为:flag=" + flag);
1185   - orderVO.setPayOrderId(payOrderId);
1186   - if (!flag) {
1187   - result.setCode(ErrorType.BIZ_ERROR.getCode());
1188   - result.setMsg("支付单保存失败!");
1189   - renderJson(result);
1190   - return;
1191   - }
1192   - /**根据停车场编码查询通知艾润停车场编码.*/
1193   - result.setData(orderVO);
1194   - } else {
1195   - result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误");
  1209 + orderVO = orderService.queryParkOrderForNotPay(orderId);
  1210 + if(orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())){
  1211 + result.setData(orderVO);
  1212 + }else{
  1213 + result.setCode(ErrorType.BIZ_ERROR.getCode());
  1214 + result.setMsg("订单单保存失败!");
1196 1215 }
1197 1216 } catch (Exception e) {
  1217 + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误");
1198 1218 e.printStackTrace();
1199 1219 }
  1220 + logger.info("---end查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.结果="+JSONObject.toJSONString(result));
1200 1221 this.renderJson(result);
1201 1222 }
1202 1223  
... ...
src/main/java/com/rnt/service/OrderService.java
... ... @@ -158,17 +158,17 @@ public class OrderService {
158 158 * @param carNum
159 159 * @throws ParseException
160 160 */
161   - public OrderVO queryParkOrderForNotPay(String carNum) throws ParseException {
162   - logger.info("---begin订单信息更新,carNum=" + carNum);
  161 + public OrderVO queryParkOrderForNotPay(String orderId) throws ParseException {
  162 + logger.info("---begin订单信息更新,orderId=" + orderId);
163 163 OrderVO orderVO = new OrderVO();
164 164 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
165 165 Map<String,String> resultmap = new HashMap<String,String>();
166 166 //1.查询支付订单
167   - Order order = this.findOrderByCarNum(carNum);
  167 + Order order = this.findOrderByOrderId(orderId);
168 168 logger.info("通过车牌号查询到的支付订单信息结果="+JSONObject.toJSON(order));
169 169 //2.调用查询费用接口
170 170 if (order != null && StringKit.isNotBlank(order.getOrderId())) {
171   - resultmap = this.chosseBillQuery(carNum,order);
  171 + resultmap = this.chosseBillQuery(order.getCarNumber(),order);
172 172 }
173 173 boolean orderUpdateFlg = false;
174 174 int updateOrderDetailFlg = 0;
... ... @@ -210,17 +210,6 @@ public class OrderService {
210 210 if (updateOrderDetailFlg > 0) {
211 211 //封装返回数据
212 212 orderVO.setOrderId(order.getOrderId());
213   - orderVO.setParkId(order.getParkId());
214   - orderVO.setParkName(resultmap.get("park_name"));
215   - orderVO.setParkAddress(resultmap.get("park_address"));
216   - orderVO.setCarNumber(order.getCarNumber());
217   - orderVO.setOrderPayedFee(new BigDecimal(resultmap.get("order_payed_fee")));
218   - orderVO.setOrderNotPayFee(new BigDecimal(resultmap.get("order_not_pay_fee")));
219   - orderVO.setOrderTotalFee(new BigDecimal(resultmap.get("order_total_fee")));
220   - orderVO.setOrderTitle("待付费用");
221   - orderVO.setParkInTime(format.parse(resultmap.get("park_in_time")));
222   - orderVO.setParkOutTime(format.parse(resultmap.get("park_out_time")));
223   - orderVO.setParkingDuration(DateUtil.secondToTime(Long.valueOf(resultmap.get("parking_duration"))));
224 213 }
225 214 /**插入订单流水.*/
226 215 ParkOrderFlow parkOrderFlow = new ParkOrderFlow();
... ... @@ -243,11 +232,11 @@ public class OrderService {
243 232 * @return
244 233 */
245 234 public Map<String, String> chosseBillQuery(String carNum,Order order){
246   -
247 235 OrderService orderService = Duang.duang(OrderService.class);
248 236 IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class);
249 237 Map<String, String> reultMap = new HashMap<String, String>();
250 238 if (order != null && StringKit.isNotBlank(order.getOrderId())) {
  239 + logger.info("查询费用来源="+(order.getSourceType() ==2 ? "调用青岛路侧费用查询接口" :"调用艾润查询费用接口"));
251 240 if("1".equals(String.valueOf(order.getSourceType()))){//道闸:调用艾润查询费用接口
252 241 /**调用艾润查询费用接口.*/
253 242 reultMap = iRainQueryService.billQuery(carNum, order.getParkId());
... ... @@ -276,10 +265,11 @@ public class OrderService {
276 265 //1.查询待支付订单
277 266 StringBuffer sql = new StringBuffer(
278 267 "select a.id, a.order_id,a.car_number,a.order_title,a.order_payed_fee,a.order_not_pay_fee,a"
279   - + ".order_total_fee,a.park_id");
  268 + + ".order_total_fee,a.park_id,source_type,park_name");
280 269 sql.append(" from td_b_order a");
281 270 sql.append(" where a.order_state in(1,2,3)");
282 271 sql.append(" and a.car_number=?");
  272 + sql.append(" and a.data_state=1");
283 273 sql.append(" order by a.create_date DESC");
284 274  
285 275 Order order = new Order().findFirst(sql.toString(), carNum);
... ... @@ -288,6 +278,24 @@ public class OrderService {
288 278  
289 279 return order;
290 280 }
  281 +
  282 + /**
  283 + * 通过车牌查询待核算支付单信息.<br/>
  284 + *
  285 + * @param
  286 + */
  287 + public Order findOrderByOrderId(String orderId) {
  288 + //1.查询待支付订单
  289 + StringBuffer sql = new StringBuffer(
  290 + "select a.id, a.order_id,a.car_number,a.order_title,a.order_payed_fee,a.order_not_pay_fee,a"
  291 + + ".order_total_fee,a.park_id,source_type,park_name");
  292 + sql.append(" from td_b_order a");
  293 + sql.append(" where a.order_state in(1,2,3)");
  294 + sql.append(" and a.order_id=?");
  295 + sql.append(" and a.data_state=1");
  296 + Order order = new Order().findFirst(sql.toString(), orderId);
  297 + return order;
  298 + }
291 299  
292 300  
293 301 }
... ...
src/main/java/com/rnt/utils/AmountUtils.java 0 → 100644
  1 +package com.rnt.utils;
  2 +
  3 +
  4 +import java.math.BigDecimal;
  5 +
  6 +import com.zteits.clouds.api.apibase.constants.ErrorType;
  7 +import com.zteits.clouds.api.apibase.exception.BizException;
  8 +
  9 +/**
  10 + *
  11 + * Copyright: Copyright (c) 2017 ZTE-ITS
  12 + *
  13 + * @ClassName: AmountUtils.java
  14 + * @Description:
  15 + * @version: v1.0.0
  16 + * @author: wangbiao
  17 + * @date: 2017年6月27日 下午5:24:43
  18 + * Modification History:
  19 + * Date Author Version Description
  20 + *---------------------------------------------------------*
  21 + * 2017年6月27日 wangbiao v1.0.0 创建
  22 + */
  23 +
  24 +public class AmountUtils {
  25 + /**金额为分的格式 */
  26 + public static final String CURRENCY_FEN_REGEX = "\\-?[0-9]+";
  27 +
  28 + private AmountUtils() {
  29 + }
  30 +
  31 + /**
  32 + * 将分为单位的转换为元并返回金额格式的字符串 (除100)
  33 + *
  34 + * @param amount
  35 + * @return
  36 + * @throws Exception
  37 + */
  38 + public static String changeF2Y(Long amount){
  39 + if(!amount.toString().matches(CURRENCY_FEN_REGEX)) {
  40 + throw new BizException(ErrorType.BIZ_ERROR, "金额格式有误!");
  41 + }
  42 +
  43 + int flag = 0;
  44 + String amString = amount.toString();
  45 + if(amString.charAt(0)=='-'){
  46 + flag = 1;
  47 + amString = amString.substring(1);
  48 + }
  49 + StringBuilder result = new StringBuilder();
  50 + if(amString.length()==1){
  51 + result.append("0.0").append(amString);
  52 + }else if(amString.length() == 2){
  53 + result.append("0.").append(amString);
  54 + }else{
  55 + String intString = amString.substring(0,amString.length()-2);
  56 + for(int i=1; i<=intString.length();i++){
  57 + if( (i-1)%3 == 0 && i !=1){
  58 + result.append(",");
  59 + }
  60 + result.append(intString.substring(intString.length()-i,intString.length()-i+1));
  61 + }
  62 + result.reverse().append(".").append(amString.substring(amString.length()-2));
  63 + }
  64 + if(flag == 1){
  65 + return "-"+result.toString();
  66 + }else{
  67 + return result.toString();
  68 + }
  69 + }
  70 +
  71 + /**
  72 + * 将分为单位的转换为元 (除100)
  73 + *
  74 + * @param amount
  75 + * @return
  76 + * @throws Exception
  77 + */
  78 + public static String changeF2Y(String amount){
  79 + if(!amount.matches(CURRENCY_FEN_REGEX)) {
  80 + throw new BizException(ErrorType.BIZ_ERROR, "金额格式有误!");
  81 + }
  82 + return BigDecimal.valueOf(Long.valueOf(amount)).divide(new BigDecimal(100)).toString();
  83 + }
  84 +
  85 +
  86 + /**
  87 + * 将元为单位的转换为分 (乘100)
  88 + *
  89 + * @param amount
  90 + * @return
  91 + */
  92 + public static String changeY2F(Long amount){
  93 + return BigDecimal.valueOf(amount).multiply(new BigDecimal(100)).toString();
  94 + }
  95 +
  96 + /**
  97 + * 将元为单位的转换为分 替换小数点,支持以逗号区分的金额
  98 + *
  99 + * @param amount
  100 + * @return
  101 + */
  102 + public static String changeY2F(String amount){
  103 + String currency = amount.replaceAll("\\$|\\¥|\\,", ""); //处理包含, ¥ 或者$的金额
  104 + int index = currency.indexOf('.');
  105 + int length = currency.length();
  106 + Long amLong = 0l;
  107 + if(index == -1){
  108 + amLong = Long.valueOf(currency+"00");
  109 + }else if(length - index >= 3){
  110 + amLong = Long.valueOf((currency.substring(0, index+3)).replace(".", ""));
  111 + }else if(length - index == 2){
  112 + amLong = Long.valueOf((currency.substring(0, index+2)).replace(".", "")+0);
  113 + }else{
  114 + amLong = Long.valueOf((currency.substring(0, index+1)).replace(".", "")+"00");
  115 + }
  116 + return amLong.toString();
  117 + }
  118 +
  119 +
  120 + /**
  121 + * 数字金额大写转换,思想先写个完整的然后将如零拾替换成零
  122 + * 要用到正则表达式
  123 + */
  124 + public static String moneyUpperCase(double n){
  125 + String fraction[] = {"角", "分"};
  126 + String digit[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
  127 + String unit[][] = {{"元", "万", "亿"},
  128 + {"", "拾", "佰", "仟"}};
  129 +
  130 + String head = n < 0? "负": "";
  131 + n = Math.abs(n);
  132 +
  133 + String s = "";
  134 + for (int i = 0; i < fraction.length; i++) {
  135 + double f1= new BigDecimal(n).setScale(2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(10 * Math.pow(10, i))).doubleValue();
  136 + s += (digit[(int) (Math.floor(f1) % 10)] + fraction[i]).replaceAll("(零.)+", "");
  137 +
  138 + }
  139 + if(s.length()<1){
  140 + s = "整";
  141 + }
  142 + int integerPart = (int)Math.floor(n);
  143 +
  144 + for (int i = 0; i < unit[0].length && integerPart > 0; i++) {
  145 + String p ="";
  146 + for (int j = 0; j < unit[1].length && n > 0; j++) {
  147 + p = digit[integerPart%10]+unit[1][j] + p;
  148 + integerPart = integerPart/10;
  149 + }
  150 + s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s;
  151 + }
  152 + return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
  153 + }
  154 + /**
  155 + * @param args
  156 + */
  157 + public static void main(String[] args) {
  158 + String str ="200";
  159 + BigDecimal big = new BigDecimal(str);
  160 + System.out.println(AmountUtils.changeF2Y(str));
  161 +
  162 + }
  163 +
  164 +}
... ...
src/main/java/com/rnt/utils/DateUtil.java
... ... @@ -828,7 +828,8 @@ public class DateUtil {
828 828 private static String unitFormat(long time) {
829 829 String retStr = null;
830 830 if (time >= 0 && time < 10)
831   - retStr = "0" + Long.toString(time);
  831 + //retStr = "0" + Long.toString(time); wangfs 2017-07-07 更改
  832 + retStr = Long.toString(time);
832 833 else
833 834 retStr = "" + time;
834 835 return retStr;
... ...
src/main/java/com/rnt/vo/OrderVO.java
... ... @@ -33,10 +33,10 @@ public class OrderVO {
33 33 private String orderTitle;
34 34  
35 35 /** 车辆进场时间. */
36   - private Date parkInTime;
  36 + private String parkInTime;
37 37  
38 38 /** 车辆出场时间. */
39   - private Date parkOutTime;
  39 + private String parkOutTime;
40 40  
41 41 /** 停车时长 单位:小时格式:02小时52分. */
42 42 private String parkingDuration;
... ... @@ -116,19 +116,21 @@ public class OrderVO {
116 116 this.orderTitle = orderTitle == null ? null : orderTitle.trim();
117 117 }
118 118  
119   - public Date getParkInTime() {
  119 +
  120 +
  121 + public String getParkInTime() {
120 122 return parkInTime;
121 123 }
122 124  
123   - public void setParkInTime(Date parkInTime) {
  125 + public void setParkInTime(String parkInTime) {
124 126 this.parkInTime = parkInTime;
125 127 }
126 128  
127   - public Date getParkOutTime() {
  129 + public String getParkOutTime() {
128 130 return parkOutTime;
129 131 }
130 132  
131   - public void setParkOutTime(Date parkOutTime) {
  133 + public void setParkOutTime(String parkOutTime) {
132 134 this.parkOutTime = parkOutTime;
133 135 }
134 136  
... ...
src/main/webapp/WEB-INF/pages/check.html
... ... @@ -63,33 +63,33 @@
63 63  
64 64  
65 65 <header class="demos-header">
66   - <p class="all_told discount_money"><span id="orderNotPayFee">90.00</span>元</p>
  66 + <p class="all_told discount_money"><span id="orderNotPayFee">${orderVO.orderNotPayFee!''}</span>元</p>
67 67 <p class="platen_number discount_money" style="font-weight:bold;" id="orderTitle">待付费用</p>
68 68 </header>
69 69  
70 70 <div class="weui-cells weui-cells_form">
71 71 <input type="hidden" id="carNumPre" value="${carNum!''}"/>
72   - <input type="hidden" id="parkOrderId"/>
  72 + <input type="hidden" id="parkOrderId" value="${orderVO.orderId!''}"/>
73 73 <div class="weui-cell">
74 74 <div class="weui-cell__hd"><label for="" class="weui-label">当前车牌</label></div>
75   - <div class="weui-cell__bd" id="carNumber">
  75 + <div class="weui-cell__bd" id="carNumber">${orderVO.carNumber!''}
76 76  
77 77 </div>
78 78 </div>
79 79  
80 80 <div class="weui-cell">
81 81 <div class="weui-cell__hd"><label for="" class="weui-label">停车位置</label></div>
82   - <div class="weui-cell__bd" id="parkName">
  82 + <div class="weui-cell__bd" id="parkName">${orderVO.parkName!''}
83 83 </div>
84 84 </div>
85 85 <div class="weui-cell">
86 86 <div class="weui-cell__hd"><label for="" class="weui-label">进场时间</label></div>
87   - <div class="weui-cell__bd" id="parkInTime">
  87 + <div class="weui-cell__bd" id="parkInTime">${orderVO.parkInTime!''}
88 88 </div>
89 89 </div>
90 90 <div class="weui-cell">
91 91 <div class="weui-cell__hd"><label for="" class="weui-label">停车时长</label></div>
92   - <div class="weui-cell__bd" id="parkingDuration">
  92 + <div class="weui-cell__bd" id="parkingDuration">${orderVO.parkingDuration!''}
93 93 </div>
94 94 </div>
95 95  
... ... @@ -99,14 +99,14 @@
99 99 <div class="weui-cell">
100 100 <div class="weui-cell__hd"><label for="" class="weui-label">总计费用</label></div>
101 101 <div class="weui-cell__bd">
102   - ¥<span id="orderTotalFee"></span>
  102 + ¥<span id="orderTotalFee">${orderVO.orderTotalFee!''}</span>
103 103 </div>
104 104 </div>
105 105  
106 106 <div class="weui-cell">
107 107 <div class="weui-cell__hd"><label for="" class="weui-label">已付费用</label></div>
108 108 <div class="weui-cell__bd">
109   - ¥<span id="orderPayedFee"></span>
  109 + ¥<span id="orderPayedFee">${orderVO.orderPayedFee!''}</span>
110 110 </div>
111 111 </div>
112 112 <!-- <div class="weui-cell">
... ... @@ -128,53 +128,27 @@
128 128 <script src="${staticHost}/js/jsutil.js"></script>
129 129 <script src="${staticHost}/js/url.js"></script>
130 130 <script type="text/javascript">
131   - var func = {
132   - /**查询待支付订单*/
133   - initData: function () {
134   - $('#orderNotPayFee').empty();
135   - $('#orderTitle').empty();
136   - $('#carNumber').empty();
137   - $('#parkName').empty();
138   - $('#parkInTime').empty();
139   - $('#parkingDuration').empty();
140   - $('#orderTotalFee').empty();
141   - $('#orderPayedFee').empty();
142   - var carNumPre = $('#carNumPre').val();
143   - jsutil.defaultReq(
144   - mUrl.queryParkOrderForNotPay,
145   - {"carNum": carNumPre},
146   - function (data) {
147   - if (data != null && "1005" == data.code) {
148   - window.location.href = mUrl.queryOrderCheckErrorView + "&carNum=" + carNumPre;
149   - } else if (data != null && "8888" != data.code) {
150   - $.alert("查询待支付订单失败,请重试!");
151   - } else {
152   - var orderVO = data.data;
153   - $('#parkOrderId').val(orderVO.orderId);
154   - $('#payOrderId').val(orderVO.payOrderId)
155   - $('#orderNotPayFee').text(orderVO.orderNotPayFee);
156   - $('#orderTitle').text(orderVO.orderTitle);
157   - $('#carNumber').text(orderVO.carNumber);
158   - $('#parkName').text(orderVO.parkName);
159   - $('#parkInTime').text(orderVO.parkInTime);
160   - $('#parkingDuration').text(orderVO.parkingDuration);
161   - $('#orderTotalFee').text(orderVO.orderTotalFee);
162   - $('#orderPayedFee').text(orderVO.orderPayedFee);
163   -
164   - }
165   -
166   -
167   - });
168   - },
169   - };
170   - $(function () {
171   - func.initData();
172   - });
  131 + $(function(){
  132 + var orderNotPayFee = $('#orderNotPayFee').text();
  133 + if("0" ==orderNotPayFee || null == orderNotPayFee || "" == orderNotPayFee){
  134 + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled');
  135 + }
  136 + });
173 137 var flg = true;
174 138 $("#showTooltips").click(function () {
  139 + var orderNotPayFee = $('#orderNotPayFee').text();
  140 + if("0" ==orderNotPayFee || null == orderNotPayFee || "" == orderNotPayFee){
  141 + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled');
  142 + flg = false;
  143 + return false;
  144 + }else{
  145 + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary');
  146 + flg = true;
  147 + }
175 148 if (flg) {
176 149 flg = false;
177 150 $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled');
  151 + //判断待付费用为0不能发起支付
178 152 var parkOrderId = $('#parkOrderId').val();
179 153 if (parkOrderId.length < 1) {
180 154 $.toptip("订单Id为空", 2000, "error");
... ... @@ -185,23 +159,39 @@
185 159 var req = {
186 160 orderId: parkOrderId
187 161 }
188   -
189   - $.ajax({
190   - url: mUrl.getJSPayParam,
191   - type: 'post',
192   - dataType: 'json',
193   - data: req,
194   - success: function (res) {
195   - if (res.code == '8888') {
196   - var payParam = res.data;
197   - //调用微信支付
198   - callpay(payParam);
199   - } else {
200   - $.toptip(res.msg, 2000, "error");
201   - console.log('详细错误信息为:' + res.data);
202   - }
203   - }
204   - });
  162 +
  163 + jsutil.defaultReq(
  164 + mUrl.queryParkOrderForNotPay,
  165 + {"orderId":parkOrderId},
  166 + function(data){
  167 + if(data != null && "8888" !=data.code){
  168 + $.alert("亲!支付失败,请重试!");
  169 + return false;
  170 + }else{
  171 + $.ajax({
  172 + url: mUrl.getJSPayParam,
  173 + type: 'post',
  174 + dataType: 'json',
  175 + data: req,
  176 + success: function (res) {
  177 + if (res.code == '8888') {
  178 + var payParam = res.data;
  179 + //调用微信支付
  180 + callpay(payParam);
  181 + } else {
  182 + $.toptip(res.msg, 2000, "error");
  183 + console.log('详细错误信息为:' + res.data);
  184 + }
  185 + }
  186 + });
  187 + }//else
  188 +
  189 + }
  190 +
  191 + );
  192 +
  193 +
  194 +
205 195 }//if
206 196 });
207 197  
... ...
src/main/webapp/WEB-INF/pages/select.html
... ... @@ -169,8 +169,8 @@ $(&#39;#view_now&#39;).on(&#39;click&#39;,function () {
169 169 };
170 170 //根据车牌号查询带支付的订单是否存在
171 171 //
172   -
173   - jsutil.defaultReq(
  172 + window.location.href= mUrl.parkOrderForNotPayExist +"&carNum="+val;
  173 + /**jsutil.defaultReq(
174 174 mUrl.parkOrderForNotPayExist ,
175 175 {"carNum":val},
176 176 function(data){
... ... @@ -188,7 +188,7 @@ $(&#39;#view_now&#39;).on(&#39;click&#39;,function () {
188 188  
189 189 }
190 190  
191   - });
  191 + });*/
192 192  
193 193  
194 194  
... ...