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

Commit c1917385 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 64059096 7ef01cd7
......@@ -10,13 +10,13 @@ import java.io.Serializable;
@Data
public class AdamMemberCodeParam implements Serializable {
private static final long serialVersionUID = -7273522103593077617L;
@ApiModelProperty(position = 1, required = true, value = "会员类型ID", example = "67647671736885249")
@ApiModelProperty(position = 1, required = true, value = "会员类型ID", example = "1")
private String memberId;
@ApiModelProperty(position = 2, required = true, value = "会员价格ID", example = "69153548142796800")
@ApiModelProperty(position = 2, required = true, value = "会员价格ID", example = "101")
private String memberPriceId;
@ApiModelProperty(position = 3, required = true, value = "类型:0-用户购买兑换码,1-后台生成兑换码", example = "1")
private Integer type;
@ApiModelProperty(position = 4, required = false, value = "用户ID", example = "1")
@ApiModelProperty(position = 4, required = false, value = "用户ID")
private String buyUid;
}
......@@ -2,6 +2,7 @@ package com.liquidnet.service.adam.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
......@@ -15,6 +16,7 @@ public class AdamMemberOrderCallbackParam implements Serializable {
@JsonProperty("order_code")
private String orderCode;
private String code;
@ApiModelProperty(value = "[VIP,CLUB]", allowableValues = "VIP,CLUB")
private String type;
private BigDecimal price;
@JsonProperty("payment_type")
......
......@@ -21,8 +21,11 @@ public class AdamMemberOrderCodeParam implements Serializable {
@NotBlank
private String memberCode;
@ApiModelProperty(position = 12, required = true, value = "生日", example = "2021-05-27")
@Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "时间格式有误")
@Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "生日格式有误")
private String birthday;
@ApiModelProperty(position = 12, value = "支付终端[app,wap,js,applet]", example = "js")
private String deviceFrom;
@ApiModelProperty(position = 13, required = false, value = "姓名")
private String name;
@ApiModelProperty(position = 14, required = false, value = "身份证件号")
......
package com.liquidnet.service.adam.dto;
import com.liquidnet.commons.lang.constant.LnsRegex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -29,24 +30,27 @@ public class AdamMemberOrderParam implements Serializable {
@ApiModelProperty(position = 14, required = true, value = "会员价格ID")
@NotBlank
private String memberPriceId;
@ApiModelProperty(position = 15, required = true, value = "支付终端", allowableValues = "app,wap,js,applet")
@ApiModelProperty(position = 15, required = true, value = "用户生日", example = "2021-05-27")
@Pattern(regexp = LnsRegex.Valid.DATETIME_YMD, message = "生日格式有误")
private String birthday;
@ApiModelProperty(position = 16, required = true, value = "支付终端", allowableValues = "app,wap,js,applet")
@NotBlank
private String deviceFrom;
@ApiModelProperty(position = 16, required = true, value = "支付方式", allowableValues = "alipay,wepay")
@ApiModelProperty(position = 17, required = true, value = "支付方式", allowableValues = "alipay,wepay")
@NotBlank
private String payType;
@ApiModelProperty(position = 17, required = false, value = "苹果支付使用")
@ApiModelProperty(position = 18, required = false, value = "苹果支付使用")
private String productId;
@ApiModelProperty(position = 18, required = false, value = "姓名", example = "王武")
@ApiModelProperty(position = 19, required = false, value = "姓名", example = "王武")
private String name;
@ApiModelProperty(position = 19, required = false, value = "身份证件号", example = "111111111111111111")
@ApiModelProperty(position = 20, required = false, value = "身份证件号", example = "111111111111111111")
private String idCard;
@ApiModelProperty(position = 20, required = false, value = "微信支付使用")
private String authCode;
@ApiModelProperty(position = 21, required = false, value = "微信支付使用")
private String authCode;
@ApiModelProperty(position = 22, required = false, value = "微信支付使用")
private String openId;
@ApiModelProperty(position = 22, required = true, value = "未支付/取消支付跳转URL")
@ApiModelProperty(position = 23, required = true, value = "未支付/取消支付跳转URL")
private String showUrl;
@ApiModelProperty(position = 23, required = true, value = "支付成功跳转URL")
@ApiModelProperty(position = 24, required = true, value = "支付成功跳转URL")
private String returnUrl;
}
......@@ -37,10 +37,8 @@ public class AdamMemberParam implements Serializable {
private Integer needQuestion;
@ApiModelProperty(position = 12, required = true, value = "是否展示协议[0-否,1-是]", allowableValues = "0,1")
private Integer displayAgreement;
@ApiModelProperty(position = 13, required = true, value = "状态[1-NORMAL,2-INVALID]")
@ApiModelProperty(position = 13, required = true, value = "状态[1-NORMAL,2-INVALID]", example = "1")
private Integer state;
@ApiModelProperty(position = 14, required = true, value = "限购数量,0不限购[200]", example = "0")
private Integer limitation;
@ApiModelProperty(position = 15, required = true, value = "会员卡价格ID", example = "[63666042953703424]")
private List<String> memberPriceList;
}
......@@ -22,8 +22,8 @@ public class AdamMemberPriceParam implements Serializable {
@NotBlank
private String memberId;
@ApiModelProperty(position = 3, value = "状态:0-不可用,1-上线中,2-已下线", allowableValues = "0,1,2")
@NonNull
@Min(0)
@NotNull
@Min(1)
@Max(2)
private Integer state;
@ApiModelProperty(position = 4, value = "会员价格包名称", example = "年卡")
......
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.entity.AdamMemberCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -16,8 +18,8 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
private String memberId;
@ApiModelProperty(position = 2, value = "会员价格id")
private String memberPriceId;
@ApiModelProperty(position = 3, value = "类型:0-购买,1-后台生成")
private String type;
@ApiModelProperty(position = 3, value = "类型:1-购买,2-赠送(后台生成)")
private Integer type;
@ApiModelProperty(position = 4, value = "会员编号")
private String memberNo;
@ApiModelProperty(position = 5, value = "状态:0-未使用,1-已使用,2-不可用")
......@@ -34,8 +36,6 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
private String useUid;
@ApiModelProperty(position = 11, value = "使用时间")
private String useAt;
@ApiModelProperty(position = 12, value = "会员码id")
private String memberCodeId;
private String createdAt;
private String updatedAt;
......@@ -46,8 +46,25 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
try {
return (AdamMemberCodeVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
return new AdamMemberCodeVo();
}
return new AdamMemberCodeVo();
}
public AdamMemberCodeVo copy(AdamMemberCode source) {
this.setCode(source.getCode());
this.setMemberId(source.getMemberId());
this.setMemberPriceId(source.getMemberPriceId());
this.setType(source.getType());
this.setMemberNo(source.getMemberNo());
this.setState(source.getState());
this.setBuyOrderNo(source.getBuyOrderNo());
this.setBuyUid(source.getBuyUid());
this.setBuyAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getBuyAt()));
this.setUseOrderNo(source.getUseOrderNo());
this.setUseUid(source.getUseUid());
this.setUseAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getUseAt()));
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
this.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getUpdatedAt()));
return this;
}
}
package com.liquidnet.service.adam.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@ApiModel(value = "AdamMemberOrderSimpleVo", description = "会员订单列表信息")
@Data
public class AdamMemberOrderSimpleVo implements Serializable {
private static final long serialVersionUID = 3978877550469933116L;
@ApiModelProperty(position = 10, value = "订单号")
private String orderNo;
@ApiModelProperty(position = 11, value = "订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款")
private Integer state;
@ApiModelProperty(position = 12, value = "创建时间")
private String createdAt;
@ApiModelProperty(position = 13, value = "会员类型名称")
private String memberName;
@ApiModelProperty(position = 14, value = "购买方式:0-购买会员,1-购买会员码,2-会员码兑换,3-礼包码兑换")
private Integer mode;
@ApiModelProperty(position = 16, value = "价格")
private BigDecimal price;
@ApiModelProperty(position = 17, value = "实付价格")
private BigDecimal pricePaid;
}
......@@ -6,8 +6,6 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ApiModel(value = "AdamMemberOrderVo", description = "订单详情展示")
@Data
......@@ -27,30 +25,36 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
private String memberPriceId;
@ApiModelProperty(position = 6, value = "购买天数")
private Integer days;
@ApiModelProperty(position = 7, value = "订单状态:0-未支付,1-已支付,2-已关闭,5-已退款")
@ApiModelProperty(position = 7, value = "订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款")
private Integer state;
@ApiModelProperty(position = 8, value = "会员号")
private String memberNo;
@ApiModelProperty(position = 9, value = "支付终端", allowableValues = "app,wap,js,applet")
@ApiModelProperty(position = 9, value = "会员生日[yyyy-MM-dd]")
private String birthday;
@ApiModelProperty(position = 10, value = "支付终端", allowableValues = "app,wap,js,applet")
private String deviceFrom;
@ApiModelProperty(position = 10, value = "支付方式", allowableValues = "alipay,wepay")
@ApiModelProperty(position = 11, value = "支付方式", allowableValues = "alipay,wepay")
private String payType;
@ApiModelProperty(position = 11, value = "支付单号")
@ApiModelProperty(position = 12, value = "支付单号")
private String payNo;
@ApiModelProperty(position = 12, value = "支付时间")
@ApiModelProperty(position = 13, value = "支付时间")
private String paymentAt;
@ApiModelProperty(position = 13, value = "创建时间")
@ApiModelProperty(position = 14, value = "创建时间")
private String createdAt;
@ApiModelProperty(position = 14, value = "价格")
@ApiModelProperty(position = 15, value = "创建时间")
private String updatedAt;
@ApiModelProperty(position = 16, value = "价格")
private BigDecimal price;
@ApiModelProperty(position = 15, value = "客户端IP")
private String ip;
@ApiModelProperty(position = 16, value = "客户端来源")
@ApiModelProperty(position = 17, value = "实付价格")
private BigDecimal pricePaid;
@ApiModelProperty(position = 18, value = "客户端IP")
private String clientIp;
@ApiModelProperty(position = 19, value = "客户端来源")
private String source;
@ApiModelProperty(position = 17, value = "客户端版本")
@ApiModelProperty(position = 20, value = "客户端版本")
private String version;
@ApiModelProperty(position = 20, value = "兑换码")
@ApiModelProperty(position = 21, value = "兑换码")
private String memberCode;
public static final AdamMemberOrderVo obj = new AdamMemberOrderVo();
......@@ -59,33 +63,7 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
try {
return (AdamMemberOrderVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
return new AdamMemberOrderVo();
}
return new AdamMemberOrderVo();
}
public static List<Object> getMemberOrderMqList(AdamMemberOrderVo orderVo) {
List<Object> mqList = new ArrayList<>();
mqList.add(orderVo.getOrderNo());
mqList.add(orderVo.getUid());
mqList.add(orderVo.getMode());
mqList.add(orderVo.getPrice());
mqList.add(BigDecimal.valueOf(0));
mqList.add(orderVo.getMemberName());
mqList.add(orderVo.getMemberId());
mqList.add(orderVo.getMemberPriceId());
mqList.add(orderVo.getDays());
mqList.add(orderVo.getState());
mqList.add(orderVo.getMemberNo());
mqList.add(orderVo.getDeviceFrom());
mqList.add(orderVo.getPayType());
mqList.add(orderVo.getPayNo());
mqList.add(orderVo.getPaymentAt());
mqList.add(orderVo.getCreatedAt());
mqList.add(orderVo.getCreatedAt());
mqList.add(orderVo.getIp());
mqList.add(orderVo.getSource());
mqList.add(orderVo.getVersion());
return mqList;
}
}
......@@ -26,8 +26,12 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
private String subTitle;
@ApiModelProperty(position = 4, value = "icon图标[200]", example = "https://img.zhengzai.tv/files/2020/08/28/5f490418d30b4.png")
private String icon;
@ApiModelProperty(position = 5, value = "会员头像[200]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.pngv")
@ApiModelProperty(position = 5, value = "会员头像[200]", example = "https://img.zhengzai.tv/files/2020/08/31/5f4c75095e9bc.png")
private String avatar;
@ApiModelProperty(position = 6, value = "起始编号", example = "10000")
private Integer startNo;
@ApiModelProperty(position = 7, value = "会员类型:1-VIP会员", example = "1")
private Integer type;
@ApiModelProperty(position = 6, value = "权益详情[200]", example = "加入摩登天空会员您可享受到.....")
private String interestsDetail;
@ApiModelProperty(position = 7, value = "注意事项[200]", example = "摩登天空会员需注意以下事项.....")
......@@ -72,6 +76,8 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
this.setSubTitle(source.getSubTitle());
this.setIcon(source.getIcon());
this.setAvatar(source.getAvatar());
this.setStartNo(source.getStartNo());
this.setType(source.getType());
this.setInterestsDetail(source.getInterestsDetail());
this.setNotes(source.getNotes());
this.setIsNotice(source.getIsNotice());
......@@ -83,49 +89,4 @@ public class AdamMemberVo implements java.io.Serializable, Cloneable {
this.setLimitation(source.getLimitation());
return this;
}
// /**
// * 设置会员价格
// * @param adamMemberPrices
// * @return
// */
// @JsonIgnore
// public static List<AdamMemberPriceVo> setMemberPrice(List<AdamMemberPrice> adamMemberPrices){
// List<AdamMemberPriceVo> adamMemberPricesVo = new ArrayList<>();
// for (int i =0;i<adamMemberPrices.size();i++){
// AdamMemberPrice adamMemberPrice = adamMemberPrices.get(i);
// AdamMemberPriceVo adamMemberPriceVo = new AdamMemberPriceVo();
// BeanUtils.copyProperties(adamMemberPrice, adamMemberPriceVo);
// adamMemberPriceVo.setCreatedAt(DateUtil.format(adamMemberPrice.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
// adamMemberPriceVo.setUpdatedAt(DateUtil.format(adamMemberPrice.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
// }
// return adamMemberPricesVo;
// }
// /**
// * 组装MQ需要的对象
// * @param adamMember
// * @return
// */
// @JsonIgnore
// public List<Object> getMqList(AdamMember adamMember){
// List<Object> paramList = new ArrayList<>();
// paramList.add(adamMember.getName());
// paramList.add(adamMember.getTitle());
// paramList.add(adamMember.getSubTitle());
// paramList.add(adamMember.getIcon());
// paramList.add(adamMember.getAvatar());
// paramList.add(adamMember.getStartNo());
// paramList.add(adamMember.getType());
// paramList.add(adamMember.getInterestsDetail());
// paramList.add(adamMember.getNotes());
// paramList.add(adamMember.getIsNotice());
// paramList.add(adamMember.getNoticeInfo());
// paramList.add(adamMember.getNoticeTitle());
// paramList.add(adamMember.getNeedQuestion());
// paramList.add(adamMember.getDisplayAgreement());
// paramList.add(adamMember.getMemberId());
// paramList.add(adamMember.getLimitation());
// return paramList;
// }
}
package com.liquidnet.service.adam.dto.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.ApiModel;
......@@ -44,6 +45,7 @@ public class AdamUserMemberVo implements Serializable, Cloneable {
*
* @return true-有效
*/
@JsonIgnore
public boolean isActive() {
LocalDateTime expiryAt = DateUtil.Formatter.yyyyMMddHHmmss.parse(this.getExpiryAt());
......
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.adam.dto.AdamMemberOrderCallbackParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderSimpleVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.base.ResponseDto;
......@@ -23,31 +25,25 @@ public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
ResponseDto<AdamMemberOrderResult> buyMemberOrMemberCode(AdamMemberOrderParam param) throws Exception;
/**
* 使用会员码
* @param param
* 支付回调
* @return
*/
ResponseDto<AdamMemberOrderResult> exchangeMemberCode(AdamMemberOrderCodeParam param);
ResponseDto<Object> paymentNotifyCallBack(AdamMemberOrderCallbackParam parameter);
/**
* 获取订单列表
* @param uid
* 使用会员码
* @param param
* @return
*/
List<AdamMemberOrderVo> getMemberOrderList(String uid);
ResponseDto<AdamMemberOrderResult> exchangeMemberCode(AdamMemberOrderCodeParam param);
/**
* 获取订单详情信息
* 查取会员订单列表
*
* @param orderNo 订单号
* @return
*/
AdamMemberOrderVo getMemberOrderInfo(String uid,String orderNo);
/**
* 支付回调
* @param uid
* @param pageNo
* @param pageSize
* @return
*/
ResponseDto<Object> memberNotifyCallBack(AdamMemberOrderCallbackParam parameter);
PageInfo<AdamMemberOrderSimpleVo> queryPage(String uid, int pageNo, int pageSize);
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.vo.AdamMemberSimpleVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
/**
* 客户端调用
*/
public interface IAdamMemberService extends IService<AdamMember> {
AdamMemberVo queryMemberInfo();
// AdamMemberVo queryMemberInfo();
// AdamMemberSimpleVo queryMemberSimpleVo();
}
......@@ -89,6 +89,10 @@ public interface IAdamRdmService {
Object getMemberMaxNoByMemberId(String memberId);
boolean setMemberCodeVoByCode(String memberCode, AdamMemberCodeVo vo);
AdamMemberCodeVo getMemberCodeVoByCode(String memberCode);
boolean setTagsForSex(List<AdamTagVo> voList);
List<AdamTagVo> getTagsForSex();
......@@ -96,8 +100,4 @@ public interface IAdamRdmService {
boolean setTagsForMusic(List<AdamTagParentVo> voList);
List<AdamTagParentVo> getTagsForMusic();
boolean setMemberCodeVoByCode(String memberCode, AdamMemberCodeVo vo);
AdamMemberCodeVo getMemberCodeVoByCode(String memberCode);
}
......@@ -2,13 +2,12 @@ package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
/**
* 会员信息
*/
public interface IAdamMemberAdminService extends IService<AdamMember> {
void add(AdamMemberParam info);
void edit(AdamMember info);
AdamMemberVo add(AdamMemberParam info);
}
......@@ -2,10 +2,11 @@ package com.liquidnet.service.adam.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
public interface IAdamMemberPriceAdminService extends IService<AdamMemberPrice> {
void add(AdamMemberPrice info);
AdamMemberPriceVo add(AdamMemberPrice info);
void edit(AdamMemberPriceParam param);
AdamMemberPriceVo edit(AdamMemberPriceParam param);
}
......@@ -40,7 +40,7 @@ public class MemberUtil {
String microTime = String.valueOf(calendar.getTimeInMillis() * 1000).substring(2, 5);
String sign = word.concat(month).concat(day).concat(time).concat(microTime);
sign = String.format(sign + "%02d", rand.nextInt(99));
sign = MD5.getStrMD5(sign);
sign = MD5.getStrMD5(sign,null);
String s = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
......
package com.liquidnet.service.kylin.dto.param;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -71,6 +72,7 @@ public class PerformancePartnerListParam {
public void setStopSellDay(Long stopSellDay) {
this.stopSellDay=stopSellDay;
LocalDateTime now = LocalDateTime.now();
this.stopSellTime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(now.plusDays(-stopSellDay));
this.stopSellTime =
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(now.plusDays(-stopSellDay));
}
}
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.entity.KylinTicketStatus;
import com.liquidnet.service.kylin.entity.KylinTickets;
import io.swagger.annotations.ApiModelProperty;
......@@ -81,12 +82,12 @@ public class KylinTicketIgnoreVo {
this.describes = ticket.getDescribes();
this.describeExpress = ticket.getDescribeExpress();
this.describeElectronic = ticket.getDescribeElectronic();
this.timeStart = ticket.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = ticket.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.memberTimeStart = ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useStart = ticket.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeStart());
this.timeEnd = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeEnd());
this.memberTimeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()));
this.timeEndExpress = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeEndExpress());
this.useStart = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getUseStart());
this.useEnd = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getUseEnd());
this.saleRemindMinute = ticket.getSaleRemindMinute();
}
......
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -31,7 +32,7 @@ public class KylinTicketTimesIgnoreVo {
this.ticketTimesId=ticketTimes.getTicketTimesId();
this.title=ticketTimes.getTitle();
this.type=ticketTimes.getType();
this.useStart=ticketTimes.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd=ticketTimes.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useStart= DateUtil.Formatter.yyyyMMddHHmmss.format(ticketTimes.getUseStart());
this.useEnd=DateUtil.Formatter.yyyyMMddHHmmss.format(ticketTimes.getUseEnd());
}
}
package com.liquidnet.service.kylin.dto.vo.middle;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -34,7 +35,7 @@ public class KylinTicketTimesVo {
this.ticketTimesId=ticketTimes.getTicketTimesId();
this.title=ticketTimes.getTitle();
this.type=ticketTimes.getType();
this.useStart=ticketTimes.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd=ticketTimes.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useStart= DateUtil.Formatter.yyyyMMddHHmmss.format(ticketTimes.getUseStart());
this.useEnd=DateUtil.Formatter.yyyyMMddHHmmss.format(ticketTimes.getUseEnd());
}
}
package com.liquidnet.service.kylin.dto.vo.middle;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.entity.KylinTicketStatus;
import com.liquidnet.service.kylin.entity.KylinTickets;
import io.swagger.annotations.ApiModel;
......@@ -100,17 +101,17 @@ public class KylinTicketVo {
this.describes = ticket.getDescribes();
this.describeExpress = ticket.getDescribeExpress();
this.describeElectronic = ticket.getDescribeElectronic();
this.timeStart = ticket.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = ticket.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeStart());
this.timeEnd = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeEnd());
this.advanceMinuteMember = ticket.getAdvanceMinuteMember();
this.memberTimeStart = ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.memberTimeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()));
if (ticket.getTimeEndExpress() != null) {
this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEndExpress = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getTimeEndExpress());
} else {
this.timeEndExpress = null;
}
this.useStart = ticket.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useStart = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getUseStart());
this.useEnd = DateUtil.Formatter.yyyyMMddHHmmss.format(ticket.getUseEnd());
this.saleRemindMinute = ticket.getSaleRemindMinute();
}
......@@ -131,7 +132,7 @@ public class KylinTicketVo {
this.counts = ticketStatus.getCounts();
this.sysDamai = ticketStatus.getSyncDamai();
this.isShowCode = ticketStatus.getIsShowCode();
this.qrCodeShowTime = ticketStatus.getQrCodeShowTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.qrCodeShowTime = DateUtil.Formatter.yyyyMMddHHmmss.format(ticketStatus.getQrCodeShowTime());
}
......
package com.liquidnet.service.kylin.dto.vo.middle.message;
import lombok.Data;
@Data
public class MessageConfigVo {
private Boolean status;
private String id;
}
package com.liquidnet.service.kylin.dto.vo.middle.message;
import lombok.Data;
@Data
public class MessageDataVo {
private String name;
private String time;
}
......@@ -10,6 +10,7 @@ import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
@ApiModel(value = "KylinOrderTicketVo", description = "订单数据")
@Data
......@@ -97,6 +98,8 @@ public class KylinOrderTicketVo implements Serializable {
private String createdAt;
private String updatedAt;
private List<KylinOrderTicketEntitiesVo> entitiesVoList;
public void setOrderTicket(KylinOrderTickets orderTicket) {
BeanUtils.copyProperties(orderTicket,this);
}
......
package com.liquidnet.service.kylin.dto.vo.mongo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.entity.KylinFields;
import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
......@@ -103,8 +104,8 @@ public class KylinPerformanceVo {
this.performancesId = performance.getPerformancesId();
this.title = performance.getTitle();
this.imgPoster = performance.getImgPoster();
this.timeStart = performance.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = performance.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(performance.getTimeStart());
this.timeEnd = DateUtil.Formatter.yyyyMMddHHmmss.format(performance.getTimeEnd());
this.type = performance.getType();
this.details =performance.getDetails();
this.noticeImage = performance.getNoticeImage();
......@@ -115,8 +116,8 @@ public class KylinPerformanceVo {
this.isMember = isMember;
this.isExclusive = isExclusive;
this.price = price + "起";
this.stopSellTime = stopSellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.sellTime = sellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.stopSellTime = DateUtil.Formatter.yyyyMMddHHmmss.format(stopSellTime);
this.sellTime = DateUtil.Formatter.yyyyMMddHHmmss.format(sellTime);
this.appStatus = 9;
this.isDiscount = isDiscount;
this.isAdvance = isAdvance;
......
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
import java.io.File;
@Data
public class BatchImportParam {
private String admin_id;
private String order_type;
private File excel;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import com.liquidnet.service.kylin.entity.ExpressTimelines;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class CourierListVo implements Serializable {
private static final long serialVersionUID = 4283677861855377186L;
private String expressNumber;
private String expressCompany;
private List<ExpressTimelines> expressTimeLine;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
import java.io.Serializable;
@Data
public class ExpressTimeLineVo implements Serializable {
private static final long serialVersionUID = 7800739802323711435L;
private Integer id;
private Integer express_id;
private String context;
private String time;
private String ftime;
private String created_at;
private String updated_at;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class Kuaidi100Param {
private LastResultParam lastResultParam;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class KuaidiAdminParam {
private int admin_id;
private int order_id;
private String order_code;
private String order_type;
private String number;
private String company;
// private String name;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class KuaidiDatasParam {
private String context;
private String time;
private String ftime;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class KuaidiReturn {
private boolean boolResult;
private Integer returnCode;
private String message;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
import java.util.List;
@Data
public class LastResultParam {
private List<KuaidiDatasParam> data;
private String nu;
private String com;
private Integer state;
}
package com.liquidnet.service.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.entity.ExpressBatches;
/**
* <p>
* 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface IExpressBatchesService extends IService<ExpressBatches> {
}
package com.liquidnet.service.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.entity.ExpressLogs;
/**
* <p>
* 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface IExpressLogsService extends IService<ExpressLogs> {
}
package com.liquidnet.service.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.kylin.entity.ExpressTimelines;
/**
* <p>
* 快递时间线表 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface IExpressTimelinesService extends IService<ExpressTimelines> {
}
package com.liquidnet.service.kylin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.tmp.CourierListVo;
import com.liquidnet.service.kylin.dto.vo.tmp.KuaidiAdminParam;
import com.liquidnet.service.kylin.dto.vo.tmp.KuaidiReturn;
import com.liquidnet.service.kylin.entity.ExpressBatches;
import com.liquidnet.service.kylin.entity.Expresses;
/**
* <p>
* 快递表 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface IExpressesService extends IService<Expresses> {
/**
* 根据订单ID查询快递信息
* order_id :订单号
* type:订单类型 (订单类型 order_product 商品订单 , order_ticket 票务订单, order_integration 积分订单)
*/
ResponseDto<CourierListVo> courierList(String orderId, String type);
/**
* 快递100 订阅接«口
* company 快递公司
* number 快递单号
*/
KuaidiReturn observer(String company , String number);
void observerResult(String param);
String addExpress(KuaidiAdminParam param);
String editExpress(KuaidiAdminParam param);
String getExpressCompany(String name);
String getExpressCompanyEn(String name);
String innerAddExpress(KuaidiAdminParam param);
PageInfo<ExpressBatches> expressObserveUnSuccess(int page , int size);
// void expressBatchImport(); // 批量导入
// void expressImport(); // 单条导入
// void expressEdit(); // 编辑快递收货地址
// void expressEditLog(); //快递收货地址修改记录
}
package com.liquidnet.service.kylin.service.other;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.tmp.CourierListVo;
import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import com.liquidnet.service.kylin.entity.KylinTickets;
......
......@@ -100,18 +100,6 @@
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -77,6 +77,16 @@
<artifactId>liquidnet-client-admin-system</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.liquidnet.client.admin.web.controller.zhengzai.adam;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
......@@ -7,10 +8,8 @@ import com.liquidnet.service.adam.service.admin.IAdamMemberOrderAdminService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -52,6 +51,19 @@ public class AdamMemberOrderController extends BaseController
return getDataTable(list);
}
/**
* 订单详情
*/
@RequiresPermissions("adam:order:orderlist:detail")
@GetMapping("/orderList/detail/{orderId}")
public String orderDetail(@PathVariable("orderId") String orderId, ModelMap mmap) {
LambdaQueryWrapper<AdamMemberOrder> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(AdamMemberOrder::getOrderNo,orderId);
AdamMemberOrder orderDetailsVo = adamMemberOrderAdminService.getOne(queryWrapper);
mmap.put("orderDetailsVo", orderDetailsVo);
return prefix + "/orderList/detail";
}
// /**
// * 导出【请填写功能名称】列表
// */
......
......@@ -86,7 +86,7 @@ spring:
devtools:
restart:
# 热部署开关
enabled: true
enabled: false
# MyBatis
mybatis:
......
<!DOCTYPE html>
s<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('【请填写功能名称】列表')" />
......@@ -81,8 +81,7 @@
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('kylin:order:edit')}]];
var removeFlag = [[${@permission.hasPermi('kylin:order:remove')}]];
var detailFlag = [[${@permission.hasPermi('adam:order:orderList')}]];
var prefix = ctx + "adam/order/orderList";
$(function() {
......@@ -96,90 +95,45 @@
columns: [{
checkbox: true
},
{
field: 'mid',
title: '支付时间',
visible: false
},
{
field: 'orderNo',
title: '支付时间'
title: '订单号'
},
{
field: 'uid',
title: '支付时间'
title: '订单状态'
},
{
field: 'mode',
title: '购买方式:0-购买会员 1-购买会员码,2-使用会员码'
title: '支付方式'
},
{
field: 'price',
title: '原价'
title: '价格(元)'
},
{
field: 'pricePaid',
title: '实际支付'
title: '支付时间'
},
{
field: 'memberName',
title: '实际支付'
title: '创建时间'
},
{
field: 'memberId',
title: '会员id'
title: '用户ID'
},
{
field: 'memberPriceId',
title: '会员价格id'
title: '手机号'
},
{
field: 'days',
title: '购买天数'
title: '客户端'
},
{
field: 'state',
title: '订单状态'
},
{
field: 'memberNo',
title: '会员号'
},
{
field: 'payChannel',
title: '支付渠道'
},
{
field: 'payNo',
title: '支付订单'
},
{
field: 'birthday',
title: '用户生日'
},
{
field: 'paymentAt',
title: '支付时间'
},
{
field: 'createdAt',
title: '支付时间'
},
{
field: 'updatedAt',
title: '支付时间'
},
{
field: 'clientIp',
title: '支付时间'
},
{
field: 'source',
title: '支付时间'
},
{
field: 'version',
title: '支付时间'
title: '快递状态'
},
{
title: '操作',
......@@ -187,7 +141,6 @@
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.mid + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.mid + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
......
......@@ -7,7 +7,7 @@
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<form id="formId" >
<div class="select-list">
<ul>
<li>
......
......@@ -13,6 +13,6 @@ import lombok.Data;
*/
@Data
public class PerformanceCalendarReq {
String performanceIimeBegin;
String performanceIimeend;
private String timeBegin;
private String timeEnd;
}
......@@ -8,6 +8,7 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.enums.BannersTargetType;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
......@@ -74,7 +75,7 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
// 时间
String bannersId = IDGenerator.nextSnowId().toString();
LocalDateTime createdAt = LocalDateTime.now();
String createdAtString = createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String createdAtString = DateUtil.Formatter.yyyyMMddHHmmss.format(createdAt);
if (StringUtils.isEmpty(bannersParam.getOnlineStartTime())) {
bannersParam.setOnlineStartTime(null);
}
......@@ -147,7 +148,7 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
// 时间
String bannersId = bannersParam.getBannersId();
LocalDateTime updatedAt = LocalDateTime.now();
String updatedAtString = updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String updatedAtString = DateUtil.Formatter.yyyyMMddHHmmss.format(updatedAt);
KylinBanners params = bannersParam.getFields(null, null);
params.setUpdatedAt(updatedAtString);
......@@ -263,7 +264,7 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
public Boolean delete(List<String> bannersId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
String updatedAtString = updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String updatedAtString = DateUtil.Formatter.yyyyMMddHHmmss.format(updatedAt);
KylinBanners kylinBanners = new KylinBanners();
kylinBanners.setUpdatedAt(updatedAtString);
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.commons.lang.util.BeanUtil;
......@@ -9,10 +8,10 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.OrderTicketsListDao;
import com.liquidnet.service.kylin.dto.param.admin.OrderListReq;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
......@@ -56,9 +55,6 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
@Autowired
private KylinOrderTicketEntitiesMapper kylinOrderTicketEntitiesMapper;
@Autowired
private ExpressesMapper expressesMapper;
@Override
public List<OrderTicketsListDao> orderList(OrderListReq orderListReq) {
Map<String, Object> reqParamMap = new HashMap<>();
......@@ -96,7 +92,7 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
orderTicketVo.setPerformanceId(kylinOrderTicketRelations.getPerformanceId());
orderTicketVo.setTicketId(kylinOrderTicketRelations.getTicketId());
if (null != orderTicketVo) {
Expresses expresses = expressesMapper.selectOne(new UpdateWrapper<Expresses>().eq("order_id", orderId).eq("order_type", "order_ticket"));
// Expresses expresses = expressesMapper.selectOne(new UpdateWrapper<Expresses>().eq("order_id", orderId).eq("order_type", "order_ticket"));
//获取演出信息
LambdaQueryWrapper<KylinPerformances> perWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotNull(orderTicketVo.getPerformanceId())) {
......@@ -146,15 +142,9 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
vo.setRestTime(0L);
}
//快递
if (null != expresses) {
vo.setExpress_number(expresses.getNumber());
vo.setExpress_company(expresses.getName());
vo.setKuaidi_status(expresses.getStatus());
} else {
vo.setExpress_number("");
vo.setExpress_company("");
vo.setKuaidi_status(-2);
}
vo.setExpress_number("");
vo.setExpress_company("");
vo.setKuaidi_status(-2);
vo.setOrderTicketEntitiesVo(kylinOrderTicketEntitiesVoList);
vo.setPerformanceVo(performanceVo);
vo.setOrderTicketVo(orderTicketVo);
......
......@@ -158,7 +158,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
mapSql.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performanceVoUtils.updatePerformanceMySql(performancesId, mapSql, performanceVoUtils.getPerformanceMisVo(performancesId), updatedAt, auditStatus);
dataUtils.updatePerformanceMongo(performancesId);
if (sqlStatus.getStatus() == 6) {//若 演出上 则 线判断状态
if (sqlStatus.getStatus() >= 6 && sqlStatus.getStatus()!=7) {//若 演出上 则 线判断状态
performanceVoUtils.performanceVoStatus(performancesId);
}
}
......@@ -518,7 +518,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
}
@Override
public boolean changeTicketAgent(String performancesId , String ticketId, Integer status) {
public boolean changeTicketAgent(String performancesId, String ticketId, Integer status) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
if (status != 0 && status != 1) {
......
......@@ -111,8 +111,8 @@ public class PerformanceVoUtils {
ticketCount += kylinTicketVoList.size();
for (KylinTicketVo kylinTicketVoItem : kylinTicketVoList) {
//时间判断
LocalDateTime timeStart = LocalDateTime.parse(kylinTicketVoItem.getMemberTimeStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime timeEnd = LocalDateTime.parse(kylinTicketVoItem.getTimeEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime timeStart = DateUtil.Formatter.yyyyMMddHHmmss.parse(kylinTicketVoItem.getMemberTimeStart());
LocalDateTime timeEnd = DateUtil.Formatter.yyyyMMddHHmmss.parse(kylinTicketVoItem.getTimeEnd());
int surplusGeneral = -1;
int status = 0;
if (timeStart.isAfter(timeNow)) {
......
......@@ -474,10 +474,6 @@ public abstract class DateUtil {
return dayLast + " 23:59:59";
}
public static LocalDateTime stringToLocalDateTime(String str) {
return LocalDateTime.parse(str, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
public static void main(String[] args) {
//
......
......@@ -27,7 +27,7 @@ liquidnet:
check: http://testpay.zhengzai.tv/order/verify
callback: http://zuul.zhengzai.tv/adam/member/order/callback
aliyun:
accessKeyId:
accessSecret:
accessKeyId: LTAI4FvoqxJUT5T1ydJSyhUn
accessSecret: WNCgFn9dSjnoDdej2YTvR0v0216WWU
#以下为spring各环境个性配置
......@@ -27,7 +27,7 @@ liquidnet:
check: http://testpay.zhengzai.tv/order/verify
callback: http://zuul.zhengzai.tv/adam/member/order/callback
aliyun:
accessKeyId:
accessSecret:
accessKeyId: LTAI4FvoqxJUT5T1ydJSyhUn
accessSecret: WNCgFn9dSjnoDdej2YTvR0v0216WWU
#以下为spring各环境个性配置
......@@ -114,7 +114,7 @@ spring:
database: ${liquidnet.mongodb.database}
datasource:
name: ${liquidnet.mysql.database-name}
url: jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
url: jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&useSSL=false
username: ${liquidnet.mysql.username}
password: ${liquidnet.mysql.password}
# type: org.apache.tomcat.jdbc.pool.DataSource
......
......@@ -23,6 +23,8 @@ liquidnet:
pay: "http://testpay.zhengzai.tv/"
check: "http://testpay.zhengzai.tv/order/verify"
localUrl: "http://devzuul.zhengzai.tv/kylin/order/syncOrder"
url-service:
url: "http://testservice.zhengzai.tv/"
#以下为spring各环境个性配置
spring:
......
......@@ -23,6 +23,8 @@ liquidnet:
pay: "http://testpay.zhengzai.tv/"
check: "http://testpay.zhengzai.tv/order/verify"
localUrl: "https://zuul.zhengzai.tv/kylin/order/syncOrder"
url-service:
url: "http://testservice.zhengzai.tv/"
#以下为spring各环境个性配置
spring:
......
......@@ -80,7 +80,7 @@ spring:
database: ${spring.data.mongodb.database}
datasource:
name: ${liquidnet.mysql.database-name}
url: jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
url: jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&useSSL=false
username: ${liquidnet.mysql.username}
password: ${liquidnet.mysql.password}
# type: org.apache.tomcat.jdbc.pool.DataSource
......
......@@ -40,7 +40,6 @@ spring:
profiles:
include: common-service
redis:
database: 14
port: ${liquidnet.redis.port}
host: ${liquidnet.redis.host}
password: ${liquidnet.redis.password}
......@@ -103,12 +102,14 @@ global-auth:
ribbon:
eureka:
enabled: true # 为Ribbon禁用Eureka
ReadTimeout: 15000
ConnectTimeout: 15000
MaxAutoRetries: 1
MaxAutoRetriesNextServer: 1
MaxConnectionsPerHost: 5000
MaxTotalConnections: 25000
ReadTimeout: 5000
ConnectTimeout: 5000
MaxAutoRetries: 0
MaxAutoRetriesNextServer: 0
MaxConnectionsPerHost: -1
MaxTotalConnections: -1
# MaxConnectionsPerHost: 5000
# MaxTotalConnections: 25000
#liquidnet-service-sequence:
# ribbon:
# listOfServers: 192.168.137.1:9001
......
......@@ -21,7 +21,7 @@ public class AdamMemberCode {
*/
private String code;
/**
* 类型 0-用户购买兑换码 1-后台生成兑换码
* 类型:1-购买,2-赠送(后台生成)
*/
private Integer type;
/**
......
......@@ -63,9 +63,17 @@ public class AdamMemberOrder implements Serializable {
*/
private String memberNo;
/**
* 支付渠道
* 会员生日[yyyy-MM-dd]
*/
private String payChannel;
private String birthday;
/**
* 支付终端:app,wap,js,applet
*/
private String deviceFrom;
/**
* 支付方式:alipay,wepay,vipcode,giftcode
*/
private String payType;
/**
* 支付单号
*/
......@@ -74,10 +82,8 @@ public class AdamMemberOrder implements Serializable {
* 支付时间
*/
private LocalDateTime paymentAt;
/**
* 用户生日
*/
private LocalDateTime birthday;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
/**
* ip地址
*/
......@@ -90,9 +96,7 @@ public class AdamMemberOrder implements Serializable {
* 客户端版本号
*/
private String version;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
private String comment;
}
......@@ -6,7 +6,4 @@ import com.liquidnet.service.adam.entity.AdamMemberPrice;
import java.util.List;
public interface AdamMemberPriceMapper extends BaseMapper<AdamMemberPrice> {
AdamMemberPrice misMemberPriceInfo(String memberPriceId);
List<AdamMemberPrice> memberPriceList(String memberId);
}
\ No newline at end of file
<?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.liquidnet.service.adam.mapper.AdamMemberPriceMapper">
<resultMap id="MemberPriceResult" type="com.liquidnet.service.adam.entity.AdamMemberPrice">
<result column="member_price_id" property="memberPriceId" />
<result column="member_id" property="memberId" />
<result column="status" property="status" />
<result column="name" property="name" />
<result column="price" property="price" />
<result column="price_fixed" property="priceFixed" />
<result column="days" property="days" />
<result column="detail" property="detail" />
<result column="created_at" property="createdAt" />
<result column="updated_at" property="updatedAt" />
</resultMap>
<!-- sql -->
<sql id="Base_Column">
m.member_id,
m.status,
m.name,
m.price,
m.price_fixed,
m.days,
m.detail,
m.created_at,
m.updated_at,
m.member_price_id
</sql>
<!-- 根据会员id查询价格列表 -->
<select id="memberPriceList" parameterType="java.lang.String" resultMap="MemberPriceResult">
SELECT
<include refid="Base_Column"/>
FROM adam_member_price as m
<where>
m.member_id=#{memberId}
</where>
</select>
<!-- mis会员价格详情 -->
<select id="misMemberPriceInfo" parameterType="java.lang.String" resultMap="MemberPriceResult">
SELECT
<include refid="Base_Column"/>
FROM adam_member_price as m
<where>
m.member_price_id=#{memberPriceId}
</where>
</select>
</mapper>
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class ExpressBatches implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 管理员
*/
private Integer adminId;
/**
* 订单Id,订阅前查询
*/
private Integer orderId;
/**
* 订单类型 order_product 商品订单 , order_ticket 票务订单, order_integration 积分订单
*/
private String orderType;
/**
* 订单编号
*/
private String orderCode;
/**
* 快递公司名称
*/
private String name;
/**
* 快递公司编号
*/
private String company;
/**
* 快递单号
*/
private String number;
/**
* 状态 0新导入 1订阅成功 2订阅失败
*/
private Integer status;
/**
* 导入时间
*/
private LocalDateTime importTime;
/**
* 导入批次
*/
private Integer batch;
/**
* 失败原因
*/
private String reason;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class ExpressLogs implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 订单id
*/
private Integer orderId;
/**
* 订单类型 order_product 商品订单 , order_ticket 票务订单
*/
private String orderType;
/**
* 修改人id
*/
private Integer adminId;
/**
* 修改人名称
*/
private String adminName;
/**
* 快递联系人
*/
private String name;
/**
* 快递联系电话
*/
private String mobile;
/**
* 快递收货地址
*/
private String address;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 快递时间线表
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class ExpressTimelines implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 快递
*/
private Integer expressId;
/**
* 快递消息
*/
private String context;
/**
* 时间,原始格式
*/
private String time;
/**
* 格式化后时间
*/
private LocalDateTime ftime;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 快递表
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class Expresses implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 管理员
*/
private Integer adminId;
/**
* 订单Id
*/
private Integer orderId;
/**
* 订单编号
*/
private String orderCode;
/**
* 订单类型 order_product 商品订单 , order_ticket 票务订单, order_integration 积分订单
*/
private String orderType;
/**
* 状态 -1待揽收、0在途中、1已揽收、2疑难、3已签收
*/
private Integer status;
/**
* 快递单号
*/
private String number;
/**
* 快递公司名称
*/
private String name;
/**
* 快递公司编号
*/
private String company;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.ExpressBatches;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.Expresses;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface ExpressBatchesMapper extends BaseMapper<ExpressBatches> {
List<ExpressBatches> selectStatusOrder();
}
package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.ExpressLogs;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface ExpressLogsMapper extends BaseMapper<ExpressLogs> {
}
package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.ExpressTimelines;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* <p>
* 快递时间线表 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface ExpressTimelinesMapper extends BaseMapper<ExpressTimelines> {
List<ExpressTimelines> selectListOrder(Integer expressId);
}
package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.Expresses;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* <p>
* 快递表 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
public interface ExpressesMapper extends BaseMapper<Expresses> {
List<Expresses> selectListOrder(String orderId,String type);
Expresses selectListNumByCom(String com,String nu);
}
<?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.liquidnet.service.kylin.mapper.ExpressBatchesMapper">
<select id="selectStatusOrder" parameterType="java.lang.String"
resultType="com.liquidnet.service.kylin.entity.ExpressBatches">
SELECT *
FROM express_batches
where status = 0
or status = 2
ORDER BY batch, status DESC
</select>
</mapper>
<?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.liquidnet.service.kylin.mapper.ExpressLogsMapper">
</mapper>
<?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.liquidnet.service.kylin.mapper.ExpressTimelinesMapper">
<select id="selectListOrder" parameterType="java.lang.Integer"
resultType="com.liquidnet.service.kylin.entity.ExpressTimelines">
SELECT ftime, context
FROM express_timelines
where express_id = #{expressId}
ORDER BY created_at DESC
</select>
</mapper>
<?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.liquidnet.service.kylin.mapper.ExpressesMapper">
<select id="selectListOrder" parameterType="java.lang.String"
resultType="com.liquidnet.service.kylin.entity.Expresses">
SELECT *
FROM expresses
where order_type = #{type}
and order_id = #{orderId}
ORDER BY created_at DESC
</select>
<select id="selectListNumByCom" parameterType="java.lang.String"
resultType="com.liquidnet.service.kylin.entity.Expresses">
SELECT *
FROM expresses
where company = #{com}
and number = #{nu}
ORDER BY id DESC
limit 1
</select>
</mapper>
......@@ -256,14 +256,14 @@ create table adam_member_order
member_name varchar(64),
member_id varchar(255) comment '会员id',
member_price_id varchar(255) comment '会员价格id',
days int default 0 comment '购买天数',
days int default 0 comment '购买天数',
state tinyint comment '订单状态',
member_no varchar(20) comment '会员号',
birthday varchar(20) default null comment '用户生日[yyyy-MM-dd]',
device_from varchar(20) comment '支付终端:app,wap,js,applet',
pay_type varchar(20) comment '支付方式:alipay,wepay',
pay_type varchar(20) comment '支付方式:alipay,wepay,vipcode,giftcode',
pay_no varchar(64) comment '支付订单',
birthday date default null comment '用户生日',
payment_at datetime default null comment '支付时间',
payment_at datetime default null comment '支付时间',
created_at datetime,
updated_at datetime,
client_ip varchar(50),
......@@ -291,7 +291,7 @@ create table adam_member_code
(
mid int unsigned auto_increment primary key,
code varchar(20) comment '会员码',
type int default 0 comment '0用户购买1提前制作',
type int default 0 comment '类型:1-购买,2-赠送(后台生成)',
member_id varchar(255) comment '会员ID',
member_price_id varchar(255) comment '会员价格ID',
member_no varchar(20) comment '预留会员号',
......
......@@ -46,8 +46,8 @@ public class AdamMemberController {
@GetMapping("info")
public ResponseDto<AdamMemberVo> query() {
AdamMemberSimpleVo memberSimpleVo = adamRdmService.getMemberSimpleVo();
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(memberSimpleVo.getMemberId());
if (null != memberVo) {
AdamMemberVo memberVo = null;
if (null != memberSimpleVo && null != (memberVo = adamRdmService.getMemberVoByMemberId(memberSimpleVo.getMemberId()))) {
memberVo.setPriceVoList(adamRdmService.getMemberPriceVoByMemberId(memberVo.getMemberId()));
memberVo.setRightsVoList(adamRdmService.getMemberRightsVoByMemberId(memberVo.getMemberId()));
......
package com.liquidnet.service.adam.controller;
import com.fasterxml.jackson.databind.JsonNode;
import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamMemberConst;
import com.liquidnet.service.adam.dto.AdamMemberOrderCallbackParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
......@@ -30,7 +30,6 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.List;
@ApiSupport(order = 10031)
@Api(tags = "购买会员")
......@@ -106,10 +105,10 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 2)
@ApiOperation(value = "会员支付回调")
@PostMapping("callback")
public String paymentCallBack(@ModelAttribute AdamMemberOrderCallbackParam parameter){
public String paymentNotifyCallBack(@ModelAttribute AdamMemberOrderCallbackParam parameter) {
log.debug("/member/callback.parameter:{}", JsonUtils.toJson(parameter));
if (1 != parameter.getStatus() ||
!parameter.getType().equals(AdamMemberConst.TYPE_VIP) ||
!parameter.getType().equals("VIP") ||
null == parameter.getOrderCode() ||
null == parameter.getCode()) {
log.error("会员支付回调参数有误:{}", JsonUtils.toJson(parameter));
......@@ -117,7 +116,7 @@ public class AdamMemberOrderController {
return "fail";
}
ResponseDto<Object> dto = adamMemberOrderService.memberNotifyCallBack(parameter);
ResponseDto<Object> dto = adamMemberOrderService.paymentNotifyCallBack(parameter);
if (!dto.isSuccess()) {
log.warn("###会员支付回调处理失败:handleDto:{},CallbackParam:{}", JsonUtils.toJson(dto), JsonUtils.toJson(parameter));
......@@ -160,39 +159,40 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 4)
@ApiOperation(value = "会员订单列表")
@GetMapping("list")
public ResponseDto<List<AdamMemberOrderVo>> getMemberOrderList() {
String currentUid = CurrentUtil.getCurrentUid();
List<AdamMemberOrderVo> memberOrderList = adamMemberOrderService.getMemberOrderList(currentUid);
return ResponseDto.success(memberOrderList);
public ResponseDto<PageInfo<AdamMemberOrderSimpleVo>> list(@RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "5", required = false) int pageSize) {
return ResponseDto.success(adamMemberOrderService.queryPage(CurrentUtil.getCurrentUid(), pageNo, pageSize));
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "会员订单详情")
@GetMapping("info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@NotBlank @PathVariable String orderNo) {
AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(CurrentUtil.getCurrentUid(), orderNo);
return ResponseDto.success(memberOrderInfo);
return ResponseDto.success(adamRdmService.getShotMemberOrderVoByOrderNo(orderNo));
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "会员订单状态")
@GetMapping("check")
public ResponseDto<Integer> checkOrderResult(@NotBlank @RequestParam String orderNo) {
AdamMemberOrderVo memberOrderInfo = adamMemberOrderService.getMemberOrderInfo(CurrentUtil.getCurrentUid(), orderNo);
AdamMemberOrderVo memberOrderInfo = adamRdmService.getShotMemberOrderVoByOrderNo(orderNo);
if (null == memberOrderInfo) {
return ResponseDto.failure(ErrorMapping.get("10211"));
}
try {
String rst = HttpUtil.get(env.getProperty("liquidnet.url-pay.check") + "?code=" + memberOrderInfo.getPayNo(), null);
if (memberOrderInfo.getMode() <= 1) {
try {
String rst = HttpUtil.get(env.getProperty("liquidnet.url-pay.check") + "?code=" + memberOrderInfo.getPayNo(), null);
JsonNode rstJNode = JsonUtils.fromJson(rst, JsonNode.class);
JsonNode rstJNode = JsonUtils.fromJson(rst, JsonNode.class);
int status = Integer.parseInt(rstJNode.get("status").asText("0"));
int status = Integer.parseInt(rstJNode.get("status").asText("0"));
return ResponseDto.success(status == 1 ? status : 0);
} catch (Exception e) {
log.error("支付中心:会员订单状态查询失败:{}", orderNo, e);
return ResponseDto.failure(ErrorMapping.get("10212"));
return ResponseDto.success(status == 1 ? status : 0);
} catch (Exception e) {
log.error("支付中心:会员订单状态查询失败:{}", orderNo, e);
return ResponseDto.failure(ErrorMapping.get("10212"));
}
}
return ResponseDto.success(memberOrderInfo.getState());
}
}
......@@ -2,19 +2,19 @@ package com.liquidnet.service.adam.controller.admin;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.dto.AdamMemberCodeParam;
import com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ApiSupport(order = 90060)
@Api(tags = "后台管理:会员信息")
......@@ -31,21 +31,13 @@ public class AdamMemberAdminController {
@ApiOperation(value = "添加会员")
@PostMapping("add")
public ResponseDto<Object> add(@RequestBody AdamMemberParam parameter) {
AdamMember adamMember = new AdamMember();
BeanUtils.copyProperties(parameter, adamMember);
adamMember.setLimitation(1000);
adamMember.setType(1);
adamMember.setStartNo(1000);
adamMember.setMemberId(String.valueOf(IDGenerator.nextSnowId()));
adamMemberService.add(parameter);
return ResponseDto.success();
return ResponseDto.success(adamMemberService.add(parameter));
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "生成兑换码")
@PostMapping("gen_code")
public ResponseDto<Object> genMemberCode(@RequestBody AdamMemberCodeParam parameter) {
public ResponseDto<String> genMemberCode(@RequestBody AdamMemberCodeParam parameter) {
return ResponseDto.success(adamMemberCodeAdminService.createGiftCode(parameter));
}
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.adam.dto.AdamMemberPriceParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.liquidnet.service.base.ResponseDto;
......@@ -65,18 +66,16 @@ public class AdamMemberPriceAdminController {
@ApiOperationSupport(order = 3)
@ApiOperation(value = "添加会员价格")
@PostMapping("add")
public ResponseDto<Object> add(@Valid @RequestBody AdamMemberPriceParam param) {
public ResponseDto<AdamMemberPriceVo> add(@Valid @RequestBody AdamMemberPriceParam param) {
AdamMemberPrice entity = new AdamMemberPrice();
BeanUtils.copyProperties(param, entity);
adamMemberPriceService.add(entity);
return ResponseDto.success();
return ResponseDto.success(adamMemberPriceService.add(entity));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "编辑会员价格")
@PostMapping("edit")
public ResponseDto<Object> edit(@Valid @RequestBody AdamMemberPriceParam param) {
adamMemberPriceService.edit(param);
return ResponseDto.success();
public ResponseDto<AdamMemberPriceVo> edit(@Valid @RequestBody AdamMemberPriceParam param) {
return ResponseDto.success(adamMemberPriceService.edit(param));
}
}
......@@ -38,39 +38,39 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
@Autowired
RedisUtil redisUtil;
@Override
public AdamMemberVo queryMemberInfo() {
AdamMemberVo info = null;
List<AdamMemberVo> adamMemberVoList = mongoTemplate.findAll(AdamMemberVo.class);
int tag = 0;
if (adamMemberVoList.size() > 0) {
info = adamMemberVoList.get(0);
} else {
AdamMember firstMember = adamMemberMapper.getFirstMember();
if (null == firstMember) {
return null;
}
info = new AdamMemberVo();
BeanUtils.copyProperties(firstMember, info);
tag = 1;
}
String memberId = info.getMemberId();
List<AdamMemberPriceVo> memberPrice = new ArrayList<>();
LinkedHashSet<String> hkeys = (LinkedHashSet<String>) redisUtil.hkeys(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId));
Iterator<String> priceIterator = hkeys.iterator();
while(priceIterator.hasNext()){
String key = priceIterator.next();
AdamMemberPriceVo tempMemberPrice = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), key);
memberPrice.add(tempMemberPrice);
}
info.setPriceVoList(memberPrice);
if (1 == tag) {
mongoTemplate.insert(info, AdamMemberVo.class.getSimpleName());
}
return info;
}
// @Override
// public AdamMemberVo queryMemberInfo() {
// AdamMemberVo info = null;
// List<AdamMemberVo> adamMemberVoList = mongoTemplate.findAll(AdamMemberVo.class);
// int tag = 0;
// if (adamMemberVoList.size() > 0) {
// info = adamMemberVoList.get(0);
// } else {
// AdamMember firstMember = adamMemberMapper.getFirstMember();
// if (null == firstMember) {
// return null;
// }
// info = new AdamMemberVo();
// BeanUtils.copyProperties(firstMember, info);
// tag = 1;
// }
// String memberId = info.getMemberId();
// List<AdamMemberPriceVo> memberPrice = new ArrayList<>();
//
// LinkedHashSet<String> hkeys = (LinkedHashSet<String>) redisUtil.hkeys(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId));
// Iterator<String> priceIterator = hkeys.iterator();
// while(priceIterator.hasNext()){
// String key = priceIterator.next();
// AdamMemberPriceVo tempMemberPrice = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), key);
// memberPrice.add(tempMemberPrice);
// }
//
// info.setPriceVoList(memberPrice);
// if (1 == tag) {
// mongoTemplate.insert(info, AdamMemberVo.class.getSimpleName());
// }
// return info;
// }
// @Override
// public AdamMemberSimpleVo queryMemberSimpleVo() {
......
......@@ -325,7 +325,17 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
public AdamMemberOrderVo getShotMemberOrderVoByOrderNo(String orderNo) {
return (AdamMemberOrderVo) redisUtil.get(AdamRedisConst.SHOT_MEMBER_ORDER.concat(orderNo));
String key = AdamRedisConst.SHOT_MEMBER_ORDER.concat(orderNo);
AdamMemberOrderVo vo = (AdamMemberOrderVo) redisUtil.get(key);
if (null == vo) {
vo = mongoTemplate.findOne(
Query.query(Criteria.where("orderNo").is(orderNo)),
AdamMemberOrderVo.class, AdamMemberOrderVo.class.getSimpleName()
);
if (null != vo) redisUtil.set(key, vo);
}
return vo;
}
@Override
......@@ -348,6 +358,25 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
return redisUtil.get(AdamRedisConst.INCR_MEMBER_NO.concat(memberId));
}
@Override
public boolean setMemberCodeVoByCode(String memberCode, AdamMemberCodeVo vo) {
return redisUtil.set(AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode), vo);
}
@Override
public AdamMemberCodeVo getMemberCodeVoByCode(String memberCode) {
String key = AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode);
AdamMemberCodeVo vo = (AdamMemberCodeVo) redisUtil.get(key);
if (null == vo) {
vo = mongoTemplate.findOne(
Query.query(Criteria.where("code").is(memberCode)),
AdamMemberCodeVo.class, AdamMemberCodeVo.class.getSimpleName()
);
if (null != vo && vo.getState() == 0) redisUtil.set(AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode), vo);
}
return vo;
}
@Override
public boolean setTagsForSex(List<AdamTagVo> voList) {
return redisUtil.set(AdamRedisConst.INFO_TAGS_SEX, voList);
......@@ -367,23 +396,4 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
public List<AdamTagParentVo> getTagsForMusic() {
return (List<AdamTagParentVo>) redisUtil.get(AdamRedisConst.INFO_TAGS_MUSIC);
}
@Override
public boolean setMemberCodeVoByCode(String memberCode, AdamMemberCodeVo vo) {
return redisUtil.set(AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode), vo);
}
@Override
public AdamMemberCodeVo getMemberCodeVoByCode(String memberCode) {
String key = AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode);
AdamMemberCodeVo vo = (AdamMemberCodeVo) redisUtil.get(key);
if (null == vo) {
vo = mongoTemplate.findOne(
Query.query(Criteria.where("code").is(memberCode)),
AdamMemberCodeVo.class, AdamMemberCodeVo.class.getSimpleName()
);
if (null != vo && vo.getState() == 0) redisUtil.set(AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode), vo);
}
return vo;
}
}
package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper;
import com.liquidnet.service.adam.mapper.AdamUserMemberMapper;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
......@@ -40,10 +35,13 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper,
AdamUserMemberVo latestMaxMemberNoVo = mongoTemplate.findOne(query, AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
long currentMaxMemberNo = Long.parseLong(latestMaxMemberNoVo.getMemberNo());
adamRdmService.setMemberNoByMemberId(memberId, currentMaxMemberNo + 1);
if (null == latestMaxMemberNoVo) {
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(memberId);
adamRdmService.setMemberNoByMemberId(memberId, memberVo.getStartNo());
} else {
adamRdmService.setMemberNoByMemberId(memberId, Long.parseLong(latestMaxMemberNoVo.getMemberNo()));
}
return String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId));
} else {
String nextMemberNoStr = String.valueOf(adamRdmService.incrMemberNoByMemberId(memberId));
......
package com.liquidnet.service.adam.service.impl.admin;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.AdamMemberCodeParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo;
import com.liquidnet.service.adam.entity.AdamMemberCode;
import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService;
import com.liquidnet.service.adam.util.MemberUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@Slf4j
@Service
public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMapper, AdamMemberCode> implements IAdamMemberCodeAdminService {
@Autowired
AdamMemberCodeMapper adamMemberCodeMapper;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
MongoConverter mongoConverter;
@Autowired
RabbitTemplate rabbitTemplate;
@Autowired
RedisUtil redisUtil;
IAdamUserMemberService adamUserMemberService;
@Override
public String createGiftCode(AdamMemberCodeParam param) {
// 需要主动生成会员编号
AdamMemberCode adamMemberCode = new AdamMemberCode();
adamMemberCode.setType(param.getType());
adamMemberCode.setCode(MemberUtil.freeCode());
adamMemberCode.setMemberId(param.getMemberId());
adamMemberCode.setMemberPriceId(param.getMemberPriceId());
adamMemberCode.setState(0);
adamMemberCodeMapper.insert(adamMemberCode);
// mongo
AdamMemberCodeVo vo = new AdamMemberCodeVo();
BeanUtils.copyProperties(adamMemberCode, vo);
vo.setCreatedAt(DateUtil.format(adamMemberCode.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
vo.setUpdatedAt(DateUtil.format(adamMemberCode.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
mongoTemplate.insert(vo, AdamMemberCodeVo.class.getSimpleName());
return adamMemberCode.getCode();
String memberNo = adamUserMemberService.getNextMemberNo(param.getMemberId());
if (StringUtils.isEmpty(memberNo)) return "";
AdamMemberCode initMemberCode = new AdamMemberCode();
initMemberCode.setCode(MemberUtil.freeCode());
initMemberCode.setType(param.getType());
initMemberCode.setMemberId(param.getMemberId());
initMemberCode.setMemberPriceId(param.getMemberPriceId());
initMemberCode.setMemberNo(memberNo);
initMemberCode.setState(0);// 0-未使用,1-已使用,2-不可用
adamMemberCodeMapper.insert(initMemberCode);
mongoTemplate.insert(AdamMemberCodeVo.getNew().copy(initMemberCode), AdamMemberCodeVo.class.getSimpleName());
return initMemberCode.getCode();
}
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.service.impl.admin;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst;
......@@ -11,6 +12,8 @@ import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.entity.AdamMemberPrice;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -20,8 +23,10 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service
......@@ -35,17 +40,24 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamMemberPrice info) {
info.setMemberPriceId(IDGenerator.nextSnowId().toString());
public AdamMemberPriceVo add(AdamMemberPrice info) {
List<AdamMemberPrice> existList = adamMemberPriceMapper.selectList(
Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberId, info.getMemberId()));
info.setMemberPriceId(CollectionUtils.isEmpty(existList) ? "101" : IDGenerator.nextSnowId().toString());
info.setCreatedAt(LocalDateTime.now());
adamMemberPriceMapper.insert(info);
mongoTemplate.insert(AdamMemberPriceVo.getNew().copy(info), AdamMemberPriceVo.class.getSimpleName());
AdamMemberPriceVo vo = AdamMemberPriceVo.getNew().copy(info);
mongoTemplate.insert(vo, AdamMemberPriceVo.class.getSimpleName());
return vo;
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void edit(AdamMemberPriceParam param) {
public AdamMemberPriceVo edit(AdamMemberPriceParam param) {
AdamMemberPrice updateInfo = new AdamMemberPrice();
updateInfo.setState(param.getState());
updateInfo.setName(param.getName());
......@@ -59,10 +71,14 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
adamMemberPriceMapper.update(
updateInfo, Wrappers.lambdaQuery(AdamMemberPrice.class).eq(AdamMemberPrice::getMemberPriceId, memberPriceId));
mongoTemplate.getCollection(AdamMemberPriceVo.class.getSimpleName()).updateOne(
Document doc = mongoTemplate.getCollection(AdamMemberPriceVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("memberPriceId").is(memberPriceId)).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateInfo)))
new Document("$set", Document.parse(JsonUtils.toJson(updateInfo))),
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
redisUtil.del(AdamRedisConst.INFO_MEMBER_PRICE.concat(memberPriceId));
return BsonUtil.toBean(doc, AdamMemberPriceVo.class);
}
}
package com.liquidnet.service.adam.service.impl.admin;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamMemberParam;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.mapper.AdamMemberMapper;
import com.liquidnet.service.adam.service.admin.IAdamMemberAdminService;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.List;
@Slf4j
@Service
......@@ -32,30 +30,24 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
RedisUtil redisUtil;
@Override
public void add(AdamMemberParam info) {
public AdamMemberVo add(AdamMemberParam param) {
AdamMember adamMember = new AdamMember();
BeanUtils.copyProperties(info, adamMember);
BeanUtils.copyProperties(param, adamMember);
adamMember.setMemberId(IDGenerator.nextSnowId().toString());
List<AdamMember> existList = adamMemberMapper.selectList(Wrappers.lambdaQuery());
adamMember.setMemberId(CollectionUtils.isEmpty(existList) ? "1" : IDGenerator.nextSnowId().toString());
adamMember.setType(1);
adamMember.setStartNo(10000);
adamMember.setCreatedAt(LocalDateTime.now());
adamMember.setUpdatedAt(LocalDateTime.now());
adamMemberMapper.insert(adamMember);
mongoTemplate.insert(AdamMemberVo.getNew().copy(adamMember), AdamMemberVo.class.getSimpleName());
}
@Override
public void edit(AdamMember info) {
info.setUpdatedAt(LocalDateTime.now());
AdamMemberVo vo = AdamMemberVo.getNew().copy(adamMember);
AdamMemberVo updateVo = AdamMemberVo.getNew().copy(info);
mongoTemplate.insert(vo, AdamMemberVo.class.getSimpleName());
mongoTemplate.getCollection(AdamMemberVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("mId").is(info.getMid())).getQueryObject(),
new Document("$set", Document.parse(JsonUtils.toJson(updateVo)))
);
redisUtil.del(AdamRedisConst.INFO_MEMBER_CATEGORY.concat(info.getMemberId()));
return vo;
}
}
......@@ -12,21 +12,6 @@ adam_real_name.add=INSERT INTO adam_real_name (real_name_id, `uid`, `type`, `nam
adam_third_party.add=INSERT INTO adam_third_party (`uid`, open_id, avatar, nickname, platform, `state`, created_at) values (?,?,?,?,?,?,?)
adam_third_party.unbind=UPDATE adam_third_party SET `state`=2, updated_at=? WHERE `uid`=? AND platform=? AND `state`=1
# ----------------------------------------------------
adam_member.add=INSERT INTO adam_member ( `name`, `title`, `sub_title`, `icon`, `avatar`, `start_no`, `type`, `interests_detail`, `notes`, `is_notice`, `notice_info`, `notice_title`, `need_question`, `display_agreement`, `agreement`, `member_id`, `limitation`) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
# ----------------------------------------------------
adam_member_order.add=INSERT INTO adam_member_order (order_no, `uid`, `mode`, price, price_paid, member_name, member_id, member_price_id, `days`, `state`, member_no, device_from, pay_type, pay_no, birthday, payment_at, created_at, client_ip, `source`, version) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
adam_member_order.update=UPDATE adam_member_order SET `state` =?, member_no =?, payment_at =?, updated_at =? WHERE order_no =?
# ----------------------------------------------------
adam_member_code.add=INSERT INTO adam_member_code (code, `type`, member_id, member_price_id, member_no, `state`, created_at, buy_order_no, buy_uid, buy_at) VALUES (?,?,?,?,?,?,?,?,?,?)
adam_member_code.exchange=UPDATE adam_member_code SET `state`=?, updated_at=?, use_order_no=?, use_uid=?, use_at=? WHERE code=?
# ----------------------------------------------------
adam_user_member.add=INSERT INTO adam_user_member (`uid`, member_id, member_no, `state`, expiry_at, created_at) VALUES (?,?,?,?,?,?)
adam_user_member.update=UPDATE adam_user_member SET `state`=?, expiry_at=?, updated_at=? WHERE `uid`=?
# ----------------------------------------------------
adam_addresses.add=
adam_addresses.edit=
......@@ -40,10 +25,24 @@ adam_enters.update.is_default=UPDATE adam_enters set is_default=?, updated_at=?
adam_enters.remove=UPDATE adam_enters SET `state`=2, updated_at=?, deleted_at=? where enters_id=?
# ----------------------------------------------------
adam_member.add=INSERT INTO adam_member ( `name`, `title`, `sub_title`, `icon`, `avatar`, `start_no`, `type`, `interests_detail`, `notes`, `is_notice`, `notice_info`, `notice_title`, `need_question`, `display_agreement`, `agreement`, `member_id`, `limitation`) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
# ----------------------------------------------------
adam_member_code.add=INSERT INTO adam_member_code (code, `type`, member_id, member_price_id, member_no, `state`, created_at, buy_order_no, buy_uid, buy_at) VALUES (?,?,?,?,?,?,?,?,?,?)
adam_member_code.exchange=UPDATE adam_member_code SET `state`=?, updated_at=?, use_order_no=?, use_uid=?, use_at=? WHERE code=?
# ----------------------------------------------------
adam_member_order.add=INSERT INTO adam_member_order (order_no, `uid`, `mode`, price, price_paid, member_name, member_id, member_price_id, `days`, `state`, member_no, birthday, device_from, pay_type, pay_no, payment_at, created_at, client_ip, `source`, version) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
adam_member_order.update=UPDATE adam_member_order SET `state`=?, member_no=?, payment_at=?, updated_at=? WHERE order_no=?
# ----------------------------------------------------
adam_user_member.add=INSERT INTO adam_user_member (`uid`, member_id, member_no, `state`, expiry_at, created_at) VALUES (?,?,?,?,?,?)
adam_user_member.update=UPDATE adam_user_member SET `state`=?, expiry_at=?, updated_at=? WHERE `uid`=?
# ----------------------------------------------------
# ----------------------------------------------------
# ----------------------------------------------------
\ No newline at end of file
......@@ -568,96 +568,6 @@ CREATE TABLE `kylin_check_user_performances`
DEFAULT CHARSET = utf8mb4 COMMENT '验票用户可看演出表';
-- 快递相关临时
drop TABLE if exists `express_batches`;
CREATE TABLE `express_batches`
(
`id` int unsigned NOT NULL AUTO_INCREMENT,
`admin_id` int NOT NULL DEFAULT '0' COMMENT '管理员',
`order_id` int NOT NULL DEFAULT '0' COMMENT '订单Id,订阅前查询',
`order_type` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '订单类型 order_product 商品订单 , order_ticket 票务订单, order_integration 积分订单',
`order_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '订单编号',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递公司名称',
`company` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递公司编号',
`number` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递单号',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态 0新导入 1订阅成功 2订阅失败',
`import_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '导入时间',
`batch` int NOT NULL DEFAULT '0' COMMENT '导入批次',
`reason` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '失败原因',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `express_batches_batch_index` (`batch`),
KEY `express_batches_company_index` (`company`),
KEY `express_batches_number_index` (`number`),
KEY `express_batches_order_code_index` (`order_code`),
KEY `express_batches_order_type_index` (`order_type`)
) ENGINE = InnoDB
AUTO_INCREMENT = 34781
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC;
drop TABLE if exists `express_logs`;
CREATE TABLE `express_logs`
(
`id` int unsigned NOT NULL AUTO_INCREMENT,
`order_id` int NOT NULL COMMENT '订单id',
`order_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '订单类型 order_product 商品订单 , order_ticket 票务订单',
`admin_id` int NOT NULL DEFAULT '0' COMMENT '修改人id',
`admin_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '修改人名称',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递联系人',
`mobile` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递联系电话',
`address` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递收货地址',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 487
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC;
drop TABLE if exists `express_timelines`;
CREATE TABLE `express_timelines`
(
`id` int unsigned NOT NULL AUTO_INCREMENT,
`express_id` int NOT NULL DEFAULT '0' COMMENT '快递',
`context` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '快递消息',
`time` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '时间,原始格式',
`ftime` datetime NOT NULL COMMENT '格式化后时间',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 2039805
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='快递时间线表';
drop TABLE if exists `expresses`;
CREATE TABLE `expresses`
(
`id` int unsigned NOT NULL AUTO_INCREMENT,
`admin_id` int NOT NULL DEFAULT '0' COMMENT '管理员',
`order_id` int NOT NULL DEFAULT '0' COMMENT '订单Id',
`order_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '订单编号',
`order_type` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '订单类型 order_product 商品订单 , order_ticket 票务订单, order_integration 积分订单',
`status` tinyint NOT NULL DEFAULT '-1' COMMENT '状态 -1待揽收、0在途中、1已揽收、2疑难、3已签收',
`number` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '' COMMENT '快递单号',
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递公司名称',
`company` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '快递公司编号',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `expresses_number_index` (`number`),
KEY `expresses_order_code_index` (`order_code`),
KEY `expresses_order_id_index` (`order_id`),
KEY `expresses_order_type_index` (`order_type`)
) ENGINE = InnoDB
AUTO_INCREMENT = 56762
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='快递表';
insert into `kylin_buy_notice` (`buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`,
`updated_at`, `title`)
values ('1', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c45722882a13.png',
......
package com.liquidnet.service.kylin.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 快递表 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@RestController
@RequestMapping("/expresses")
public class ExpressesController {
}
......@@ -4,7 +4,10 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.dto.vo.middle.message.MessageConfigVo;
import com.liquidnet.service.kylin.dto.vo.middle.message.MessageDataVo;
import com.liquidnet.service.kylin.service.impl.partner.KylinPerformancesPartnerServiceImpl;
import com.liquidnet.service.kylin.utils.OtherUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
......@@ -23,6 +26,8 @@ import java.util.Map;
@Validated
public class PerformancePartnerController {
@Autowired
private OtherUtils otherUtils;
@Autowired
private KylinPerformancesPartnerServiceImpl performancesPartnerService;
......
......@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dto.vo.KylinBannersVo;
import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.mapper.KylinBannersMapper;
......@@ -39,7 +40,7 @@ public class BannersServiceImpl extends ServiceImpl<KylinBannersMapper, KylinBan
);
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
Criteria onlineTimeBetween = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").gte(nowTimeStr);
Criteria onlineTimeGt = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").is("");
Criteria onlineTimeLt = Criteria.where("onlineStartTime").is("").and("onlineEndTime").gte(nowTimeStr);
......
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.service.kylin.entity.ExpressBatches;
import com.liquidnet.service.kylin.mapper.ExpressBatchesMapper;
import com.liquidnet.service.kylin.service.IExpressBatchesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@Service
public class ExpressBatchesServiceImpl extends ServiceImpl<ExpressBatchesMapper, ExpressBatches> implements IExpressBatchesService {
}
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.service.kylin.entity.ExpressLogs;
import com.liquidnet.service.kylin.mapper.ExpressLogsMapper;
import com.liquidnet.service.kylin.service.IExpressLogsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@Service
public class ExpressLogsServiceImpl extends ServiceImpl<ExpressLogsMapper, ExpressLogs> implements IExpressLogsService {
}
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.service.kylin.entity.ExpressTimelines;
import com.liquidnet.service.kylin.mapper.ExpressTimelinesMapper;
import com.liquidnet.service.kylin.service.IExpressTimelinesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 快递时间线表 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-26
*/
@Service
public class ExpressTimelinesServiceImpl extends ServiceImpl<ExpressTimelinesMapper, ExpressTimelines> implements IExpressTimelinesService {
}
......@@ -74,7 +74,7 @@ public class KylinOrderTicketEntitiesServiceImpl extends ServiceImpl<KylinOrderT
updateVo.setUpdatedAt(nowDtStr);
updateVo.setStatus(1);
dataUtils.delOrderTicketEntitiesRedis(r.getTicketEntitiesId());
// dataUtils.delOrderTicketEntitiesRedis(r.getTicketEntitiesId());
paramsList.add(new Object[]{1, nowDtStr, r.getCheckedAt(), r.getCheckType(), r.getCheckUserId(), r.getTicketEntitiesId()});
Document updateQuery = Query.query(Criteria.where("orderTicketEntitiesId").is(r.getTicketEntitiesId())).getQueryObject();
......
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