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

Commit 31b2caf1 authored by 胡佳晨's avatar 胡佳晨

退款相关配置 admin相关提交

parent 9229d978
......@@ -26,6 +26,11 @@ public class KylinRedisConst {
public static final String ORDER_REFUND_BY_ORDER_ID = "kylin:order:refund:orderId:";
public static final String ORDER_REFUND = "kylin:order:refund:orderRefundsId:";
// 收货地址
public static final String ORDER_REFUND_ADDRESS = "kylin:order:refund:address";
// 手续费
public static final String ORDER_REFUND_POUNDAGE = "kylin:order:poundage";
public static final String USERID_BUY_INFO = "kylin:buy:userId:";
public static final String IDCARD_BUY_INFO = "kylin:buy:idCard:";
public static final String PERFORMANCE_ID = "performanceId";
......@@ -50,5 +55,4 @@ public class KylinRedisConst {
public static final String ADMIN_UPUSH_LIST_ANDROID = "basicServices:upushList:Android";
public static final String ADMIN_BANNER_LIST = "kylin:bannerList";
}
package com.liquidnet.service.kylin.dto.vo.admin;
import lombok.Data;
/**
* @version V1.0
* @class: OrderRefundAddress
* @Copyright: LightNet @ Copyright (c) 2021
*/
@Data
public class OrderRefundAddress implements Cloneable {
private String name;
private String phone;
private String address;
private static final OrderRefundAddress obj = new OrderRefundAddress();
public static OrderRefundAddress getNew() {
try {
return (OrderRefundAddress) obj.clone();
} catch (CloneNotSupportedException e) {
return new OrderRefundAddress();
}
}
}
package com.liquidnet.service.kylin.dto.vo.admin;
import lombok.Data;
/**
* @version V1.0
* @class: OrderRefundPoundage
* @Copyright: LightNet @ Copyright (c) 2021
*/
@Data
public class OrderRefundPoundage implements Cloneable {
private int day;
private String content;
private float present;
private int isCanRefund;
private static final OrderRefundPoundage obj = new OrderRefundPoundage();
public static OrderRefundPoundage getNew() {
try {
return (OrderRefundPoundage) obj.clone();
} catch (CloneNotSupportedException e) {
return new OrderRefundPoundage();
}
}
}
......@@ -13,4 +13,10 @@ public class PerformanceRefundConfigVo {
private Integer isCanRefund;
private String refundOpenTime;
private String refundCloseTime;
private Integer isRefundPoundage;
private Integer isRefundVoucher;
private Integer isRefundExpress;
private OrderRefundAddress orderRefundAddress;
}
......@@ -112,6 +112,10 @@ public class KylinPerformanceVo {
private String refundOpenTime;
private String refundCloseTime;
private Integer isRefundPoundage;
private Integer isRefundVoucher;
private Integer isRefundExpress;
public void setPerformance(KylinPerformances performance) {
this.mid = performance.getMid();
this.performancesId = performance.getPerformancesId();
......@@ -161,6 +165,9 @@ public class KylinPerformanceVo {
this.isOpenRefundPresent = performanceStatus.getIsOpenRefundPresent();
this.refundOpenTime = DateUtil.Formatter.yyyyMMddHHmmss.format(performanceStatus.getRefundOpenTime());
this.refundCloseTime = DateUtil.Formatter.yyyyMMddHHmmss.format(performanceStatus.getRefundCloseTime());
this.isRefundPoundage = performanceStatus.getIsRefundPoundage();
this.isRefundVoucher = performanceStatus.getIsRefundVoucher();
this.isRefundExpress = performanceStatus.getIsRefundExpress();
}
public void setPerformanceRelations(KylinPerformanceRelations performanceRelations) {
......
......@@ -185,7 +185,10 @@ public interface IKylinPerformancesAdminService {
boolean changeRefundConfig(String performancesId,
Integer isCanRefund,
String refundOpenTime,
String refundCloseTime);
String refundCloseTime,
Integer isRefundPoundage,
Integer isRefundVoucher,
Integer isRefundExpress);
KylinPerformanceAgentVo getPerformanceAgent(String performancesId);
......
......@@ -197,8 +197,11 @@ public class KylinPerformancesController extends BaseController {
public AjaxResult changeRefundConfig(@RequestParam("performancesId") String performancesId,
@RequestParam("isCanRefund") Integer isCanRefund,
@RequestParam("refundOpenTime") String refundOpenTime,
@RequestParam("refundCloseTime") String refundCloseTime) {
boolean result = kylinPerformancesService.changeRefundConfig(performancesId,isCanRefund,refundOpenTime,refundCloseTime);
@RequestParam("refundCloseTime") String refundCloseTime,
@RequestParam("isRefundPoundage") Integer isRefundPoundage,
@RequestParam("isRefundVoucher") Integer isRefundVoucher,
@RequestParam("isRefundExpress") Integer isRefundExpress) {
boolean result = kylinPerformancesService.changeRefundConfig(performancesId,isCanRefund,refundOpenTime,refundCloseTime,isRefundPoundage,isRefundVoucher,isRefundExpress);
return toAjax(result);
}
}
......@@ -38,6 +38,81 @@
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">手续费:</label>
<div class="col-sm-8" th:if="*{isRefundPoundage==1}">
<div class="radio check-box">
<input type="radio" value="1" name="performance_isRefundPoundage" checked>开启</label>
</div>
<div class="radio check-box">
<input type="radio" value="0" name="performance_isRefundPoundage">关闭</label>
</div>
</div>
<div class="col-sm-8" th:if="*{isRefundPoundage==0}">
<div class="radio check-box">
<input type="radio" value="1" name="performance_isRefundPoundage">开启</label>
</div>
<div class="radio check-box">
<input type="radio" value="0" name="performance_isRefundPoundage" checked> 关闭</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">退优惠券:</label>
<div class="col-sm-8" th:if="*{isRefundVoucher==1}">
<div class="radio check-box">
<input type="radio" value="1" name="performance_isRefundVoucher" checked>开启</label>
</div>
<div class="radio check-box">
<input type="radio" value="0" name="performance_isRefundVoucher">关闭</label>
</div>
</div>
<div class="col-sm-8" th:if="*{isRefundVoucher==0}">
<div class="radio check-box">
<input type="radio" value="1" name="performance_isRefundVoucher">开启</label>
</div>
<div class="radio check-box">
<input type="radio" value="0" name="performance_isRefundVoucher" checked> 关闭</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">快递费:</label>
<div class="col-sm-8" th:if="*{isRefundExpress==1}">
<div class="radio check-box">
<input type="radio" value="1" name="performance_isRefundExpress" checked>用户承担</label>
</div>
<div class="radio check-box">
<input type="radio" value="0" name="performance_isRefundExpress"></label>
</div>
</div>
<div class="col-sm-8" th:if="*{isRefundExpress==0}">
<div class="radio check-box">
<input type="radio" value="1" name="performance_isRefundExpress">用户承担</label>
</div>
<div class="radio check-box">
<input type="radio" value="0" name="performance_isRefundExpress" checked></label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">收货人:</label>
<div class="col-sm-8">
<input name="title" th:field="*{orderRefundAddress.name}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话:</label>
<div class="col-sm-8">
<input name="title" th:field="*{orderRefundAddress.phone}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">收货地址:</label>
<div class="col-sm-8">
<input name="title" th:field="*{orderRefundAddress.address}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">定时: </label>
<input th:field="${performanceRefundConfigVo.refundOpenTime}" type="text" style="width: 200px;float: left"
......@@ -78,7 +153,11 @@
performancesId: '[[${performanceRefundConfigVo.performancesId}]]'.replaceAll("\"", ""),
isCanRefund: parseInt($("input[name^='performance_isCanRefund']:checked").val()),
refundOpenTime: $("input[name^='refundOpenTime']").val(),
refundCloseTime: $("input[name^='refundCloseTime']").val()
refundCloseTime: $("input[name^='refundCloseTime']").val(),
isRefundPoundage: $("input[name^='performance_isRefundPoundage']").val(),
isRefundVoucher: $("input[name^='performance_isRefundVoucher']").val(),
isRefundExpress: $("input[name^='performance_isRefundExpress']").val()
}
if ($("input[name^='refundCloseTime']").val() == "" || $("input[name^='refundOpenTime']").val() == "") {
......
......@@ -577,6 +577,12 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
vo.setIsCanRefund(kylinPerformanceStatus.getIsCanRefund());
vo.setRefundCloseTime(kylinPerformanceStatus.getRefundCloseTime() == null ? "" : DateUtil.Formatter.yyyyMMddHHmmss.format(kylinPerformanceStatus.getRefundCloseTime()));
vo.setRefundOpenTime(kylinPerformanceStatus.getRefundOpenTime() == null ? "" : DateUtil.Formatter.yyyyMMddHHmmss.format(kylinPerformanceStatus.getRefundOpenTime()));
vo.setIsRefundPoundage(kylinPerformanceStatus.getIsRefundPoundage());
vo.setIsRefundVoucher(kylinPerformanceStatus.getIsRefundVoucher());
vo.setIsRefundExpress(kylinPerformanceStatus.getIsRefundExpress());
vo.setOrderRefundAddress(dataUtils.getRefundAddress());
return vo;
}
......@@ -584,11 +590,19 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
public boolean changeRefundConfig(String performancesId,
Integer isCanRefund,
String refundOpenTime,
String refundCloseTime) {
String refundCloseTime,
Integer isRefundPoundage,
Integer isRefundVoucher,
Integer isRefundExpress) {
KylinPerformanceStatus kylinPerformanceStatus = new KylinPerformanceStatus();
kylinPerformanceStatus.setIsCanRefund(isCanRefund);
kylinPerformanceStatus.setRefundOpenTime(DateUtil.Formatter.yyyyMMddHHmmss.parse(refundOpenTime));
kylinPerformanceStatus.setRefundCloseTime(DateUtil.Formatter.yyyyMMddHHmmss.parse(refundCloseTime));
kylinPerformanceStatus.setIsRefundPoundage(isRefundPoundage);
kylinPerformanceStatus.setIsRefundVoucher(isRefundVoucher);
kylinPerformanceStatus.setIsRefundExpress(isRefundExpress);
try {
performanceStatusMapper.update(kylinPerformanceStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
performanceVoUtils.performanceVoStatus(performancesId);
......
package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
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;
......@@ -19,7 +19,6 @@ import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Component
......@@ -349,4 +348,49 @@ public class DataUtils {
}
return ret;
}
// 获取手续费
public ArrayList<OrderRefundPoundage> getRefundPoundage(){
Object obj = redisUtil.get(KylinRedisConst.ORDER_REFUND_POUNDAGE);
if(obj==null){
ArrayList<OrderRefundPoundage> voList = new ArrayList();
OrderRefundPoundage vo1 = OrderRefundPoundage.getNew();
vo1.setDay(15);
vo1.setContent("距离演出开始日期>15天");
vo1.setPresent(0.9f);
vo1.setIsCanRefund(1);
OrderRefundPoundage vo2 = OrderRefundPoundage.getNew();
vo2.setDay(3);
vo2.setContent("距离演出开始日期>3天-15天(含15天)");
vo2.setPresent(0.5f);
vo2.setIsCanRefund(1);
OrderRefundPoundage vo3 = OrderRefundPoundage.getNew();
vo3.setDay(0);
vo3.setContent("距离演出开始日期≤3天(含演出当天)");
vo3.setPresent(1.0f);
vo3.setIsCanRefund(0);
voList.add(vo1);
voList.add(vo2);
voList.add(vo3);
redisUtil.set(KylinRedisConst.ORDER_REFUND_POUNDAGE,voList);
return voList;
}else{
return (ArrayList<OrderRefundPoundage>)obj;
}
}
// 获取 快递地址
public OrderRefundAddress getRefundAddress(){
Object obj = redisUtil.get(KylinRedisConst.ORDER_REFUND_ADDRESS);
if(obj==null){
OrderRefundAddress vo = OrderRefundAddress.getNew();
vo.setName("张三");
vo.setPhone("010 124412");
vo.setAddress("北京 北京市朝阳区广渠路3-12");
redisUtil.set(KylinRedisConst.ORDER_REFUND_ADDRESS,vo);
return vo;
}else{
return (OrderRefundAddress)obj;
}
}
}
......@@ -109,6 +109,21 @@ public class KylinPerformanceStatus implements Serializable ,Cloneable{
*/
private LocalDateTime refundCloseTime;
/**
* 是否有手续费
*/
private Integer isRefundPoundage;
/**
* 是否退优惠券
*/
private Integer isRefundVoucher;
/**
* 是否退快递费
*/
private Integer isRefundExpress;
/**
* 创建时间
*/
......
......@@ -124,8 +124,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
// checkOrderTime(uid);
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
currentTime = System.currentTimeMillis() - currentTime;
if(uid.equals("809406") || uid.equals("773650")) {
}else{
if (uid.equals("809406") || uid.equals("773650")) {
} else {
if (!orderTicketVo.getUserId().equals(uid)) {
return null;
}
......@@ -192,7 +192,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
} else {
vo.setRestTime(0L);
}
currentTime = System.currentTimeMillis() - currentTime;
Integer orderExpressStatus = dataUtils.getOrderExpressInfo(orderTicketVo.getOrderTicketsId());
vo.setExpressStatus(orderExpressStatus);
......@@ -204,7 +203,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
break;
}
OrderRefundListVo data = OrderRefundListVo.getNew();
if(item.getOrderRefundCode().length()>20) {
if (item.getOrderRefundCode().length() > 20) {
data.setOrderRefundCode(item.getOrderRefundCode().substring(item.getOrderRefundCode().length() - 10));
}
data.setOrderRefundsId(item.getOrderRefundsId());
......@@ -220,8 +219,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
if (null != performanceVo.getIsCanRefund() && performanceVo.getIsCanRefund() == 1) {
LocalDateTime refundOpenDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundOpenTime());
LocalDateTime refundCloseDate = DateUtil.Formatter.yyyyMMddHHmmss.parse(performanceVo.getRefundCloseTime());
if (LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate) && orderTicketVo.getExpressAddress().trim().equals("")
&& ticketVo.getCounts() == 1 && lockPrice.compareTo(orderTicketVo.getPriceActual()) != 0
if (LocalDateTime.now().isAfter(refundOpenDate) && LocalDateTime.now().isBefore(refundCloseDate)
&& lockPrice.compareTo(orderTicketVo.getPriceActual()) != 0
&& (orderTicketVo.getStatus().equals(1) || orderTicketVo.getStatus().equals(3) || orderTicketVo.getStatus().equals(6))) {
vo.setIsCanRefund(1);
} else {
......@@ -232,7 +231,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
orderTicketVo.setOrderRefundListVos(orderRefundListVos);
if(orderTicketVo.getOrderCode().length()>20) {
if (orderTicketVo.getOrderCode().length() > 20) {
orderTicketVo.setOrderCode(orderTicketVo.getOrderCode().substring(orderTicketVo.getOrderCode().length() - 10));
}
vo.setOrderTicketVo(orderTicketVo);
......@@ -241,7 +240,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
log.info(UserPathDto.setData("订单详情", orderId, vo));
return vo;
} catch (Exception e) {
log.info("订单详情异常:",e);
log.info("订单详情异常:", e);
return null;
}
}
......@@ -279,8 +278,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if(uid.equals("809406") || uid.equals("773650")) {
}else{
if (uid.equals("809406") || uid.equals("773650")) {
} else {
if (!orderTicketVo.getUserId().equals(uid)) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}
......@@ -302,7 +301,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
kylinOrderTicketEntitiesPreRefundVos.add(refundVo);
}
orderTicketVo.setFieldName(performanceVo.getFieldName());
if(orderTicketVo.getOrderCode().length()>20) {
if (orderTicketVo.getOrderCode().length() > 20) {
orderTicketVo.setOrderCode(orderTicketVo.getOrderCode().substring(orderTicketVo.getOrderCode().length() - 10));
}
BeanUtils.copyProperties(orderTicketVo, vo);
......@@ -323,18 +322,18 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
if(uid.equals("809406") || uid.equals("773650")) {
}else{
if (uid.equals("809406") || uid.equals("773650")) {
} else {
if (!orderTicketVo.getUserId().equals(uid)) {
return ResponseDto.failure(ErrorMapping.get("20003"));
}
}
orderTicketVo.setFieldName(performanceVo.getFieldName());
if(orderTicketVo.getOrderCode().length()>20) {
if (orderTicketVo.getOrderCode().length() > 20) {
orderTicketVo.setOrderCode(orderTicketVo.getOrderCode().substring(orderTicketVo.getOrderCode().length() - 10));
}
KylinOrderRefundsVo kylinOrderRefundsVoBase = dataUtils.getOrderRefundVo(orderRefundId);
if(kylinOrderRefundsVoBase.getOrderRefundCode().length()>20) {
if (kylinOrderRefundsVoBase.getOrderRefundCode().length() > 20) {
kylinOrderRefundsVoBase.setOrderRefundCode(kylinOrderRefundsVoBase.getOrderRefundCode().substring(kylinOrderRefundsVoBase.getOrderRefundCode().length() - 10));
}
vo.setKylinOrderRefundsVoBaseList(kylinOrderRefundsVoBase);
......@@ -353,8 +352,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if(uid.equals("809406") || uid.equals("773650")) {
}else{
if (uid.equals("809406") || uid.equals("773650")) {
} else {
if (!orderTicketVo.getUserId().equals(uid)) {
return "无权查看";
}
......@@ -527,7 +526,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
entitiesTable.setIsPayment(newIsPayment);
entitiesTable.setUpdatedAt(time);
log.info("sqlsDataB data = "+entitiesTable.getIsPayment());
log.info("sqlsDataB data = " + entitiesTable.getIsPayment());
sqlsDataB.add(new Object[]{
entitiesTable.getIsPayment(), entitiesTable.getUpdatedAt(), item.getOrderTicketEntitiesId(), now, now
......
ALTER TABLE kylin_performance_status ADD is_refund_poundage tinyint DEFAULT 0 COMMENT '是否有手续费';
ALTER TABLE kylin_performance_status ADD is_refund_voucher tinyint DEFAULT 0 COMMENT '是否退优惠券';
ALTER TABLE kylin_performance_status ADD is_refund_express tinyint DEFAULT 0 COMMENT '是否手续费';
\ No newline at end of file
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