From 07eaa5b49768d954d8a0255e3d891e51e9c3b50c Mon Sep 17 00:00:00 2001 From: atao Date: Wed, 9 Aug 2017 17:57:40 +0800 Subject: [PATCH] 提交代码 --- src/main/java/com/rnt/controller/WeixinPayController.java | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------- src/main/java/com/rnt/model/zf/_DataDictionary.txt | 19 +++++++++++++++++++ src/main/java/com/rnt/model/zf/_MappingKit.java | 1 + src/main/java/com/rnt/model/zf/base/BaseCustPerson.java | 9 +++++++++ src/main/java/com/rnt/utils/JFinalGenerator_zf.java | 2 +- 5 files changed, 148 insertions(+), 92 deletions(-) diff --git a/src/main/java/com/rnt/controller/WeixinPayController.java b/src/main/java/com/rnt/controller/WeixinPayController.java index 644b166..5d5ba8a 100644 --- a/src/main/java/com/rnt/controller/WeixinPayController.java +++ b/src/main/java/com/rnt/controller/WeixinPayController.java @@ -12,9 +12,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import org.beetl.sql.core.kit.StringKit; - import com.alibaba.fastjson.JSONObject; + import com.jfinal.aop.Clear; import com.jfinal.aop.Duang; import com.jfinal.core.Controller; @@ -37,12 +36,10 @@ import com.rnt.commo.enums.SequenceTypeEnum; import com.rnt.commo.interceptor.BindInterceptor; import com.rnt.model.zf.CardCoupons; import com.rnt.model.zf.Order; -import com.rnt.model.zf.OrderDetailPark; import com.rnt.model.zf.ParkCardCoupons; import com.rnt.model.zf.PayOrder; import com.rnt.model.zf.PayOrderFlow; import com.rnt.service.CardOrderService; -import com.rnt.service.IRainQueryService; import com.rnt.service.OrderService; import com.rnt.service.ParkCardCouponsService; import com.rnt.service.ParkLotService; @@ -57,7 +54,9 @@ import com.rnt.vo.CardOrderVO; import com.rnt.vo.OrderVO; import com.rnt.vo.ParkLotCardVO; import com.xiaoleilu.hutool.date.DateField; +import com.xiaoleilu.hutool.date.DateTime; import com.xiaoleilu.hutool.date.DateUtil; +import org.beetl.sql.core.kit.StringKit; /** * 感谢 *半杯* 童鞋联调支付API @@ -132,8 +131,16 @@ public class WeixinPayController extends Controller { endDateStr = DateUtil.format(endDate, "yyyy-MM-dd"); orderType = "2"; } else { - //月卡 - Date endDate = DateUtil.offsetDay(DateUtil.offset(startDate, DateField.MONTH, num),-1); + DateTime endDate = DateUtil.offsetDay(startDate, 0); + DateTime temp = DateUtil.offsetDay(startDate, 0); + int days = 0; + for (int i = 1; i <= num; i++) { + temp = DateUtil.offsetMonth(temp, 1); + temp.setField(DateField.DAY_OF_MONTH, 0); + days += temp.getField(DateField.DAY_OF_MONTH); + } + + endDate =DateUtil.offsetDay(endDate, days-1); endDateStr = DateUtil.format(endDate, "yyyy-MM-dd"); orderType = "3"; } @@ -227,7 +234,9 @@ public class WeixinPayController extends Controller { //到期时间字符串 setAttr("expDateStr", DateUtil.format(cardCoupons.getExpDate(), "yyyy-MM-dd")); //单价 - setAttr("cardPrice", cardCoupons.getCardPrice()!=null?cardCoupons.getCardPrice().divide(new BigDecimal("100")).toString():null); + setAttr("cardPrice", + cardCoupons.getCardPrice() != null ? cardCoupons.getCardPrice().divide(new BigDecimal("100")).toString() + : null); //停车场名称 setAttr("parkName", parkName); @@ -269,7 +278,7 @@ public class WeixinPayController extends Controller { public void orderPayView() { //订单id String parkOrderId = this.getPara("parkOrderId"); - + setAttr("parkOrderId", parkOrderId); render("pay.html"); } @@ -359,13 +368,30 @@ public class WeixinPayController extends Controller { if ("3".equals(cardBuyVO.getOrderType())) { //计算结束月份 Date date = format.parse(cardBuyVO.getStartDate()); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - calendar.add(Calendar.MONTH, Integer.parseInt(cardBuyVO.getBuyNum())); - calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 1); - Date resultDate = calendar.getTime(); + //购买数量 + int num = Integer.parseInt(cardBuyVO.getBuyNum()); + + DateTime endDate = DateUtil.offsetDay(date, 0); + DateTime temp = DateUtil.offsetDay(date, 0); + int days = 0; + for (int i = 1; i <= num; i++) { + temp = DateUtil.offsetMonth(temp, 1); + temp.setField(DateField.DAY_OF_MONTH, 0); + days += temp.getField(DateField.DAY_OF_MONTH); + } + + endDate =DateUtil.offsetDay(endDate, days-1); + String endDateStr = DateUtil.format(endDate, "yyyy-MM-dd"); + + //Calendar calendar = Calendar.getInstance(); + //calendar.setTime(date); + //calendar.add(Calendar.MONTH, Integer.parseInt(cardBuyVO.getBuyNum())); + //calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 1); + //Date resultDate = calendar.getTime(); + logger.info("前端结束时间=" + cardBuyVO.getEndDate()); - cardBuyVO.setEndDate(format.format(resultDate)); + + cardBuyVO.setEndDate(endDateStr); logger.info("--计算结束时间=" + cardBuyVO.getEndDate()); } else { //计算结束年 @@ -457,9 +483,9 @@ public class WeixinPayController extends Controller { String openId = getPara("openId"); String payOrderId = SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PAY_WXGZH.value()); logger.info("开始获取公众号支付JS支付参数: orderId=" + orderId + "; openId=" + openId + "; payOrderId=" + payOrderId); - + PayOrder payOrder = new PayOrder(); - + payOrder.setPayOrderId(payOrderId); payOrder.setPaySrcType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_SERVICE.getValue())); payOrder.setRltOrderId(orderId); @@ -474,7 +500,6 @@ public class WeixinPayController extends Controller { Boolean flag = payOrder.save(); logger.info("支付单save 响应为: flag=" + flag); - //订单ID if (StringKit.isEmpty(orderId)) { bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); @@ -490,8 +515,6 @@ public class WeixinPayController extends Controller { return; } - - Order order = Order.dao.findFirst("select * from td_b_order t where t.order_id = ?", orderId); if (null == order) { bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); @@ -1117,73 +1140,76 @@ public class WeixinPayController extends Controller { * 检查输入的车牌号是否存订单(带核算/待支付/已完成).
*/ public void parkOrderForNotPayExist() { - BizResult result = new BizResult(); - OrderVO orderVO = new OrderVO(); - Map reultMap = new HashMap(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + BizResult result = new BizResult(); + OrderVO orderVO = new OrderVO(); + Map reultMap = new HashMap(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String carNum = this.getPara("carNum"); logger.info("---begin 校验输入车牌是否存要支付订单,入参=" + carNum); - try{ - if(StringKit.isNotBlank(carNum)){ - OrderService orderService = Duang.duang(OrderService.class); - /**查询单信息.*/ - Order order = orderService.findOrderByCarNum(carNum); - logger.info("通过车牌查询订单结果="+JSONObject.toJSONString(order)); - if (order != null && StringKit.isNotBlank(order.getOrderId())) { - orderVO.setOrderId(order.getOrderId()); - orderVO.setParkName(order.getParkName()); - orderVO.setCarNumber(order.getCarNumber()); - /**查询费用接口.*/ - reultMap = orderService.chosseBillQuery(carNum, order); - }else{ - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); - } - }else{ - logger.info("入参为空!"); - result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); - } - - if(reultMap == null || reultMap.size() ==0){ - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); - }else{ - orderVO.setParkInTime(StringKit.isNotBlank(reultMap.get("park_in_time")) ? format.format(format.parse(reultMap.get("park_in_time"))): null); - orderVO.setParkOutTime(StringKit.isNotBlank(reultMap.get("park_out_time")) ? format.format(format.parse(reultMap.get("park_out_time"))): null); - if(StringKit.isNotBlank(reultMap.get("order_total_fee"))){//分转元 - orderVO.setOrderTotalFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_total_fee")))); - }else{ - orderVO.setOrderTotalFee(new BigDecimal("0")); - } - - if(StringKit.isNotBlank(reultMap.get("order_not_pay_fee"))){//分转元 - orderVO.setOrderNotPayFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_not_pay_fee")))); - }else{ - orderVO.setOrderNotPayFee(new BigDecimal("0")); - } - - if(StringKit.isNotBlank(reultMap.get("order_payed_fee"))){//分转元 - orderVO.setOrderPayedFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_payed_fee")))); - }else{ - orderVO.setOrderPayedFee(new BigDecimal("0")); - } - if(StringKit.isNotBlank(reultMap.get("parking_duration"))){ - orderVO.setParkingDuration(com.rnt.utils.DateUtil.secondToTime(Long.valueOf(reultMap.get("parking_duration")))); - }else{ - orderVO.setParkingDuration(com.rnt.utils.DateUtil.secondToTime(Long.valueOf("0"))); - } - - result.setErrorMessage(ErrorType.BIZ_SUCCESS, "通过车牌号查询费用成功"); - result.setData(orderVO); - } - }catch (Exception e) { - result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); - e.printStackTrace(); - } + try { + if (StringKit.isNotBlank(carNum)) { + OrderService orderService = Duang.duang(OrderService.class); + /**查询单信息.*/ + Order order = orderService.findOrderByCarNum(carNum); + logger.info("通过车牌查询订单结果=" + JSONObject.toJSONString(order)); + if (order != null && StringKit.isNotBlank(order.getOrderId())) { + orderVO.setOrderId(order.getOrderId()); + orderVO.setParkName(order.getParkName()); + orderVO.setCarNumber(order.getCarNumber()); + /**查询费用接口.*/ + reultMap = orderService.chosseBillQuery(carNum, order); + } else { + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); + } + } else { + logger.info("入参为空!"); + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); + } + + if (reultMap == null || reultMap.size() == 0) { + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); + } else { + orderVO.setParkInTime(StringKit.isNotBlank(reultMap.get("park_in_time")) ? format + .format(format.parse(reultMap.get("park_in_time"))) : null); + orderVO.setParkOutTime(StringKit.isNotBlank(reultMap.get("park_out_time")) ? format + .format(format.parse(reultMap.get("park_out_time"))) : null); + if (StringKit.isNotBlank(reultMap.get("order_total_fee"))) {//分转元 + orderVO.setOrderTotalFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_total_fee")))); + } else { + orderVO.setOrderTotalFee(new BigDecimal("0")); + } + + if (StringKit.isNotBlank(reultMap.get("order_not_pay_fee"))) {//分转元 + orderVO.setOrderNotPayFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_not_pay_fee")))); + } else { + orderVO.setOrderNotPayFee(new BigDecimal("0")); + } + + if (StringKit.isNotBlank(reultMap.get("order_payed_fee"))) {//分转元 + orderVO.setOrderPayedFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_payed_fee")))); + } else { + orderVO.setOrderPayedFee(new BigDecimal("0")); + } + if (StringKit.isNotBlank(reultMap.get("parking_duration"))) { + orderVO.setParkingDuration( + com.rnt.utils.DateUtil.secondToTime(Long.valueOf(reultMap.get("parking_duration")))); + } else { + orderVO.setParkingDuration(com.rnt.utils.DateUtil.secondToTime(Long.valueOf("0"))); + } + + result.setErrorMessage(ErrorType.BIZ_SUCCESS, "通过车牌号查询费用成功"); + result.setData(orderVO); + } + } catch (Exception e) { + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); + e.printStackTrace(); + } logger.info("---end 校验输入车牌是..结果=" + JSONObject.toJSONString(result)); - if(result != null && ErrorType.BIZ_SUCCESS.getCode().equals(result.getCode()) && result.getData() != null){ - this.getRequest().setAttribute("orderVO", result.getData()); - this.render("check.html"); - }else{ - this.setAttr("carNum", carNum); + if (result != null && ErrorType.BIZ_SUCCESS.getCode().equals(result.getCode()) && result.getData() != null) { + this.getRequest().setAttribute("orderVO", result.getData()); + this.render("check.html"); + } else { + this.setAttr("carNum", carNum); this.render("checkerror.html"); } @@ -1199,25 +1225,26 @@ public class WeixinPayController extends Controller { * 5.插入订单流水表. */ public void queryParkOrderForNotPay() { - + BizResult result = new BizResult(); String orderId = this.getPara("orderId"); - logger.info("---begin查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.入参{orderId="+orderId+"}"); + logger.info("---begin查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.入参{orderId=" + orderId + "}"); OrderService orderService = Duang.duang(OrderService.class); OrderVO orderVO = new OrderVO(); try { orderVO = orderService.queryParkOrderForNotPay(orderId); - if(orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())){ - result.setData(orderVO); - }else{ - result.setCode(ErrorType.BIZ_ERROR.getCode()); + if (orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())) { + result.setData(orderVO); + } else { + result.setCode(ErrorType.BIZ_ERROR.getCode()); result.setMsg("订单单保存失败!"); } } catch (Exception e) { - result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); e.printStackTrace(); } - logger.info("---end查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.结果="+JSONObject.toJSONString(result)); + logger.info( + "---end查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.结果=" + JSONObject.toJSONString(result)); this.renderJson(result); } diff --git a/src/main/java/com/rnt/model/zf/_DataDictionary.txt b/src/main/java/com/rnt/model/zf/_DataDictionary.txt index f8476e7..1b7d872 100644 --- a/src/main/java/com/rnt/model/zf/_DataDictionary.txt +++ b/src/main/java/com/rnt/model/zf/_DataDictionary.txt @@ -675,6 +675,24 @@ Table: td_c_acct_type modfiy_date | DATETIME(19) | YES | | | 修改时间 ----------------+--------------+------+-----+---------+--------- +Table: td_c_app_config +--------------+--------------+------+-----+---------+--------- + Field | Type | Null | Key | Default | Remarks +--------------+--------------+------+-----+---------+--------- + id | BIGINT(19) | NO | PRI | | 主键id + app_id | VARCHAR(40) | YES | | | 给外部系统分配的唯一的appid + secret_key | VARCHAR(256) | YES | | | 私钥 + app_type | INT(10) | YES | | | 商家类型 1 内部系统,2外部系统 + bus_name | VARCHAR(64) | YES | | | 商家名称 + bus_sys_name | VARCHAR(64) | YES | | | 商家系统名称 + remark | VARCHAR(256) | YES | | | 描述 + data_state | INT(10) | YES | | 1 | 数据状态:1有效,0无效 + create_empid | VARCHAR(64) | YES | | | 创建人 + create_date | DATETIME(19) | YES | | | 创建时间 + modfiy_empid | VARCHAR(64) | YES | | | 修改人 + modfiy_date | DATETIME(19) | YES | | | 修改时间 +--------------+--------------+------+-----+---------+--------- + Table: td_c_car --------------------+--------------+------+-----+---------+--------- Field | Type | Null | Key | Default | Remarks @@ -798,6 +816,7 @@ Table: td_c_cust_person prov_id | VARCHAR(16) | YES | | | 省份id city_id | VARCHAR(16) | YES | | | 地市 area_id | VARCHAR(16) | YES | | | 区县id + alias | VARCHAR(32) | YES | | | 推送别名 remark | VARCHAR(128) | YES | | | 描述 data_state | INT(10) | NO | | 1 | 数据状态:1有效,0无效 create_empid | VARCHAR(64) | YES | | | 创建人 diff --git a/src/main/java/com/rnt/model/zf/_MappingKit.java b/src/main/java/com/rnt/model/zf/_MappingKit.java index 5a909af..19429dd 100644 --- a/src/main/java/com/rnt/model/zf/_MappingKit.java +++ b/src/main/java/com/rnt/model/zf/_MappingKit.java @@ -44,6 +44,7 @@ public class _MappingKit { arp.addMapping("td_c_acct_person", "id", AcctPerson.class); arp.addMapping("td_c_acct_source", "id", AcctSource.class); arp.addMapping("td_c_acct_type", "id", AcctType.class); + arp.addMapping("td_c_app_config", "id", AppConfig.class); arp.addMapping("td_c_car", "id", Car.class); arp.addMapping("td_c_car_brand", "id", CarBrand.class); // Composite Primary Key order: cust_id,id diff --git a/src/main/java/com/rnt/model/zf/base/BaseCustPerson.java b/src/main/java/com/rnt/model/zf/base/BaseCustPerson.java index 44b093e..e82b8b8 100644 --- a/src/main/java/com/rnt/model/zf/base/BaseCustPerson.java +++ b/src/main/java/com/rnt/model/zf/base/BaseCustPerson.java @@ -162,6 +162,15 @@ public abstract class BaseCustPerson> extends Model< return get("area_id"); } + public M setAlias(java.lang.String alias) { + set("alias", alias); + return (M)this; + } + + public java.lang.String getAlias() { + return get("alias"); + } + public M setRemark(java.lang.String remark) { set("remark", remark); return (M)this; diff --git a/src/main/java/com/rnt/utils/JFinalGenerator_zf.java b/src/main/java/com/rnt/utils/JFinalGenerator_zf.java index 180b69d..dff0309 100644 --- a/src/main/java/com/rnt/utils/JFinalGenerator_zf.java +++ b/src/main/java/com/rnt/utils/JFinalGenerator_zf.java @@ -22,7 +22,7 @@ import com.jfinal.plugin.druid.DruidPlugin; */ public class JFinalGenerator_zf { public static DataSource getDataSource() { - PropKit.use("a_little_config.txt"); + PropKit.use("a_little_config_pro.txt"); DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("zf.druid.url"), PropKit.get("zf.druid.username"), PropKit.get("zf.druid.password").trim()); druidPlugin.start(); -- libgit2 0.21.4