篮球通过微信支付下订单,出场10分钟结束订单,该退钱退钱
This commit is contained in:
@@ -185,7 +185,7 @@ public class VenueController extends BaseApiController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/venue/generate/barcode", method = RequestMethod.POST)
|
@RequestMapping(value = "/venue/generate/barcode", method = RequestMethod.POST)
|
||||||
public ResponseDTO generateBarcode(@RequestParam("orderSn") String orderSn,@RequestParam("venueId") Integer venueId,Integer enterFlag) {
|
public ResponseDTO generateBarcode(@RequestParam("orderSn") String orderSn,@RequestParam("venueId") Integer venueId,@RequestParam("enterFlag")Integer enterFlag) {
|
||||||
Device byDevice = deviceService.findByDevice(venueId);
|
Device byDevice = deviceService.findByDevice(venueId);
|
||||||
if (byDevice == null) {
|
if (byDevice == null) {
|
||||||
throw new ServiceException("门禁通讯异常");
|
throw new ServiceException("门禁通讯异常");
|
||||||
@@ -209,7 +209,7 @@ public class VenueController extends BaseApiController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/venue/basketball/pay", method = RequestMethod.POST)
|
@RequestMapping(value = "/venue/basketball/pay", method = RequestMethod.POST)
|
||||||
@AccessToken
|
@AccessToken
|
||||||
public ResponseDTO basketPay(@RequestParam("venueId") Integer venueId,@RequestParam("payMoney") Double payMoney){
|
public ResponseDTO basketPay(@RequestParam("venueId") Integer venueId,@RequestParam("enterFlag")Integer enterFlag,@RequestParam("payMoney") Double payMoney){
|
||||||
Device byDevice = deviceService.findByDevice(venueId);
|
Device byDevice = deviceService.findByDevice(venueId);
|
||||||
if (byDevice == null) {
|
if (byDevice == null) {
|
||||||
throw new ServiceException("门禁通讯异常");
|
throw new ServiceException("门禁通讯异常");
|
||||||
@@ -221,7 +221,7 @@ public class VenueController extends BaseApiController {
|
|||||||
}
|
}
|
||||||
Integer memberId = getMemberIdByAccessToken();
|
Integer memberId = getMemberIdByAccessToken();
|
||||||
return ResponseDTO.ok().
|
return ResponseDTO.ok().
|
||||||
addAttribute("pay",orderService.createEnterVenueOrder(venueId, memberId, PayTypeEnum.WEI_XIN, new BigDecimal(payMoney)));
|
addAttribute("pay",orderService.createEnterVenueOrder(venueId, memberId, enterFlag, PayTypeEnum.WEI_XIN, new BigDecimal(payMoney)));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,6 @@ CREATE TABLE `sv_member_enter_status` (
|
|||||||
ALTER TABLE sv_barcode
|
ALTER TABLE sv_barcode
|
||||||
ADD COLUMN order_sn varchar(200) AFTER barcode;
|
ADD COLUMN order_sn varchar(200) AFTER barcode;
|
||||||
ALTER TABLE `smart_venue`.`sv_barcode_order_time`
|
ALTER TABLE `smart_venue`.`sv_barcode_order_time`
|
||||||
ADD COLUMN `paying` int(11) NULL COMMENT '入场 paying = 0 出场未结算 paying = 1' AFTER `status`,
|
ADD COLUMN `paying` int(11) NULL COMMENT '入场 paying = 0 出场未结算 paying = 1 出场补交费用已补交 paying = 2' AFTER `status`,
|
||||||
ADD COLUMN `pay_money` int(11) NULL COMMENT '退款金额' AFTER `paying`,
|
ADD COLUMN `pay_money` int(11) NULL COMMENT '退款金额' AFTER `paying`,
|
||||||
ADD COLUMN `order_sn` varchar(200) NULL COMMENT '退款订单号' AFTER `pay_money`;
|
ADD COLUMN `order_sn` varchar(200) NULL COMMENT '退款订单号' AFTER `pay_money`;
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ public interface BarcodeOrderTimeMapper {
|
|||||||
|
|
||||||
BarcodeOrderTime findLastOrder(@Param("memberId") Integer memberId, @Param("venueId") Integer venueId);
|
BarcodeOrderTime findLastOrder(@Param("memberId") Integer memberId, @Param("venueId") Integer venueId);
|
||||||
|
|
||||||
|
BarcodeOrderTime findLastOrderBySn(@Param("memberId") Integer memberId, @Param("venueId") Integer venueId,@Param("orderSn") String orderSn);
|
||||||
|
|
||||||
List<BarcodeOrderTime> endOrderList(@Param("currentDate") Date currentDate);
|
List<BarcodeOrderTime> endOrderList(@Param("currentDate") Date currentDate);
|
||||||
|
|
||||||
List<BarcodeOrderTime> needPayOrderList();
|
List<BarcodeOrderTime> needPayOrderList();
|
||||||
|
|||||||
@@ -90,6 +90,8 @@ public interface OrderMapper {
|
|||||||
*/
|
*/
|
||||||
void updatePrepayId(@Param("orderSn") String orderSn,@Param("prepayId") String prepayId);
|
void updatePrepayId(@Param("orderSn") String orderSn,@Param("prepayId") String prepayId);
|
||||||
|
|
||||||
|
Order findLastOrder(@Param("memberId") Integer memberId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* api 根据订单编号查询总价钱
|
* api 根据订单编号查询总价钱
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
package com.sv.service.api;
|
package com.sv.service.api;
|
||||||
|
|
||||||
import com.enums.BarCodeStatusEnum;
|
import com.enums.*;
|
||||||
import com.enums.OrderPayEnum;
|
|
||||||
import com.enums.OrderTypeEnum;
|
|
||||||
import com.enums.PayTypeEnum;
|
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.sv.dto.api.wechat.BaseResult;
|
import com.sv.dto.api.wechat.BaseResult;
|
||||||
import com.sv.dto.api.wechat.OrderPaySignResponse;
|
import com.sv.dto.api.wechat.OrderPaySignResponse;
|
||||||
@@ -63,6 +60,8 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
private MemberService memberService;
|
private MemberService memberService;
|
||||||
@Resource
|
@Resource
|
||||||
private VenuePriceMapper venuePriceMapper;
|
private VenuePriceMapper venuePriceMapper;
|
||||||
|
@Resource
|
||||||
|
private BarcodeOrderTimeMapper barcodeOrderTimeMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建订单
|
* 创建订单
|
||||||
@@ -250,7 +249,7 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
* @param memberId
|
* @param memberId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public OrderPaySignResponse.WechatPayParam createEnterVenueOrder(Integer venueId, Integer memberId, PayTypeEnum payTypeEnum, BigDecimal price){
|
public OrderPaySignResponse.WechatPayParam createEnterVenueOrder(Integer venueId, Integer memberId, Integer enterFlag,PayTypeEnum payTypeEnum, BigDecimal price){
|
||||||
Venue venue = venueMapper.findById(venueId);
|
Venue venue = venueMapper.findById(venueId);
|
||||||
if (venue == null) {
|
if (venue == null) {
|
||||||
throw new ServiceException("未找到该场馆");
|
throw new ServiceException("未找到该场馆");
|
||||||
@@ -288,11 +287,23 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
order.setPlatformId(venue.getPlatformId());
|
order.setPlatformId(venue.getPlatformId());
|
||||||
order.setMemberId(memberId);
|
order.setMemberId(memberId);
|
||||||
order.setParentOrderId(venueId); /** 篮球入场这里输入场馆ID */
|
order.setParentOrderId(venueId); /** 篮球入场这里输入场馆ID */
|
||||||
|
order.setCreatedId(enterFlag); /** 篮球入场这里输入出场结算还是入场结算 */
|
||||||
orderMapper.insert(order);
|
orderMapper.insert(order);
|
||||||
//扣除用户余额 目前篮球订单不支持余额支付
|
//扣除用户余额 目前篮球订单不支持余额支付
|
||||||
// if(payTypeEnum.value.equals(PayTypeEnum.BALANCE.value)) {
|
// if(payTypeEnum.value.equals(PayTypeEnum.BALANCE.value)) {
|
||||||
// memberMoneyLogService.create(memberId, venue.getPlatformId(), MoneyLogEnum.JOIN.value, price.negate(), PayTypeEnum.BALANCE.value, null, venue.getId(), venue.getType(), null);
|
// memberMoneyLogService.create(memberId, venue.getPlatformId(), MoneyLogEnum.JOIN.value, price.negate(), PayTypeEnum.BALANCE.value, null, venue.getId(), venue.getType(), null);
|
||||||
// }
|
// }
|
||||||
|
if (EnterEnum.OUT.value == enterFlag) {
|
||||||
|
// 出场的话,将出场的订单设定 未结算 支付金额为 -1 , 这样批处理不会被结算,需要支付回调处理
|
||||||
|
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrder(memberId, venueId);
|
||||||
|
if (lastOrder != null) {
|
||||||
|
lastOrder.setPaying(1);
|
||||||
|
lastOrder.setPayMoney(-1);
|
||||||
|
lastOrder.setOrderSn(order.getOrderSn());
|
||||||
|
lastOrder.setModifiedTime(new Date());
|
||||||
|
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
OrderPaySignResponse.WechatPayParam wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId, RequestUtils.getIp(),"入场结算订单");
|
OrderPaySignResponse.WechatPayParam wechatPayParam = memberCardOrderService.createUnifiedOrder(order.getOrderSn(), memberId, RequestUtils.getIp(),"入场结算订单");
|
||||||
return wechatPayParam;
|
return wechatPayParam;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.sv.dto.api.VenueDTO;
|
|||||||
import com.sv.entity.*;
|
import com.sv.entity.*;
|
||||||
import com.sv.exception.api.ExceptionCodeTemplate;
|
import com.sv.exception.api.ExceptionCodeTemplate;
|
||||||
import com.sv.mapper.BarcodeOrderTimeMapper;
|
import com.sv.mapper.BarcodeOrderTimeMapper;
|
||||||
|
import com.sv.mapper.OrderMapper;
|
||||||
import com.sv.mapper.VenueMapper;
|
import com.sv.mapper.VenueMapper;
|
||||||
import com.sv.service.api.util.DateUtilCard;
|
import com.sv.service.api.util.DateUtilCard;
|
||||||
import com.sv.service.api.util.GeoHashUtils;
|
import com.sv.service.api.util.GeoHashUtils;
|
||||||
@@ -16,6 +17,7 @@ import com.ydd.framework.core.common.Pagination;
|
|||||||
import com.ydd.framework.core.common.utils.ValidationUtils;
|
import com.ydd.framework.core.common.utils.ValidationUtils;
|
||||||
import com.ydd.framework.core.exception.ServiceException;
|
import com.ydd.framework.core.exception.ServiceException;
|
||||||
import com.ydd.framework.core.service.impl.BaseServiceImpl;
|
import com.ydd.framework.core.service.impl.BaseServiceImpl;
|
||||||
|
import com.ydd.oms.entity.enums.PayStatusEnum;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -43,22 +45,17 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private VenueMapper venueMapper;
|
private VenueMapper venueMapper;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private MemberCardService memberCardService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private MemberService memberService;
|
private MemberService memberService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private MemberEnterVenueLogService memberEnterVenueLogService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private MemberMoneyLogService memberMoneyLogService;
|
private MemberMoneyLogService memberMoneyLogService;
|
||||||
@Resource
|
@Resource
|
||||||
private VenuePriceService venuePriceService;
|
private VenuePriceService venuePriceService;
|
||||||
@Resource
|
@Resource
|
||||||
BarcodeOrderTimeMapper barcodeOrderTimeMapper;
|
BarcodeOrderTimeMapper barcodeOrderTimeMapper;
|
||||||
|
@Resource
|
||||||
|
OrderMapper orderMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* api 接口
|
* api 接口
|
||||||
@@ -86,12 +83,10 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
// 按时入场余额需要包含两个小时的场地费
|
// 按时入场余额需要包含两个小时的场地费
|
||||||
price = price.multiply(new BigDecimal(2));
|
price = price.multiply(new BigDecimal(2));
|
||||||
}
|
}
|
||||||
if (venuePrice == null) {
|
|
||||||
throw new ServiceException(ExceptionCodeTemplate.VENUE_ERROR);
|
|
||||||
}
|
|
||||||
int effOrder = barcodeOrderTimeMapper.findEffOrder(new Date(), memberId, venueId);
|
int effOrder = barcodeOrderTimeMapper.findEffOrder(new Date(), memberId, venueId);
|
||||||
if (effOrder <= 0) {
|
if (effOrder <= 0) {
|
||||||
if (price.compareTo(BigDecimal.ZERO) > 0) {
|
if (price.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
checkOrderPaying(memberId);
|
||||||
basketEnterResult.setFlg(2);
|
basketEnterResult.setFlg(2);
|
||||||
basketEnterResult.setMsg("订单金额"+ price + "元,请确认!");
|
basketEnterResult.setMsg("订单金额"+ price + "元,请确认!");
|
||||||
basketEnterResult.setMoney(price);
|
basketEnterResult.setMoney(price);
|
||||||
@@ -110,11 +105,11 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 还沿用原来订单
|
// 还沿用原来订单
|
||||||
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrder(memberId, venueId);
|
BarcodeOrderTime lastEnterOrder = barcodeOrderTimeMapper.findLastOrder(memberId, venueId);
|
||||||
if (lastOrder != null) {
|
if (lastEnterOrder != null) {
|
||||||
lastOrder.setPaying(0);
|
lastEnterOrder.setPaying(0);
|
||||||
lastOrder.setModifiedTime(new Date());
|
lastEnterOrder.setModifiedTime(new Date());
|
||||||
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
barcodeOrderTimeMapper.updateByPrimaryKey(lastEnterOrder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 3.判断用户有没有人脸识别的图像,根据用户ID查找,一个用户只能有一条
|
// 3.判断用户有没有人脸识别的图像,根据用户ID查找,一个用户只能有一条
|
||||||
@@ -156,7 +151,7 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrder(memberId, venueId);
|
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrder(memberId, venueId);
|
||||||
String enterTime = DateUtilCard.getTimeFromDate(lastOrder.getOrderStart());
|
String enterTime = DateUtilCard.getTimeFromDate(lastOrder.getOrderStart());
|
||||||
Date dateNow = new Date();
|
Date dateNow = new Date();
|
||||||
if (dateNow.after(lastOrder.getOrderEnd())) {
|
if (dateNow.after(lastOrder.getOrderEnd()) && 2 != lastOrder.getPaying()) {
|
||||||
// 当前时间已经超过订单结束日期,则该订单需要重新补收费
|
// 当前时间已经超过订单结束日期,则该订单需要重新补收费
|
||||||
// 取入场的价格
|
// 取入场的价格
|
||||||
VenuePrice venuePriceEnter = venuePriceService.findPrice(venueId, enterTime);
|
VenuePrice venuePriceEnter = venuePriceService.findPrice(venueId, enterTime);
|
||||||
@@ -170,6 +165,7 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
// 需要补收的价格
|
// 需要补收的价格
|
||||||
price = price.multiply(new BigDecimal(hours - 1));
|
price = price.multiply(new BigDecimal(hours - 1));
|
||||||
if (price.compareTo(BigDecimal.ZERO) > 0 ) {
|
if (price.compareTo(BigDecimal.ZERO) > 0 ) {
|
||||||
|
checkOrderPaying(memberId);
|
||||||
result.setFlg(2);
|
result.setFlg(2);
|
||||||
result.setMoney(price);
|
result.setMoney(price);
|
||||||
result.setMsg("您此次入场超过2小时,需补交" + price + "元");
|
result.setMsg("您此次入场超过2小时,需补交" + price + "元");
|
||||||
@@ -187,6 +183,19 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户五分钟内有过微信支付,不能在结果未出来之前就让用户付款
|
||||||
|
* @param memberId
|
||||||
|
*/
|
||||||
|
private void checkOrderPaying(Integer memberId) {
|
||||||
|
Order mOrder = orderMapper.findLastOrder(memberId);
|
||||||
|
// 有未支付的订单,且订单未超过五分钟未支付
|
||||||
|
int diffMinute = DateUtilCard.diffMinute(mOrder.getModifiedTime(), new Date());
|
||||||
|
if (mOrder != null && PayStatusEnum.NOT_PAY.value == mOrder.getPayStatus() && diffMinute < 5) {
|
||||||
|
throw new ServiceException("您有处理中的订单,或刚刚取消支付,请稍后再试");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 记录入场记录
|
// 记录入场记录
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -242,10 +251,13 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
* @param order
|
* @param order
|
||||||
*/
|
*/
|
||||||
public void paySuccess(Order order) {
|
public void paySuccess(Order order) {
|
||||||
|
// order.getCreatedId() 如果等于1 则是出场的付费
|
||||||
|
Integer enterFlag = order.getCreatedId();
|
||||||
Integer memberId = order.getMemberId();
|
Integer memberId = order.getMemberId();
|
||||||
Integer venueId = order.getParentOrderId();
|
Integer venueId = order.getParentOrderId();
|
||||||
Venue venue = venueMapper.findById(venueId);
|
Venue venue = venueMapper.findById(venueId);
|
||||||
createMemberMoneyLog(MoneyLogEnum.JOIN.value, order.getPrice(), memberId, order.getPlatformId(), PayTypeEnum.WEI_XIN.value, null,venue.getId(), venue.getType());
|
createMemberMoneyLog(MoneyLogEnum.JOIN.value, order.getPrice(), memberId, order.getPlatformId(), PayTypeEnum.WEI_XIN.value, null,venue.getId(), venue.getType());
|
||||||
|
if (EnterEnum.OUT.value != enterFlag) {
|
||||||
Integer timePayHour = 2;
|
Integer timePayHour = 2;
|
||||||
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
||||||
// 按次入场先收钱,且多久不收钱,出场不收钱
|
// 按次入场先收钱,且多久不收钱,出场不收钱
|
||||||
@@ -256,5 +268,13 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
createBarcodeTimeOrder(memberId,venueId,timePayHour,order.getOrderSn());
|
createBarcodeTimeOrder(memberId,venueId,timePayHour,order.getOrderSn());
|
||||||
|
} else {
|
||||||
|
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrderBySn(memberId, venueId,order.getOrderSn());
|
||||||
|
if (lastOrder != null) {
|
||||||
|
lastOrder.setPaying(2);
|
||||||
|
lastOrder.setModifiedTime(new Date());
|
||||||
|
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,6 +146,10 @@ public class WechatPayService extends BaseServiceImpl {
|
|||||||
if (params.get("result_code").equals("SUCCESS")) {
|
if (params.get("result_code").equals("SUCCESS")) {
|
||||||
String orderSn = params.get("out_trade_no");
|
String orderSn = params.get("out_trade_no");
|
||||||
Order order = orderService.findOrderSn(orderSn,null);
|
Order order = orderService.findOrderSn(orderSn,null);
|
||||||
|
if (order == null) {
|
||||||
|
logger.error("找不到订单号!!!!!!!!!" + orderSn);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (order.getPayStatus().intValue() > 0) {
|
if (order.getPayStatus().intValue() > 0) {
|
||||||
//已支付 不需要在判断
|
//已支付 不需要在判断
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -157,7 +157,7 @@
|
|||||||
status = #{status,jdbcType=INTEGER},
|
status = #{status,jdbcType=INTEGER},
|
||||||
paying = #{paying,jdbcType=INTEGER},
|
paying = #{paying,jdbcType=INTEGER},
|
||||||
pay_money = #{payMoney,jdbcType=INTEGER}
|
pay_money = #{payMoney,jdbcType=INTEGER}
|
||||||
order_sn = #{orderSn,jdbcType=INTEGER}
|
order_sn = #{orderSn,jdbcType=VARCHAR}
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
@@ -175,6 +175,15 @@
|
|||||||
order by order_end desc LIMIT 1
|
order by order_end desc LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="findLastOrderBySn" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from sv_barcode_order_time
|
||||||
|
where member_id = #{memberId,jdbcType=INTEGER} and venue_id = #{venueId,jdbcType=INTEGER}
|
||||||
|
and order_sn = #{orderSn,jdbcType=VARCHAR}
|
||||||
|
order by order_end desc LIMIT 1
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="endOrderList" resultMap="BaseResultMap" >
|
<select id="endOrderList" resultMap="BaseResultMap" >
|
||||||
select
|
select
|
||||||
<include refid="Base_Column_List" />
|
<include refid="Base_Column_List" />
|
||||||
|
|||||||
@@ -435,4 +435,13 @@
|
|||||||
WHERE
|
WHERE
|
||||||
order_sn = #{orderSn}
|
order_sn = #{orderSn}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="findLastOrder" resultMap="OrderMap">
|
||||||
|
SELECT
|
||||||
|
<include refid="Field"></include>
|
||||||
|
FROM
|
||||||
|
<include refid="tableName"></include>
|
||||||
|
WHERE
|
||||||
|
deleted = 0 and member_id = #{memberId} order by modified_time desc limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user