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();