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

Commit 393ca794 authored by jiangxiulong's avatar jiangxiulong

完善退款 改配置url

parent 212d79f1
...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.dto.param; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.dto.param;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
...@@ -25,6 +26,7 @@ public class RefundApplyParam implements Serializable { ...@@ -25,6 +26,7 @@ public class RefundApplyParam implements Serializable {
private Double RefundPriceExpress; private Double RefundPriceExpress;
private List<String> ticketEntityIds; private List<String> ticketEntityIds;
private List<BigDecimal> entitiesPrice;
private List<String> ids; private List<String> ids;
......
package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.dao.KylinOrderTicketEntitiesDao;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import lombok.Data;
import java.util.List;
@Data
public class RefundOrderDetailsVo {
private KylinOrderTicketVo orderTicketVo;
private KylinPerformanceVo kylinPerformanceVo;
private List<KylinOrderTicketEntitiesDao> KylinOrderTicketEntitiesDao;
}
...@@ -14,6 +14,7 @@ import com.liquidnet.service.kylin.dto.param.RefundApplyParam; ...@@ -14,6 +14,7 @@ import com.liquidnet.service.kylin.dto.param.RefundApplyParam;
import com.liquidnet.service.kylin.dto.param.RefundSearchParam; import com.liquidnet.service.kylin.dto.param.RefundSearchParam;
import com.liquidnet.service.kylin.dto.vo.admin.OrderDetailsAdminVo; import com.liquidnet.service.kylin.dto.vo.admin.OrderDetailsAdminVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo; import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.dto.vo.returns.RefundOrderDetailsVo;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
...@@ -70,8 +71,8 @@ public class KylinOrderRefundAdminController extends BaseController { ...@@ -70,8 +71,8 @@ public class KylinOrderRefundAdminController extends BaseController {
@PostMapping("applyOrder") @PostMapping("applyOrder")
@ResponseBody @ResponseBody
public OrderDetailsAdminVo applyOrder(RefundApplyParam refundApplyParam) { public RefundOrderDetailsVo applyOrder(RefundApplyParam refundApplyParam) {
OrderDetailsAdminVo orderInfo = kylinOrderRefundsServiceImpl.orderDetails(refundApplyParam.getOrderCode()); RefundOrderDetailsVo orderInfo = kylinOrderRefundsServiceImpl.orderDetails(refundApplyParam.getOrderCode());
return orderInfo; return orderInfo;
} }
......
...@@ -26,7 +26,7 @@ liquidnet: ...@@ -26,7 +26,7 @@ liquidnet:
database-name: dev_ln_scene database-name: dev_ln_scene
url-refund: url-refund:
apply: "http://testpay.zhengzai.tv/refund/single" apply: "http://testpay.zhengzai.tv/refund/single"
notify: "https://devzuul.zhengzai.tv/kylin/refund/callback" notify: "https://devkylin.zhengzai.tv/kylin/refund/callback"
url-banner: url-banner:
provinces: "https://devservice.zhengzai.tv/provinces" #省份 provinces: "https://devservice.zhengzai.tv/provinces" #省份
url1: "https://devmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1" #PGC点播 url1: "https://devmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1" #PGC点播
......
...@@ -26,7 +26,7 @@ liquidnet: ...@@ -26,7 +26,7 @@ liquidnet:
database-name: test_ln_scene database-name: test_ln_scene
url-refund: url-refund:
apply: "http://pay.zhengzai.tv/refund/single" apply: "http://pay.zhengzai.tv/refund/single"
notify: "https://zuul.zhengzai.tv/kylin/refund/callback" notify: "https://kylin.zhengzai.tv/kylin/refund/callback"
url-banner: url-banner:
provinces: "https://service.zhengzai.tv/provinces" #省份 provinces: "https://service.zhengzai.tv/provinces" #省份
url1: "https://mediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1" #PGC点播 url1: "https://mediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1" #PGC点播
......
...@@ -26,7 +26,7 @@ liquidnet: ...@@ -26,7 +26,7 @@ liquidnet:
database-name: test_ln_scene database-name: test_ln_scene
url-refund: url-refund:
apply: "http://testpay.zhengzai.tv/refund/single" apply: "http://testpay.zhengzai.tv/refund/single"
notify: "https://zuul.zhengzai.tv/kylin/refund/callback" notify: "https://testkylin.zhengzai.tv/kylin/refund/callback"
url-banner: url-banner:
provinces: "https://testservice.zhengzai.tv/provinces" #省份 provinces: "https://testservice.zhengzai.tv/provinces" #省份
url1: "https://testmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1" #PGC点播 url1: "https://testmediaapi.zhengzai.tv/api/video/list?per_page=50&page=1&type=1" #PGC点播
......
...@@ -8,28 +8,34 @@ ...@@ -8,28 +8,34 @@
<form class="form-horizontal m" id="form-post-add"> <form class="form-horizontal m" id="form-post-add">
<input hidden="hidden" type="text" name="orderTicketsId" id="orderTicketsId"> <input hidden="hidden" type="text" name="orderTicketsId" id="orderTicketsId">
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">订单编号:</label> <label class="col-sm-2 control-label is-required">订单编号:</label>
<div class="col-sm-8"> <div class="col-sm-10">
<input class="form-control" type="text" name="orderCode" id="orderCode" required> <input class="form-control" type="text" name="orderCode" id="orderCode" required>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">快递费:</label> <label class="col-sm-2 control-label is-required">演出名称:</label>
<div class="col-sm-8"> <div class="col-sm-10">
<span id="performanceTitle"></span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">快递费:</label>
<div class="col-sm-10">
<input class="form-control" type="number" min="0" name="RefundPriceExpress"> <input class="form-control" type="number" min="0" name="RefundPriceExpress">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">入场人:</label> <label class="col-sm-2 control-label is-required">入场人:</label>
<div class="col-sm-8"> <div class="col-sm-10">
<div class="col-sm-12 select-table table-bordered"> <div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
</div> </div>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label layui-required is-required">备注:</label> <label class="col-sm-2 control-label layui-required is-required">备注:</label>
<div class="col-sm-8"> <div class="col-sm-10">
<textarea name="reason" maxlength="500" class="form-control layui-required" rows="3"></textarea> <textarea name="reason" maxlength="500" class="form-control layui-required" rows="3"></textarea>
</div> </div>
</div> </div>
...@@ -63,29 +69,93 @@ ...@@ -63,29 +69,93 @@
$("#orderTicketsId").val(result.orderTicketVo.orderTicketsId); $("#orderTicketsId").val(result.orderTicketVo.orderTicketsId);
$('input[name="RefundPriceExpress"]').val(result.orderTicketVo.priceExpress); $('input[name="RefundPriceExpress"]').val(result.orderTicketVo.priceExpress);
$('input[name="RefundPriceExpress"]').attr("max", result.orderTicketVo.priceExpress); $('input[name="RefundPriceExpress"]').attr("max", result.orderTicketVo.priceExpress);
$("#performanceTitle").text(result.kylinPerformanceVo.title);
var options = { var options = {
data: result.orderTicketEntitiesVo, data: result.kylinOrderTicketEntitiesDao,
pagination: false, pagination: false,
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
{ {
field: 'orderTicketEntitiesId', field: 'orderTicketEntitiesId',
title: '入场人id' title: '入场人表id',
ignore: false
},
{
field: 'title',
title: '票种名称'
},
{
field: '',
title: '适用时间',
formatter: function (value, row, index) {
return row.useStart + "<br>" + row.useEnd;
}
},
{
field: 'enterName',
title: '入场人'
},
{
field: '',
title: '票状态',
formatter: function (value, row, index) {
var isPayment = "";
switch (row.isPayment) {
case 0:
isPayment = "未支付";
break;
case 1:
isPayment = "已支付";
break;
case 2:
isPayment = "退款中";
break;
case 3:
isPayment = "已退款";
break;
}
return isPayment;
}
},
{
field: 'price',
title: '价格'
},
{
field: '',
title: '取票方式',
formatter: function (value, row, index) {
if (row.getTicketType == "electronic") {
return "电子票";
} else {
return "快递票";
}
}
},
{
field: '',
title: '是否出票',
formatter: function (value, row, index) {
if (row.isOut == 1) {
return "已出票";
} else {
return "未出票";
}
}
}, },
{ {
field: '', field: '',
title: '退款金额', title: '退款金额',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var price = result.orderTicketVo.price; var price = result.orderTicketVo.price;
var html = '<input class="form-control" type="number" min="0.01" max="'+price+'" name="entitiesPrice" value="'+price+'">'; var html = '<input class="form-control entitiesPrice" type="number" min="0.01" max="'+price+'" name="entitiesPrice" value="'+price+'">';
return html; return html;
} }
}, },
] ]
}; };
$.table.init(options); $.table.init(options);
// $('#bootstrap-table').
} }
$.modal.closeLoading(); $.modal.closeLoading();
} }
...@@ -108,7 +178,10 @@ ...@@ -108,7 +178,10 @@
if ($.validate.form()) { if ($.validate.form()) {
var data = $('#form-post-add').serializeArray(); var data = $('#form-post-add').serializeArray();
data.push({"name":"ticketEntityIds","value":rows}); data.push({"name":"ticketEntityIds","value":rows});
$.operate.save(prefix + "/apply", data); var entitiesPrice = $.table.selectColumns("price");
data.push({"name":"entitiesPrice","value":entitiesPrice});
console.log(data)
// $.operate.save(prefix + "/apply", data);
} }
} }
</script> </script>
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl; package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
...@@ -9,19 +8,18 @@ import com.liquidnet.commons.lang.util.BeanUtil; ...@@ -9,19 +8,18 @@ import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst; import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao; import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao;
import com.liquidnet.service.kylin.dao.KylinOrderTicketEntitiesDao;
import com.liquidnet.service.kylin.dao.OrderRefundDao; import com.liquidnet.service.kylin.dao.OrderRefundDao;
import com.liquidnet.service.kylin.dto.param.RefundApplyParam; import com.liquidnet.service.kylin.dto.param.RefundApplyParam;
import com.liquidnet.service.kylin.dto.param.RefundSearchParam; import com.liquidnet.service.kylin.dto.param.RefundSearchParam;
import com.liquidnet.service.kylin.dto.vo.admin.OrderDetailsAdminVo; import com.liquidnet.service.kylin.dto.vo.admin.OrderDetailsAdminVo;
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.returns.KylinOrderRefundsVo; import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.entity.KylinOrderRefunds; import com.liquidnet.service.kylin.dto.vo.returns.RefundOrderDetailsVo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.entity.KylinOrderTicketStatus; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.liquidnet.service.kylin.mapper.KylinOrderRefundsMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketStatusMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import com.liquidnet.service.kylin.service.IKylinOrderRefundsService; import com.liquidnet.service.kylin.service.IKylinOrderRefundsService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -29,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -29,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -58,7 +57,10 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -58,7 +57,10 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
private KylinOrderTicketEntitiesMapper kylinOrderTicketEntitiesMapper; private KylinOrderTicketEntitiesMapper kylinOrderTicketEntitiesMapper;
@Autowired @Autowired
private KylinOrderTicketsAdminServiceImpl kylinOrderTicketsAdminServiceImpl; private KylinOrderTicketRelationsMapper kylinOrderTicketRelationsMapper;
@Autowired
private KylinPerformancesMapper kylinPerformancesMapper;
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
...@@ -241,11 +243,43 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM ...@@ -241,11 +243,43 @@ public class KylinOrderRefundsServiceImpl extends ServiceImpl<KylinOrderRefundsM
return pageInfoTmp; return pageInfoTmp;
} }
public OrderDetailsAdminVo orderDetails(String orderCode) { public RefundOrderDetailsVo orderDetails(String orderCode) {
LambdaQueryWrapper<KylinOrderTickets> wrapper = new LambdaQueryWrapper<>(); // 订单
wrapper.eq(KylinOrderTickets::getOrderCode, orderCode); KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne(
KylinOrderTickets kylinOrderTickets = kylinOrderTicketsMapper.selectOne(wrapper); new QueryWrapper<KylinOrderTickets>().eq("order_code", orderCode)
);
// 订单关联 获取演出id
KylinOrderTicketRelations kylinOrderTicketRelations = kylinOrderTicketRelationsMapper.selectOne(
new QueryWrapper<KylinOrderTicketRelations>().eq("order_id", kylinOrderTickets.getOrderTicketsId())
);
// 演出
KylinPerformances kylinPerformances = kylinPerformancesMapper.selectOne(
new QueryWrapper<KylinPerformances>().eq("performances_id", kylinOrderTicketRelations.getPerformanceId())
);
List<KylinOrderTicketEntitiesDao> entitiesList = kylinOrderTicketEntitiesMapper.getRefundEntitiesList(kylinOrderTickets.getOrderTicketsId());
KylinOrderTicketVo kylinOrderTicketVo = new KylinOrderTicketVo();
BeanUtil.copy(kylinOrderTickets,kylinOrderTicketVo);
KylinPerformanceVo performanceVo = new KylinPerformanceVo();
BeanUtil.copy(kylinPerformances,performanceVo);
/*List<KylinOrderTicketEntitiesDao> entitiesListDao = new ArrayList();
KylinOrderTicketEntitiesDao kylinOrderTicketEntitiesDao = new KylinOrderTicketEntitiesDao();
for (KylinOrderTicketEntitiesDao entities : entitiesList) {
BeanUtil.copy(entities, kylinOrderTicketEntitiesDao);
entitiesListDao.add(entities);
}
BeanUtil.copy(entitiesList,kylinOrderTicketEntitiesDao);*/
RefundOrderDetailsVo refundOrderDetailsVo = new RefundOrderDetailsVo();
refundOrderDetailsVo.setOrderTicketVo(kylinOrderTicketVo);
refundOrderDetailsVo.setKylinPerformanceVo(performanceVo);
refundOrderDetailsVo.setKylinOrderTicketEntitiesDao(entitiesList);
return kylinOrderTicketsAdminServiceImpl.orderDetails(kylinOrderTickets.getOrderTicketsId()); return refundOrderDetailsVo;
} }
} }
package com.liquidnet.service.kylin.dao;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class KylinOrderTicketEntitiesDao {
/**
* 入场人
*/
private String orderTicketEntitiesId;
private String enterName;
private Integer isOut;
private Integer isPayment;
/**
* 票种
*/
private String title;
private BigDecimal price;
private String useStart;
private String useEnd;
/**
* 订单
*/
private String getTicketType;
}
package com.liquidnet.service.kylin.mapper; package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao; import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao;
import com.liquidnet.service.kylin.dao.KylinOrderTicketEntitiesDao;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities; import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -18,4 +19,6 @@ import java.util.List; ...@@ -18,4 +19,6 @@ import java.util.List;
public interface KylinOrderTicketEntitiesMapper extends BaseMapper<KylinOrderTicketEntities> { public interface KylinOrderTicketEntitiesMapper extends BaseMapper<KylinOrderTicketEntities> {
List<KylinOrderRefundsEntitiesDao> selectEntitiesList(@Param("orderTicketEntitiesIdS") String[] orderTicketEntitiesIdS); List<KylinOrderRefundsEntitiesDao> selectEntitiesList(@Param("orderTicketEntitiesIdS") String[] orderTicketEntitiesIdS);
List<KylinOrderTicketEntitiesDao> getRefundEntitiesList(String orderTicketsId);
} }
...@@ -13,4 +13,15 @@ ...@@ -13,4 +13,15 @@
</foreach> </foreach>
</where> </where>
</select> </select>
<select id="getRefundEntitiesList" resultType="com.liquidnet.service.kylin.dao.KylinOrderTicketEntitiesDao">
SELECT a.order_ticket_entities_id, a.enter_name, a.status AS is_out, a.is_payment,
b.title, b.price, b.use_start, b.use_end,
c.get_ticket_type
FROM kylin_order_ticket_entities AS a
JOIN kylin_tickets AS b ON a.ticket_id = b.tickets_id
JOIN kylin_order_tickets AS c ON c.order_tickets_id = a.order_id
<where>
a.order_id = #{orderTicketsId}
</where>
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment