记得上下班打卡 | git大法好,push需谨慎

Commit 41324a58 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'master' into dev_price_0

parents b706ddbc 91a97871
...@@ -11,45 +11,48 @@ import java.time.LocalDateTime; ...@@ -11,45 +11,48 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ApiModel(value = "AdamUserInfoVo", description = "用户详情") @ApiModel(value = "AdamUserInfoVo", description = "用户详情")
@Data
public class AdamUserInfoVo implements java.io.Serializable, Cloneable { public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
private static final long serialVersionUID = 8479869354894030303L; private static final long serialVersionUID = 8479869354894030303L;
@ApiModelProperty(position = 10, value = "用户ID[64]") @ApiModelProperty(position = 10, value = "用户ID[64]")
private String uid; private String uid;
@ApiModelProperty(position = 11, value = "手机号[20]") @ApiModelProperty(position = 11, value = "手机号[20]")
private String mobile; private String mobile;
@ApiModelProperty(position = 12, value = "昵称[32]") @ApiModelProperty(position = 12, value = "登录密码[64],只针对PHP老用户,新用户无此功能")
private String passwd;
// @ApiModelProperty(position = 13, value = "支付密码[30],暂无此功能")
// private String payCode;
@ApiModelProperty(position = 14, value = "昵称[32]")
private String nickname; private String nickname;
@ApiModelProperty(position = 13, value = "状态[1-正常,2-注销]") @ApiModelProperty(position = 15, value = "状态[1-正常,2-注销]")
private Integer state; private Integer state;
@ApiModelProperty(position = 14, value = "性别[32]") @ApiModelProperty(position = 16, value = "性别[32]")
private AdamTagVo sex; private AdamTagVo sex;
@ApiModelProperty(position = 15, value = "生日[YYYY-MM-DD]") @ApiModelProperty(position = 17, value = "生日[YYYY-MM-DD]")
private String birthday; private String birthday;
@ApiModelProperty(position = 16, value = "常住地/区域") @ApiModelProperty(position = 18, value = "常住地/区域")
private String area; private String area;
@ApiModelProperty(position = 17, value = "个性签名") @ApiModelProperty(position = 19, value = "个性签名")
private String signature; private String signature;
@ApiModelProperty(position = 18, value = "头像") @ApiModelProperty(position = 20, value = "头像")
private String avatar; private String avatar;
@ApiModelProperty(position = 19, value = "背景图") @ApiModelProperty(position = 21, value = "背景图")
private String background; private String background;
@ApiModelProperty(position = 20, value = "标签") @ApiModelProperty(position = 22, value = "标签")
private List<AdamTagParentVo> tagMe; private List<AdamTagParentVo> tagMe;
@ApiModelProperty(position = 21, value = "注册时间") @ApiModelProperty(position = 23, value = "注册时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR) @JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime createAt; private LocalDateTime createAt;
@ApiModelProperty(position = 22, value = "最近一次更新时间") @ApiModelProperty(position = 24, value = "最近一次更新时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR) @JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
@ApiModelProperty(position = 23, value = "注销时间") @ApiModelProperty(position = 25, value = "注销时间")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR) @JsonFormat(shape=JsonFormat.Shape.STRING, pattern= DateUtil.DATE_FULL_STR)
private LocalDateTime closedAt; private LocalDateTime closedAt;
@ApiModelProperty(position = 24, value = "完善信息进度[0-未完善,1-已完善]") @ApiModelProperty(position = 26, value = "完善信息进度[0-未完善,1-已完善]")
private Integer isComplete; private Integer isComplete;
@ApiModelProperty(position = 25, value = "") @ApiModelProperty(position = 27, value = "")
private String rongCloudToken; private String rongCloudToken;
@ApiModelProperty(position = 26, value = "身份二维码") @ApiModelProperty(position = 28, value = "身份二维码")
private String qrCode; private String qrCode;
private static final AdamUserInfoVo obj = new AdamUserInfoVo(); private static final AdamUserInfoVo obj = new AdamUserInfoVo();
...@@ -62,4 +65,149 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable { ...@@ -62,4 +65,149 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
} }
return new AdamUserInfoVo(); return new AdamUserInfoVo();
} }
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getPasswd() {
// return passwd;
return "*";
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public AdamTagVo getSex() {
return sex;
}
public void setSex(AdamTagVo sex) {
this.sex = sex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getSignature() {
return signature;
}
public void setSignature(String signature) {
this.signature = signature;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getBackground() {
return background;
}
public void setBackground(String background) {
this.background = background;
}
public List<AdamTagParentVo> getTagMe() {
return tagMe;
}
public void setTagMe(List<AdamTagParentVo> tagMe) {
this.tagMe = tagMe;
}
public LocalDateTime getCreateAt() {
return createAt;
}
public void setCreateAt(LocalDateTime createAt) {
this.createAt = createAt;
}
public LocalDateTime getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(LocalDateTime updatedAt) {
this.updatedAt = updatedAt;
}
public LocalDateTime getClosedAt() {
return closedAt;
}
public void setClosedAt(LocalDateTime closedAt) {
this.closedAt = closedAt;
}
public Integer getIsComplete() {
return isComplete;
}
public void setIsComplete(Integer isComplete) {
this.isComplete = isComplete;
}
public String getRongCloudToken() {
return rongCloudToken;
}
public void setRongCloudToken(String rongCloudToken) {
this.rongCloudToken = rongCloudToken;
}
public String getQrCode() {
return qrCode;
}
public void setQrCode(String qrCode) {
this.qrCode = qrCode;
}
} }
...@@ -289,7 +289,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -289,7 +289,9 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, reject, ""); res = kylinRefundsStatusServiceImpl.orderRefundChangeStatus(refundList, type, reject, "");
break; break;
case "unfilled": case "unfilled":
kylinRefundsStatusServiceImpl.orderTicketRefundUnfilled(refundList, refuse); String authId = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName();
kylinRefundsStatusServiceImpl.orderTicketRefundUnfilled(refundList, refuse, authId, authName);
res = true; res = true;
break; break;
case "refuse": case "refuse":
......
...@@ -402,10 +402,7 @@ public class KylinRefundsStatusServiceImpl { ...@@ -402,10 +402,7 @@ public class KylinRefundsStatusServiceImpl {
} }
@Async @Async
public void orderTicketRefundUnfilled(List<KylinOrderRefunds> refundList, String refuse) { public void orderTicketRefundUnfilled(List<KylinOrderRefunds> refundList, String refuse, String authId, String authName) {
String authId = ShiroUtils.getUserId().toString();
String authName = ShiroUtils.getLoginName();
KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds(); KylinOrderRefunds kylinOrderRefunds = new KylinOrderRefunds();
kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_UNFILLED); kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_UNFILLED);
kylinOrderRefunds.setExecutorId(authId); kylinOrderRefunds.setExecutorId(authId);
......
...@@ -125,6 +125,16 @@ public abstract class DateUtil { ...@@ -125,6 +125,16 @@ public abstract class DateUtil {
return new Date(c.getTimeInMillis()); return new Date(c.getTimeInMillis());
} }
/**
* 计算日期,增加分支
*/
public static Date addMin(Date date, int months) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.MINUTE, c.get(Calendar.MINUTE) + months);
return new Date(c.getTimeInMillis());
}
/** /**
* 计算日期,增加天数 * 计算日期,增加天数
* *
......
...@@ -13,9 +13,9 @@ liquidnet: ...@@ -13,9 +13,9 @@ liquidnet:
file-max-size: 200MB file-max-size: 200MB
level: debug level: debug
mysql: mysql:
database-name: dev_ln_scene database-name: test_ln_scene
mongodb: mongodb:
sslEnabled: false sslEnabled: false
database: dev_ln_scene database: test_ln_scene
#以下为spring各环境个性配置 #以下为spring各环境个性配置
...@@ -278,9 +278,13 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -278,9 +278,13 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId); KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId()); KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId()); List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if(uid.equals("809406") || uid.equals("773650")) {
}else{
if (!orderTicketVo.getUserId().equals(uid)) { if (!orderTicketVo.getUserId().equals(uid)) {
return ResponseDto.failure(ErrorMapping.get("20003")); return ResponseDto.failure(ErrorMapping.get("20003"));
} }
}
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = orderTicketVo.getEntitiesVoList(); List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = orderTicketVo.getEntitiesVoList();
List<KylinOrderTicketEntitiesPreRefundVo> kylinOrderTicketEntitiesPreRefundVos = ObjectUtil.getKylinOrderTicketEntitiesPreRefundVoArrayList(); List<KylinOrderTicketEntitiesPreRefundVo> kylinOrderTicketEntitiesPreRefundVos = ObjectUtil.getKylinOrderTicketEntitiesPreRefundVoArrayList();
// 数据脱敏 // 数据脱敏
...@@ -319,9 +323,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -319,9 +323,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId); KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId()); KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
if(uid.equals("809406") || uid.equals("773650")) {
}else{
if (!orderTicketVo.getUserId().equals(uid)) { if (!orderTicketVo.getUserId().equals(uid)) {
return ResponseDto.failure(ErrorMapping.get("20003")); return ResponseDto.failure(ErrorMapping.get("20003"));
} }
}
orderTicketVo.setFieldName(performanceVo.getFieldName()); orderTicketVo.setFieldName(performanceVo.getFieldName());
if(orderTicketVo.getOrderCode().length()>20) { if(orderTicketVo.getOrderCode().length()>20) {
orderTicketVo.setOrderCode(orderTicketVo.getOrderCode().substring(orderTicketVo.getOrderCode().length() - 10)); orderTicketVo.setOrderCode(orderTicketVo.getOrderCode().substring(orderTicketVo.getOrderCode().length() - 10));
...@@ -346,9 +353,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -346,9 +353,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId); KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId()); List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if(uid.equals("809406") || uid.equals("773650")) {
}else{
if (!orderTicketVo.getUserId().equals(uid)) { if (!orderTicketVo.getUserId().equals(uid)) {
return "无权查看"; return "无权查看";
} }
}
if (!orderTicketVo.getPayStatus().equals(1)) { if (!orderTicketVo.getPayStatus().equals(1)) {
return "暂不支持退款"; return "暂不支持退款";
......
...@@ -26,6 +26,12 @@ public class SweetManualAppletDto implements Serializable ,Cloneable{ ...@@ -26,6 +26,12 @@ public class SweetManualAppletDto implements Serializable ,Cloneable{
private String timeStart; private String timeStart;
@ApiModelProperty("演出结束时间") @ApiModelProperty("演出结束时间")
private String timeEnd; private String timeEnd;
@ApiModelProperty("演出开售时间")
private String timeSell;
@ApiModelProperty("是否会员")
private Integer isMember;
@ApiModelProperty("提前时间")
private Integer payCountdownMinute;
@ApiModelProperty("经度") @ApiModelProperty("经度")
private String longitude; private String longitude;
......
...@@ -25,6 +25,13 @@ public class SweetManualAppletMDSKDto implements Serializable ,Cloneable{ ...@@ -25,6 +25,13 @@ public class SweetManualAppletMDSKDto implements Serializable ,Cloneable{
private String timeStart; private String timeStart;
@ApiModelProperty("演出结束时间") @ApiModelProperty("演出结束时间")
private String timeEnd; private String timeEnd;
@ApiModelProperty("演出开售时间")
private String timeSell;
@ApiModelProperty("是否会员")
private Integer isMember;
@ApiModelProperty("提前时间")
private Integer payCountdownMinute;
@ApiModelProperty("经度") @ApiModelProperty("经度")
private String longitude; private String longitude;
......
...@@ -10,6 +10,7 @@ import com.liquidnet.service.sweet.constant.SweetConstant; ...@@ -10,6 +10,7 @@ import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.entity.SweetWechatUser; import com.liquidnet.service.sweet.entity.SweetWechatUser;
import com.liquidnet.service.sweet.utils.RedisDataUtils; import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.vo.SweetRemindVo; import com.liquidnet.service.sweet.vo.SweetRemindVo;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
...@@ -24,6 +25,7 @@ import org.springframework.stereotype.Service; ...@@ -24,6 +25,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Set; import java.util.Set;
/** /**
...@@ -34,6 +36,7 @@ import java.util.Set; ...@@ -34,6 +36,7 @@ import java.util.Set;
* @author liquidnet * @author liquidnet
* @since 2021-07-27 * @since 2021-07-27
*/ */
@Slf4j
@Service @Service
public class SweetWechatTemplateServiceImpl { public class SweetWechatTemplateServiceImpl {
...@@ -56,23 +59,39 @@ public class SweetWechatTemplateServiceImpl { ...@@ -56,23 +59,39 @@ public class SweetWechatTemplateServiceImpl {
Set<String> keys = redisTemplate.keys(redisKey); Set<String> keys = redisTemplate.keys(redisKey);
if (!CollectionUtils.isEmpty(keys)) { if (!CollectionUtils.isEmpty(keys)) {
for (String rkey : keys) { for (String rkey : keys) {
try {
SweetRemindVo remindInfo = (SweetRemindVo) redisUtil.get(rkey); SweetRemindVo remindInfo = (SweetRemindVo) redisUtil.get(rkey);
SweetWechatUser sweetWechatUser = redisDataUtils.getSweetWechatUser(remindInfo.getUnionId()); SweetWechatUser sweetWechatUser = redisDataUtils.getSweetWechatUser(remindInfo.getUnionId());
KylinPerformanceVo performanceVo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES.concat(remindInfo.getPerformancesId())); KylinPerformanceVo performanceVo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES.concat(remindInfo.getPerformancesId()));
KylinTicketTimesVo kylinTicketTimesVo = performanceVo.getTicketTimeList().get(0); if (null == sweetWechatUser) {
if (null == sweetWechatUser || null == performanceVo) { log.info("无用户数据:[UnionId=[{}]", remindInfo.getUnionId());
continue; continue;
} }
if (null == performanceVo) {
log.info("无演出数据:[getPerformancesId=[{}]", remindInfo.getPerformancesId());
continue;
}
KylinTicketTimesVo kylinTicketTimesVo = performanceVo.getTicketTimeList().get(0);
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
LocalDateTime newNowTime = nowTime.minusMinutes(5); // LocalDateTime newNowTime = nowTime.minusMinutes(5);
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(newNowTime); String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
String sellTime = performanceVo.getSellTime(); String sellTime = performanceVo.getSellTime();
LocalDateTime sellTimeLocal = LocalDateTime.parse(sellTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime sellTimeLocalNew = sellTimeLocal.minusMinutes(5);
String sellTimeLocalNewStr = DateUtil.Formatter.yyyyMMddHHmmss.format(sellTimeLocalNew);
String stopSellTime = performanceVo.getStopSellTime(); String stopSellTime = performanceVo.getStopSellTime();
if (1 == DateUtil.compareStrDay(nowTimeStr, stopSellTime)) { // 超过售卖期 不推 删redis if (1 == DateUtil.compareStrDay(nowTimeStr, stopSellTime)) { // 超过售卖期 不推 删redis
log.info("超过售卖期:[nowTimeStr=[{}], [stopSellTime=[{}]",
nowTimeStr, stopSellTime);
redisDataUtils.delSweetRemind(remindInfo.getUnionId()); redisDataUtils.delSweetRemind(remindInfo.getUnionId());
continue; continue;
} }
if (-1 == DateUtil.compareStrDay(nowTimeStr, sellTime)) { // 还没到售卖期 if (-1 == DateUtil.compareStrDay(nowTimeStr, sellTimeLocalNewStr)) { // 还没到售卖期
log.info("还没到售卖期:[nowTimeStr=[{}], [sellTimeLocalNewStr=[{}]",
nowTimeStr, sellTimeLocalNewStr);
continue; continue;
} }
// 发送模板消息接口 // 发送模板消息接口
...@@ -100,9 +119,12 @@ public class SweetWechatTemplateServiceImpl { ...@@ -100,9 +119,12 @@ public class SweetWechatTemplateServiceImpl {
redisDataUtils.delSweetRemind(remindInfo.getUnionId()); redisDataUtils.delSweetRemind(remindInfo.getUnionId());
} }
} catch (WxErrorException e) { } catch (WxErrorException e) {
e.printStackTrace(); log.error("小程序演出提醒消息发送异常", e);
}
log.info("发送成功:[msgId=[{}]", msgId);
} catch (Exception e) {
log.error("小程序演出提醒消息处理异常", e);
} }
System.out.println(msgId);
} }
} }
return ResponseDto.success(); return ResponseDto.success();
......
...@@ -50,6 +50,9 @@ public class RedisDataUtils { ...@@ -50,6 +50,9 @@ public class RedisDataUtils {
String redisKey = SweetConstant.REDIS_KEY_SWEET_MANUAL_PUSH_LIST; String redisKey = SweetConstant.REDIS_KEY_SWEET_MANUAL_PUSH_LIST;
List<SweetManualAppletDto> data = sweetManualMapper.getManualAppletDto(); List<SweetManualAppletDto> data = sweetManualMapper.getManualAppletDto();
for (SweetManualAppletDto item : data) { for (SweetManualAppletDto item : data) {
if(!item.getIsMember().equals(1)){
item.setTimeSell(DateUtil.format(DateUtil.addMin(DateUtil.parse(item.getTimeSell(),"yyyy-MM-dd HH:mm:ss"),item.getPayCountdownMinute()),DateUtil.Formatter.yyyyMMddHHmmss));
}
item.setFieldName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "name")); item.setFieldName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "name"));
item.setCityName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "city_name")); item.setCityName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "city_name"));
item.setLatitude((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "latitude")); item.setLatitude((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "latitude"));
......
...@@ -45,6 +45,9 @@ public class RedisMDSKDataUtils { ...@@ -45,6 +45,9 @@ public class RedisMDSKDataUtils {
String redisKey = SweetConstant.REDIS_KEY_SWEET_MDSK_MANUAL_PUSH_LIST; String redisKey = SweetConstant.REDIS_KEY_SWEET_MDSK_MANUAL_PUSH_LIST;
List<SweetManualAppletMDSKDto> data = sweetManualMdskMapper.getManualAppletDto(); List<SweetManualAppletMDSKDto> data = sweetManualMdskMapper.getManualAppletDto();
for (SweetManualAppletMDSKDto item : data) { for (SweetManualAppletMDSKDto item : data) {
if(!item.getIsMember().equals(1)){
item.setTimeSell(DateUtil.format(DateUtil.addMin(DateUtil.parse(item.getTimeSell(),"yyyy-MM-dd HH:mm:ss"),-item.getPayCountdownMinute()),DateUtil.Formatter.yyyyMMddHHmmss));
}
item.setFieldName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "name")); item.setFieldName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "name"));
item.setCityName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "city_name")); item.setCityName((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "city_name"));
item.setLatitude((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "latitude")); item.setLatitude((String) redisUtil.hget("kylin:fields:id" + ":" + item.getFieldId(), "latitude"));
......
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
<result column="field_id" property="fieldId"/> <result column="field_id" property="fieldId"/>
<result column="time_start" property="timeStart"/> <result column="time_start" property="timeStart"/>
<result column="time_end" property="timeEnd"/> <result column="time_end" property="timeEnd"/>
<result column="time_sell" property="timeSell"/>
<result column="pay_countdown_minute" property="payCountdownMinute"/>
<result column="is_member" property="isMember"/>
</resultMap> </resultMap>
<!-- 电子手册列表 --> <!-- 电子手册列表 -->
...@@ -130,7 +133,10 @@ ...@@ -130,7 +133,10 @@
p.title , p.title ,
pr.field_id , pr.field_id ,
p.time_start , p.time_start ,
p.time_end p.time_end,
t1.time_sell,
t1.pay_countdown_minute,
t1.is_member
FROM FROM
kylin_performances AS p kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON p.performances_id = ps.performance_id LEFT JOIN kylin_performance_status AS ps ON p.performances_id = ps.performance_id
...@@ -153,6 +159,28 @@ ...@@ -153,6 +159,28 @@
LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id
GROUP BY GROUP BY
ttr.performance_id ttr.performance_id
) AS t ON p.performances_id = t.performance_id where sm.`status` = 1 and sm.is_release = 1 ) AS t ON p.performances_id = t.performance_id
LEFT JOIN(
SELECT
ttr.performance_id ,
ts.is_member,
pay_countdown_minute,
sum(ts.total_general) AS 'total_general' ,
MIN(
DATE_SUB(
t.time_start ,
INTERVAL pay_countdown_minute MINUTE
)
) AS 'time_sell' ,
MAX(t.time_end) AS 'time_stop'
FROM
kylin_ticket_status AS ts
LEFT JOIN kylin_ticket_relations AS tr ON tr.ticket_id = ts.ticket_id
LEFT JOIN kylin_tickets AS t ON t.tickets_id = ts.ticket_id
LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id
GROUP BY
ttr.performance_id
) AS t1 ON p.performances_id = t1.performance_id
where sm.`status` = 1 and sm.is_release = 1
</select> </select>
</mapper> </mapper>
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
<result column="field_id" property="fieldId"/> <result column="field_id" property="fieldId"/>
<result column="time_start" property="timeStart"/> <result column="time_start" property="timeStart"/>
<result column="time_end" property="timeEnd"/> <result column="time_end" property="timeEnd"/>
<result column="time_sell" property="timeSell"/>
<result column="pay_countdown_minute" property="payCountdownMinute"/>
<result column="is_member" property="isMember"/>
</resultMap> </resultMap>
<!-- 电子手册列表 --> <!-- 电子手册列表 -->
...@@ -130,7 +133,10 @@ ...@@ -130,7 +133,10 @@
p.title , p.title ,
pr.field_id , pr.field_id ,
p.time_start , p.time_start ,
p.time_end p.time_end,
t1.time_sell,
t1.pay_countdown_minute,
t1.is_member
FROM FROM
kylin_performances AS p kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON p.performances_id = ps.performance_id LEFT JOIN kylin_performance_status AS ps ON p.performances_id = ps.performance_id
...@@ -153,7 +159,29 @@ ...@@ -153,7 +159,29 @@
LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id
GROUP BY GROUP BY
ttr.performance_id ttr.performance_id
) AS t ON p.performances_id = t.performance_id where sm.`status` = 1 and sm.is_release = 1 ) AS t ON p.performances_id = t.performance_id
LEFT JOIN(
SELECT
ttr.performance_id ,
pay_countdown_minute,
ts.is_member,
sum(ts.total_general) AS 'total_general' ,
MIN(
DATE_SUB(
t.time_start ,
INTERVAL pay_countdown_minute MINUTE
)
) AS 'time_sell' ,
MAX(t.time_end) AS 'time_stop'
FROM
kylin_ticket_status AS ts
LEFT JOIN kylin_ticket_relations AS tr ON tr.ticket_id = ts.ticket_id
LEFT JOIN kylin_tickets AS t ON t.tickets_id = ts.ticket_id
LEFT JOIN kylin_ticket_time_relation AS ttr ON tr.times_id = ttr.times_id
GROUP BY
ttr.performance_id
) AS t1 ON p.performances_id = t1.performance_id
where sm.`status` = 1 and sm.is_release = 1
</select> </select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment