门禁开门计费逻辑调整
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
package com.sv.mapper;
|
||||
|
||||
import com.sv.annotation.NoPlatform;
|
||||
import com.sv.entity.BarcodeEnterLog;
|
||||
import com.sv.entity.BarcodeOffline;
|
||||
|
||||
public interface BarcodeEnterLogMapper {
|
||||
int deleteByPrimaryKey(Integer id);
|
||||
|
||||
@NoPlatform
|
||||
int insert(BarcodeEnterLog record);
|
||||
|
||||
int insertSelective(BarcodeEnterLog record);
|
||||
@@ -16,6 +17,7 @@ public interface BarcodeEnterLogMapper {
|
||||
|
||||
int updateByPrimaryKey(BarcodeEnterLog record);
|
||||
|
||||
@NoPlatform
|
||||
BarcodeEnterLog findLastByBarcode(String barcode);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.sv.mapper;
|
||||
|
||||
import com.sv.entity.BarcodeOrderTime;
|
||||
|
||||
public interface BarcodeOrderTimeMapper {
|
||||
int deleteByPrimaryKey(Integer id);
|
||||
|
||||
int insert(BarcodeOrderTime record);
|
||||
|
||||
int insertSelective(BarcodeOrderTime record);
|
||||
|
||||
BarcodeOrderTime selectByPrimaryKey(Integer id);
|
||||
|
||||
int updateByPrimaryKeySelective(BarcodeOrderTime record);
|
||||
|
||||
int updateByPrimaryKey(BarcodeOrderTime record);
|
||||
}
|
||||
@@ -30,7 +30,7 @@ public class MemberEnterVenueLogService extends BaseServiceImpl {
|
||||
private MemberEnterVenueLogMapper memberEnterVenueLogMapper;
|
||||
|
||||
/**
|
||||
* 获取用户最后的进场记录
|
||||
* 获取用户最后的出入场记录
|
||||
*
|
||||
* @param memberId
|
||||
* @return
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.sv.dto.api.MemberCardVenuesDTO;
|
||||
import com.sv.dto.api.VenueDTO;
|
||||
import com.sv.entity.*;
|
||||
import com.sv.exception.api.ExceptionCodeTemplate;
|
||||
import com.sv.mapper.BarcodeMapper;
|
||||
import com.sv.mapper.VenueMapper;
|
||||
import com.sv.service.api.util.DateUtilCard;
|
||||
import com.sv.service.api.util.GeoHashUtils;
|
||||
@@ -57,6 +58,8 @@ public class VenueService extends BaseServiceImpl {
|
||||
private MemberMoneyLogService memberMoneyLogService;
|
||||
@Resource
|
||||
private VenuePriceService venuePriceService;
|
||||
@Resource
|
||||
BarcodeMapper barcodeMapper;
|
||||
|
||||
/**
|
||||
* 更新场馆
|
||||
@@ -220,28 +223,46 @@ public class VenueService extends BaseServiceImpl {
|
||||
}
|
||||
//参数校验
|
||||
ValidationUtils.assertNotNull(venueId);
|
||||
// 1.判断用户有没有该馆的会员卡(有效期内,如果有免费卡和别的卡,优先使用别的卡),有不判断余额
|
||||
List<MemberCard> memberCards = memberCardService.findByMemberId(venueId, memberId);
|
||||
// 2. 查询该场馆需要的费用,并比较用户余额是否足够
|
||||
// 查询当前时间内,场馆对应的价格
|
||||
String time = DateUtilCard.nowTime().toString();
|
||||
VenuePrice venuePrice = venuePriceService.findPrice(venueId, time);
|
||||
if (venuePrice == null) {
|
||||
throw new ServiceException(ExceptionCodeTemplate.VENUE_ERROR);
|
||||
}
|
||||
if (memberCards.size() == 0) {
|
||||
Member member = memberService.findById(memberId);
|
||||
if (member.getMoney().compareTo(venuePrice.getPrice()) == -1) {
|
||||
flag = 2;
|
||||
synchronized (("scancode-in" + memberId).intern()) {
|
||||
// 1.判断用户有没有该馆的会员卡(有效期内,如果有免费卡和别的卡,优先使用别的卡),有不判断余额
|
||||
List<MemberCard> memberCards = memberCardService.findByMemberId(venueId, memberId);
|
||||
// 2. 查询该场馆需要的费用,并比较用户余额是否足够
|
||||
// 查询当前时间内,场馆对应的价格
|
||||
String time = DateUtilCard.nowTime().toString();
|
||||
Venue venue = venueMapper.findById(venueId);
|
||||
VenuePrice venuePrice = venuePriceService.findPrice(venueId, time);
|
||||
BigDecimal price = venuePrice.getPrice();
|
||||
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
||||
// 按次入场先收钱,且多久之后不收钱,出场不收钱
|
||||
Integer timePayHour = venue.getTimePayHour();
|
||||
// 进过场,判断订单是否超时
|
||||
Barcode res = barcodeMapper.findBarcode(venueId, memberId);
|
||||
if (res != null) {
|
||||
// 已经生成了二维码,而且二维码有效
|
||||
res.getCreatedTime();
|
||||
// DateUtilCard.getTimeFromDate(memberLastLog.getCreatedTime());
|
||||
}
|
||||
}else {
|
||||
// 按时入场余额需要包含两个小时的场地费
|
||||
price = price.multiply(new BigDecimal(2));
|
||||
}
|
||||
if (venuePrice == null) {
|
||||
throw new ServiceException(ExceptionCodeTemplate.VENUE_ERROR);
|
||||
}
|
||||
if (memberCards.size() == 0) {
|
||||
Member member = memberService.findById(memberId);
|
||||
if (member.getMoney().compareTo(price) == -1) {
|
||||
flag = 2;
|
||||
}
|
||||
}
|
||||
barCodeResult.setFlg(flag);
|
||||
// 3.判断用户有没有人脸识别的图像,根据用户ID查找,一个用户只能有一条
|
||||
// MemberFaceInfo memberFaceInfo = memberFaceInfoService.findByMemberId(memberId);
|
||||
// if (memberFaceInfo == null) {
|
||||
// flag = 1;
|
||||
// return flag;
|
||||
// }
|
||||
}
|
||||
barCodeResult.setFlg(flag);
|
||||
// 3.判断用户有没有人脸识别的图像,根据用户ID查找,一个用户只能有一条
|
||||
// MemberFaceInfo memberFaceInfo = memberFaceInfoService.findByMemberId(memberId);
|
||||
// if (memberFaceInfo == null) {
|
||||
// flag = 1;
|
||||
// return flag;
|
||||
// }
|
||||
return barCodeResult;
|
||||
}
|
||||
|
||||
@@ -261,7 +282,7 @@ public class VenueService extends BaseServiceImpl {
|
||||
//参数校验
|
||||
ValidationUtils.assertNotNull(venueId);
|
||||
Venue venue = venueMapper.findById(venueId);
|
||||
synchronized (("scancode" + memberId).intern()) {
|
||||
synchronized (("scancode-out" + memberId).intern()) {
|
||||
// 查询当前时间内,场馆对应的价格(健身房没有价格)
|
||||
Member member = memberService.findByMember(memberId);
|
||||
memberService.verify(member);
|
||||
@@ -310,18 +331,37 @@ public class VenueService extends BaseServiceImpl {
|
||||
result.setMsg("未查询到会员卡,请先购买会员卡");
|
||||
}
|
||||
}else {
|
||||
/**
|
||||
* 篮球出场核心逻辑
|
||||
*/
|
||||
//判断余额是否够
|
||||
String time = DateUtilCard.nowTime().toString();
|
||||
VenuePrice venuePrice = venuePriceService.findPrice(venueId, time);
|
||||
if (memberService.isMoneyEnough(member.getId(), venuePrice.getPrice())) {
|
||||
// 1、找到入场时间
|
||||
MemberEnterVenueLog memberLastLog = memberEnterVenueLogService.findMemberLastLog(memberId, venueId);
|
||||
String enterTime = DateUtilCard.getTimeFromDate(memberLastLog.getCreatedTime());
|
||||
String outTime = DateUtilCard.nowTime().toString();
|
||||
BigDecimal price = BigDecimal.ZERO;
|
||||
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
||||
// 按次出场不扣钱
|
||||
// 取入场的价格
|
||||
VenuePrice venuePriceEnter = venuePriceService.findPrice(venueId, enterTime);
|
||||
// VenuePrice venuePriceOut = venuePriceService.findPrice(venueId, outTime);
|
||||
price = venuePriceEnter.getPrice();
|
||||
}else {
|
||||
// 按时出场选择按照分钟四舍五入到角扣款
|
||||
VenuePrice venuePriceEnter = venuePriceService.findPrice(venueId, enterTime);
|
||||
price = venuePriceEnter.getPrice();
|
||||
int hours = DateUtilCard.diffHours(enterTime, outTime);
|
||||
price = price.multiply(new BigDecimal(hours));
|
||||
}
|
||||
if (memberService.isMoneyEnough(member.getId(), price)) {
|
||||
logger.info("用户" + member.getNickname() + "使用余额核销订单");
|
||||
createMemberMoneyLog(MoneyLogEnum.JOIN.value, venuePrice.getPrice(), member.getId(), member.getPlatformId(), PayTypeEnum.BALANCE.value, null,
|
||||
createMemberMoneyLog(MoneyLogEnum.JOIN.value, price, member.getId(), member.getPlatformId(), PayTypeEnum.BALANCE.value, null,
|
||||
venue.getId(), venue.getType());
|
||||
} else {
|
||||
//余额不足
|
||||
logger.error("用户" + member.getNickname() + "余额不足核销失败");
|
||||
result.setFlg(1);
|
||||
result.setMsg("余额不足,请先充值");
|
||||
result.setMsg("此次订单金额为:" + price + "元,余额不足,请先充值");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.sv.service.api.util;
|
||||
|
||||
import com.enums.VipTypeEnum;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -12,6 +13,7 @@ import java.util.GregorianCalendar;
|
||||
public class DateUtilCard {
|
||||
|
||||
private final static SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd");
|
||||
private final static SimpleDateFormat sdfTime = new SimpleDateFormat( "HH:mm:ss");
|
||||
|
||||
public static Date getYear(Date date){
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
@@ -145,6 +147,10 @@ public class DateUtilCard {
|
||||
}
|
||||
}
|
||||
|
||||
public static String getTimeFromDate(Date date){
|
||||
return sdfTime.format(date);
|
||||
}
|
||||
|
||||
public static String getStrFromDate(Date date){
|
||||
return sdf.format(date);
|
||||
}
|
||||
@@ -163,4 +169,24 @@ public class DateUtilCard {
|
||||
return calendar.getTime(); //这个时间就是日期往后推一天的结果
|
||||
}
|
||||
|
||||
public static int diffHours(String startTime,String endTime){
|
||||
if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)){
|
||||
return 1;
|
||||
}
|
||||
try {
|
||||
String[] split1 = startTime.split(":");
|
||||
String[] split2 = startTime.split(":");
|
||||
int t1 = 0;
|
||||
int t2 = 0;
|
||||
t1 = (Integer.parseInt(split1[0]) * 3600)
|
||||
+ (Integer.parseInt(split1[1]) * 60) + Integer.parseInt(split1[2]);
|
||||
t2 = (Integer.parseInt(split2[0]) * 3600)
|
||||
+ (Integer.parseInt(split2[1]) * 60) + Integer.parseInt(split2[2]);
|
||||
int diff = t2 - t1 - 600;
|
||||
return (diff / 3600) + 1;
|
||||
}catch (Exception e){
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -221,6 +221,7 @@ public class DeviceService extends BaseServiceImpl {
|
||||
return deviceMapper.findByDevice(venueId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void makeDeviceBarcode(String deviceName, Integer venueId, String barcode) {
|
||||
BarcodeOffline barcodeOffline = new BarcodeOffline();
|
||||
Date startTime = new Date();
|
||||
|
||||
@@ -24,7 +24,8 @@ public class VenueBarcodeUtil {
|
||||
|
||||
public static String generateBarcode(String barcodeValue,String fileName) {
|
||||
try {
|
||||
String geneFilePath = "/Users/limqhz/home/test/" + fileName;
|
||||
String geneFilePath = "/home/test/" + fileName;
|
||||
// String geneFilePath = "/Users/limqhz/home/test/" + fileName;
|
||||
makeBarcode(geneFilePath,barcodeValue);
|
||||
return geneFilePath;
|
||||
}catch (WriterException e) {
|
||||
|
||||
@@ -152,158 +152,6 @@
|
||||
device_name = #{deviceName,jdbcType=VARCHAR}
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
<resultMap id="BaseResultMap" type="com.sv.entity.BarcodeOffline">
|
||||
<constructor>
|
||||
<idArg column="id" javaType="java.lang.Integer" jdbcType="INTEGER" />
|
||||
<arg column="barcode" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
<arg column="start_time" javaType="java.util.Date" jdbcType="TIMESTAMP" />
|
||||
<arg column="end_time" javaType="java.util.Date" jdbcType="TIMESTAMP" />
|
||||
<arg column="venue_id" javaType="java.lang.Integer" jdbcType="INTEGER" />
|
||||
<arg column="created_id" javaType="java.lang.Integer" jdbcType="INTEGER" />
|
||||
<arg column="modified_id" javaType="java.lang.Integer" jdbcType="INTEGER" />
|
||||
<arg column="created_time" javaType="java.util.Date" jdbcType="TIMESTAMP" />
|
||||
<arg column="modified_time" javaType="java.util.Date" jdbcType="TIMESTAMP" />
|
||||
<arg column="device_name" javaType="java.lang.String" jdbcType="VARCHAR" />
|
||||
</constructor>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, barcode, start_time, end_time, venue_id, created_id, modified_id, created_time,
|
||||
modified_time, device_name
|
||||
</sql>
|
||||
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from sv_barcode_offline
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
|
||||
delete from sv_barcode_offline
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</delete>
|
||||
<insert id="insert" parameterType="com.sv.entity.BarcodeOffline">
|
||||
insert into sv_barcode_offline (id, barcode, start_time,
|
||||
end_time, venue_id, created_id,
|
||||
modified_id, created_time, modified_time,
|
||||
device_name)
|
||||
values (#{id,jdbcType=INTEGER}, #{barcode,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP},
|
||||
#{endTime,jdbcType=TIMESTAMP}, #{venueId,jdbcType=INTEGER}, #{createdId,jdbcType=INTEGER},
|
||||
#{modifiedId,jdbcType=INTEGER}, #{createdTime,jdbcType=TIMESTAMP}, #{modifiedTime,jdbcType=TIMESTAMP},
|
||||
#{deviceName,jdbcType=VARCHAR})
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.sv.entity.BarcodeOffline">
|
||||
insert into sv_barcode_offline
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
id,
|
||||
</if>
|
||||
<if test="barcode != null">
|
||||
barcode,
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
start_time,
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
end_time,
|
||||
</if>
|
||||
<if test="venueId != null">
|
||||
venue_id,
|
||||
</if>
|
||||
<if test="createdId != null">
|
||||
created_id,
|
||||
</if>
|
||||
<if test="modifiedId != null">
|
||||
modified_id,
|
||||
</if>
|
||||
<if test="createdTime != null">
|
||||
created_time,
|
||||
</if>
|
||||
<if test="modifiedTime != null">
|
||||
modified_time,
|
||||
</if>
|
||||
<if test="deviceName != null">
|
||||
device_name,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
#{id,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="barcode != null">
|
||||
#{barcode,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
#{startTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
#{endTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="venueId != null">
|
||||
#{venueId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createdId != null">
|
||||
#{createdId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="modifiedId != null">
|
||||
#{modifiedId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createdTime != null">
|
||||
#{createdTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="modifiedTime != null">
|
||||
#{modifiedTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="deviceName != null">
|
||||
#{deviceName,jdbcType=VARCHAR},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective" parameterType="com.sv.entity.BarcodeOffline">
|
||||
update sv_barcode_offline
|
||||
<set>
|
||||
<if test="barcode != null">
|
||||
barcode = #{barcode,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
start_time = #{startTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
end_time = #{endTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="venueId != null">
|
||||
venue_id = #{venueId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createdId != null">
|
||||
created_id = #{createdId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="modifiedId != null">
|
||||
modified_id = #{modifiedId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createdTime != null">
|
||||
created_time = #{createdTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="modifiedTime != null">
|
||||
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="deviceName != null">
|
||||
device_name = #{deviceName,jdbcType=VARCHAR},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.sv.entity.BarcodeOffline">
|
||||
update sv_barcode_offline
|
||||
set barcode = #{barcode,jdbcType=VARCHAR},
|
||||
start_time = #{startTime,jdbcType=TIMESTAMP},
|
||||
end_time = #{endTime,jdbcType=TIMESTAMP},
|
||||
venue_id = #{venueId,jdbcType=INTEGER},
|
||||
created_id = #{createdId,jdbcType=INTEGER},
|
||||
modified_id = #{modifiedId,jdbcType=INTEGER},
|
||||
created_time = #{createdTime,jdbcType=TIMESTAMP},
|
||||
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
||||
device_name = #{deviceName,jdbcType=VARCHAR}
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
|
||||
<select id="selectByBarcode" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.sv.mapper.BarcodeOrderTimeMapper" >
|
||||
<resultMap id="BaseResultMap" type="com.sv.entity.BarcodeOrderTime" >
|
||||
<constructor >
|
||||
<idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
||||
<arg column="member_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
||||
<arg column="venue_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
||||
<arg column="created_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||
<arg column="modified_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||
<arg column="order_start" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||
<arg column="order_end" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||
</constructor>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List" >
|
||||
id, member_id, venue_id, created_time, modified_time, order_start, order_end
|
||||
</sql>
|
||||
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from sv_barcode_order_time
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
|
||||
delete from sv_barcode_order_time
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</delete>
|
||||
<insert id="insert" parameterType="com.sv.entity.BarcodeOrderTime" >
|
||||
insert into sv_barcode_order_time (id, member_id, venue_id,
|
||||
created_time, modified_time, order_start,
|
||||
order_end)
|
||||
values (#{id,jdbcType=INTEGER}, #{memberId,jdbcType=INTEGER}, #{venueId,jdbcType=INTEGER},
|
||||
#{createdTime,jdbcType=TIMESTAMP}, #{modifiedTime,jdbcType=TIMESTAMP}, #{orderStart,jdbcType=TIMESTAMP},
|
||||
#{orderEnd,jdbcType=TIMESTAMP})
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
||||
insert into sv_barcode_order_time
|
||||
<trim prefix="(" suffix=")" suffixOverrides="," >
|
||||
<if test="id != null" >
|
||||
id,
|
||||
</if>
|
||||
<if test="memberId != null" >
|
||||
member_id,
|
||||
</if>
|
||||
<if test="venueId != null" >
|
||||
venue_id,
|
||||
</if>
|
||||
<if test="createdTime != null" >
|
||||
created_time,
|
||||
</if>
|
||||
<if test="modifiedTime != null" >
|
||||
modified_time,
|
||||
</if>
|
||||
<if test="orderStart != null" >
|
||||
order_start,
|
||||
</if>
|
||||
<if test="orderEnd != null" >
|
||||
order_end,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
||||
<if test="id != null" >
|
||||
#{id,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="memberId != null" >
|
||||
#{memberId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="venueId != null" >
|
||||
#{venueId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createdTime != null" >
|
||||
#{createdTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="modifiedTime != null" >
|
||||
#{modifiedTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="orderStart != null" >
|
||||
#{orderStart,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="orderEnd != null" >
|
||||
#{orderEnd,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
||||
update sv_barcode_order_time
|
||||
<set >
|
||||
<if test="memberId != null" >
|
||||
member_id = #{memberId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="venueId != null" >
|
||||
venue_id = #{venueId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createdTime != null" >
|
||||
created_time = #{createdTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="modifiedTime != null" >
|
||||
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="orderStart != null" >
|
||||
order_start = #{orderStart,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="orderEnd != null" >
|
||||
order_end = #{orderEnd,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.sv.entity.BarcodeOrderTime" >
|
||||
update sv_barcode_order_time
|
||||
set member_id = #{memberId,jdbcType=INTEGER},
|
||||
venue_id = #{venueId,jdbcType=INTEGER},
|
||||
created_time = #{createdTime,jdbcType=TIMESTAMP},
|
||||
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
||||
order_start = #{orderStart,jdbcType=TIMESTAMP},
|
||||
order_end = #{orderEnd,jdbcType=TIMESTAMP}
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -337,7 +337,7 @@
|
||||
<select id="findLastNoTypeByMember" resultMap="MemberEnterVeneuLogMap">
|
||||
SELECT id,member_id,venue_id,created_time,member_card_id,type
|
||||
FROM sv_member_enter_veneu_log
|
||||
WHERE member_id = #{memberId} and venue_id = #{venueId} and deleted = 0 order by created_time desc LIMIT 1
|
||||
WHERE member_id = #{memberId} and venue_id = #{venueId} and deleted = 0 and type = 0 order by created_time desc LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="findMemberEnterLogByDate" resultMap="MemberEnterVeneuLogMap">
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
<result column="copy_time" property="copyTime"/>
|
||||
<result column="copy_target" property="copyTarget"/>
|
||||
<result column="copy_control" property="copyControl"/>
|
||||
<result column="pay_style" property="payStyle"/>
|
||||
<result column="time_pay_hour" property="timePayHour"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="VenueDtoMap" type="com.sv.dto.api.VenueDTO">
|
||||
@@ -67,6 +69,8 @@
|
||||
<result column="copy_time" property="copyTime"/>
|
||||
<result column="copy_target" property="copyTarget"/>
|
||||
<result column="copy_control" property="copyControl"/>
|
||||
<result column="pay_style" property="payStyle"/>
|
||||
<result column="time_pay_hour" property="timePayHour"/>
|
||||
<result column="code_url" property="codeUrl"></result>
|
||||
<association property="cards" select="com.sv.mapper.VenueCardMapper.findByVenueId"
|
||||
column="{venueId = id,venueType=type}"></association>
|
||||
@@ -130,7 +134,9 @@
|
||||
copy_week,
|
||||
copy_time,
|
||||
copy_target,
|
||||
copy_control
|
||||
copy_control,
|
||||
pay_style,
|
||||
time_pay_hour
|
||||
</sql>
|
||||
|
||||
<!-- 字段值 -->
|
||||
@@ -162,6 +168,8 @@
|
||||
#{copy_time, jdbcType=TIMESTAMP},
|
||||
#{copy_target, jdbcType=TINYINT},
|
||||
#{copy_control, jdbcType=TINYINT}
|
||||
#{pay_style, jdbcType=TINYINT}
|
||||
#{time_pay_hour, jdbcType=TINYINT}
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部记录 -->
|
||||
@@ -308,6 +316,12 @@
|
||||
<if test="copyControl != null">
|
||||
copy_control,
|
||||
</if>
|
||||
<if test="payStyle != null">
|
||||
pay_style,
|
||||
</if>
|
||||
<if test="timePayHour != null">
|
||||
time_pay_hour,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
@@ -406,6 +420,12 @@
|
||||
<if test="copyControl != null">
|
||||
#{copyControl},
|
||||
</if>
|
||||
<if test="payStyle != null">
|
||||
#{payStyle},
|
||||
</if>
|
||||
<if test="timePayHour != null">
|
||||
#{timePayHour},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@@ -535,6 +555,12 @@
|
||||
<if test="copyControl != null">
|
||||
copy_control = #{copyControl},
|
||||
</if>
|
||||
<if test="payStyle != null">
|
||||
pay_style = #{payStyle},
|
||||
</if>
|
||||
<if test="timePayHour != null">
|
||||
time_pay_hour = #{timePayHour},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
@@ -579,7 +605,9 @@
|
||||
copy_time,
|
||||
copy_target,
|
||||
copy_control,
|
||||
status
|
||||
status,
|
||||
pay_style,
|
||||
time_pay_hour
|
||||
FROM
|
||||
sv_venue
|
||||
WHERE
|
||||
@@ -634,13 +662,13 @@
|
||||
select count(0) from sv_venue_member where member_id = #{memberId} and venue_id = #{venueId}
|
||||
</select>
|
||||
|
||||
<insert id="addNumber">
|
||||
<update id="addNumber">
|
||||
update sv_venue set number = number + #{number} where id = #{venueId}
|
||||
</insert>
|
||||
</update>
|
||||
|
||||
<insert id="updateNumber">
|
||||
<update id="updateNumber">
|
||||
update sv_venue set number = #{number} where id = #{venueId}
|
||||
</insert>
|
||||
</update>
|
||||
|
||||
<insert id="addMember">
|
||||
INSERT INTO sv_venue_member (`member_id`, `venue_id`) VALUES (#{memberId},#{venueId})
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
domainObjectName 给表对应的 model 起名字
|
||||
注意:大小写敏感问题。
|
||||
-->
|
||||
<table tableName="sv_barcode_enter_venue_log" domainObjectName="BarcodeEnterLog"
|
||||
<table tableName="sv_barcode_order_time" domainObjectName="BarcodeOrderTime"
|
||||
enableInsert="true"
|
||||
enableDeleteByPrimaryKey="true"
|
||||
enableSelectByPrimaryKey="true"
|
||||
|
||||
Reference in New Issue
Block a user