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

Commit 6fd9689a authored by jiangxiulong's avatar jiangxiulong

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

parents 0a14e5c0 bea44164
......@@ -61,7 +61,7 @@ create index idx_amember_code_id on adam_member_code (code);
alter table adam_member_code add validity int null comment '有效期(单位天)' after state;
alter table adam_member_code add effect_at datetime(3) null comment '生效时间' after validity;
alter table adam_member_code add expire_at datetime(3) null comment '过期时间' after effect_at;
alter table adam_member_code add operator varchar(64) null comment 'type=2时记录创建人' after expire_at;
alter table adam_member_code add operator varchar(64) null comment '管理操作人' after expire_at;
# 订单
alter table adam_member_order modify state tinyint null comment '订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款';
......
......@@ -31,6 +31,9 @@ public interface IKylinOrderTicketsService {
//订单未支付数量
ResponseDto<Integer> orderUnPayCount();
//补充入场人
ResponseDto<Boolean> supplementEnter(String orderId, String enterList);
//发起转赠订单
ResponseDto<String> orderTransfer(String orderId, String transferUid, String transferMobile);
......
......@@ -23,4 +23,7 @@ public interface IKylinOrderTicketsAdminService {
//订单详情
OrderDetailsAdminVo orderDetails(String orderId);
//初始化订单转赠 [只支持退回订单 transferStatus = 5]
String initTransfer(String orderId);
}
......@@ -27,8 +27,7 @@ import java.util.List;
*/
@Controller
@RequestMapping("/kylin/order")
public class KylinOrderTicketsController extends BaseController
{
public class KylinOrderTicketsController extends BaseController {
private String prefix = "zhengzai/kylin/order";
@Autowired
......@@ -39,8 +38,7 @@ public class KylinOrderTicketsController extends BaseController
@RequiresPermissions("kylin:order:orderlist:view")
@GetMapping("/orderList")
public String tickets()
{
public String tickets() {
return prefix + "/orderList/orderList";
}
......@@ -51,8 +49,7 @@ public class KylinOrderTicketsController extends BaseController
@RequiresPermissions("kylin:order:orderlist:list")
@PostMapping("/orderList/list")
@ResponseBody
public TableDataInfo list(OrderListReq orderListReq)
{
public TableDataInfo list(OrderListReq orderListReq) {
startPage();
List<OrderTicketsListDao> list = iKylinOrderTicketsAdminService.orderList(orderListReq);
return getDataTable(list);
......@@ -84,4 +81,15 @@ public class KylinOrderTicketsController extends BaseController
ajax.put("value", performanceSponsorList);
return ajax;
}
/**
* 获取第三方列表
*/
@Log(title = "演出订单-初始化转赠 [只支持 transferStatus = 5]]", businessType = BusinessType.LIST)
@GetMapping("/orderList/initTransfer")
@ResponseBody
public AjaxResult initTransfer(@RequestParam("orderId") String orderId) {
String result = iKylinOrderTicketsAdminService.initTransfer(orderId);
return this.success(result);
}
}
......@@ -224,6 +224,7 @@ var refreshItem = function(){
/** 关闭选项卡 */
var closeItem = function(dataId){
console.log(dataId, '这个科技')
var topWindow = $(window.parent.document);
if($.common.isNotEmpty(dataId)){
window.parent.$.modal.closeLoading();
......
......@@ -929,6 +929,7 @@ var table = {
},
// 关闭选项卡
closeTab: function (dataId) {
console.log(dataId, '看看这个是啥')
closeItem(dataId);
},
// 禁用按钮
......
......@@ -183,7 +183,7 @@
<div class="dataOne">
<span class="labelName"><i class="required">*</i>数量:</span>
<input type="text" id="num" required />
<span id="unit"></span>
</div>
<div class="dataOne">
<span class="labelName"><i class="required">*</i>券的有效期:</span>
......@@ -216,7 +216,7 @@
<div class="main_bottom">
<div class="describe">
<span class="labelName">
描述说明:
<i class="required">*</i>描述说明:
</span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div>
......@@ -361,7 +361,12 @@
});
$("input[name=typeOne]").change(function(e){
typeOne = e.target.value;
if (typeOne == 1) {
$("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部');
}
if (typeOne != 0) {
console.log('???')
showId = ''; // 选中演出id
selectTwoId = ''; // 选中演出下级的ID
selectThreeId = ''; // 选中演出三级的ID
......@@ -383,7 +388,8 @@
$('#selectThree').empty();
$('#dataList').empty();
if (typeOne == 2) {
$("#searchIpt").val('全部商品');
$("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部商品');
}
} else {
$('#selectTwo').show();
......@@ -401,6 +407,7 @@
$("input[name=typeTwo]").change(function(e){
typeTwo = e.target.value;
if (typeTwo == 1) {
$('#unit').text('张/账户')
$('#iptModal').show();
$('.sendType').show();
$('#exchangeTime').val('')
......@@ -409,6 +416,7 @@
$('.phoneNumber').show();
}
} else {
$('#unit').text('张')
$('#iptModal').hide();
$('#exchange').show();
$('.sendType').hide();
......@@ -451,7 +459,7 @@
});
function create() {
if (!$('#valFace').val() || !$('#title').val() || !$('#num').val() || !$('#ticketTime').val()) {
if (!$('#valFace').val() || !$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!');
if (typeTwo != 1) {
if (!$('#exchangeTime').val()) {
......@@ -532,7 +540,8 @@
}
console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res)
layer.msg('创建成功!');
closeItem();
})
}
function promiseMethods(url,type,data,contentType) {
......
......@@ -186,7 +186,7 @@
<div class="dataOne">
<span class="labelName"><i class="required">*</i>数量:</span>
<input type="text" id="num" required />
<span id="unit"></span>
</div>
<div class="dataOne">
<span class="labelName"><i class="required">*</i>券的有效期:</span>
......@@ -219,7 +219,7 @@
<div class="main_bottom">
<div class="describe">
<span class="labelName">
描述说明:
<i class="required">*</i>描述说明:
</span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div>
......@@ -363,6 +363,10 @@
});
$("input[name=typeOne]").change(function(e){
typeOne = e.target.value;
if (typeOne == 1) {
$("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部');
}
if (typeOne != 0) {
showId = ''; // 选中演出id
selectTwoId = ''; // 选中演出下级的ID
......@@ -385,7 +389,8 @@
$('#selectThree').empty();
$('#dataList').empty();
if (typeOne == 2) {
$("#searchIpt").val('全部商品');
$("#searchIpt").val('');
$("#searchIpt").attr('placeholder', '全部商品');
}
} else {
$('#selectTwo').show();
......@@ -403,6 +408,7 @@
$("input[name=typeTwo]").change(function(e){
typeTwo = e.target.value;
if (typeTwo == 1) {
$('#unit').text('张/账户')
$('#iptModal').show();
$('.sendType').show();
$('#exchangeTime').val('')
......@@ -411,6 +417,7 @@
$('.phoneNumber').show();
}
} else {
$('#unit').text('张')
$('#iptModal').hide();
$('#exchange').show();
$('.sendType').hide();
......@@ -453,7 +460,7 @@
});
function create() {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#valOver').val() || !$('#valMinus').val()) {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#valOver').val() || !$('#valMinus').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!');
if (typeTwo != 1) {
if (!$('#exchangeTime').val()) {
......@@ -534,9 +541,9 @@
if (sendType != 2) {
delete data.eventLimit;
}
console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res)
layer.msg('创建成功!');
closeItem();
})
}
function promiseMethods(url,type,data,contentType) {
......
......@@ -185,7 +185,7 @@
<div class="main_bottom">
<div class="describe">
<span class="labelName">
描述说明:
<i class="required">*</i>描述说明:
</span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div>
......@@ -243,7 +243,7 @@
selectTwoId = ''; // 选中演出下级的ID
selectThreeId = ''; // 选中演出三级的ID
$('#selectTwo').empty().append(str);
$('#selectThree').empty();
$('#selectThree').empty().append('<option value="0" label="">所有</option>');
};
$("#searchIpt").focus(function(){
search()
......@@ -281,7 +281,7 @@
selectThreeName = $('#selectThree').find('option:selected').attr('label');
});
function create() {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val()) {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!');
}
let useScope = 100;
......@@ -323,9 +323,9 @@
"validity": Number($('#ticketTime').val()),
"redeemValidity": Number($('#ticketTime').val()) // 兑换有效期
}
console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res)
layer.msg('创建成功!');
closeItem();
})
}
function promiseMethods(url,type,data,contentType) {
......
......@@ -209,7 +209,7 @@
<div class="main_bottom">
<div class="describe">
<span class="labelName">
描述说明:
<i class="required">*</i>描述说明:
</span>
<textarea id="describeTxt" class="form-control" rows="4"></textarea>
</div>
......@@ -259,6 +259,7 @@
$("input[name=typeTwo]").change(function(e){
typeTwo = e.target.value;
if (typeTwo == 1) {
$('#unit').text('张/账户')
$('.sendType').show();
$('#exchangeTime').val('')
$('#exchange').hide();
......@@ -266,6 +267,7 @@
$('.phoneNumber').show();
}
} else {
$('#unit').text('张')
$('#exchange').show();
$('.sendType').hide();
$('.phoneNumber').hide();
......@@ -294,7 +296,7 @@
}
});
function create() {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#discount').val()) {
if (!$('#title').val() || !$('#num').val() || !$('#ticketTime').val() || !$('#discount').val() || !$('#describeTxt').val()) {
return layer.msg('请将必填项输入完整~!');
if (typeTwo != 1) {
if (!$('#exchangeTime').val()) {
......@@ -349,9 +351,9 @@
if (sendType != 2) {
delete data.eventLimit;
}
console.log(data,'data')
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
console.log(res)
layer.msg('创建成功!');
closeItem();
})
}
function promiseMethods(url,type,data,contentType) {
......
......@@ -116,6 +116,7 @@
<th:block th:include="include :: bootstrap-typeahead-js" />
<script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('kylin:order:orderlist:detail')}]];
var transferFlag = [[${@permission.hasPermi('kylin:order:orderlist:transferInit')}]];
var prefix = ctx + "kylin/order/orderList";
var orderStatusDic = [[${@dict.getType('zhengzai_order_status')}]];
var getTicketTypeDic = [[${@dict.getType('zhengzai_get_ticket_type')}]];
......@@ -201,6 +202,7 @@
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.orderTicketsId + '\')"><i class="fa fa-search"></i>详细</a>');
actions.push('<a class="btn btn-warning btn-xs ' + transferFlag + '" href="javascript:void(0)" onclick="f(\'' + row.orderTicketsId + '\')"><i class="fa fa-search"></i>初始化</a>');
return actions.join('');
}
}]
......@@ -219,6 +221,12 @@
}).on('onUnsetSelectValue', function (e) {
console.log("onUnsetSelectValue");
});
function f(id) {
$.post(prefix + "/kylin/initTransfer",{orderId:id},function (res) {
alert(res.msg)
});
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -67,7 +67,7 @@
</div>
</div>
</div>
<table class="col-sm-12 select-table table-bordered">
<table class="col-sm-12 select-table table-bordered table table-stripped small m-t-md">
<thead>
<tr>
<th>
......
......@@ -140,6 +140,7 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
case 1:// 编辑
// CandyCoupon updateCoupon = new CandyCoupon();
updateCoupon.setCouponId(couponId);
updateCoupon.setState(1);
updateCoupon.setTitle(parameter.getTitle());
updateCoupon.setExclusive(1);
......
......@@ -80,8 +80,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSystemId(taobaoTicketUtils.getSystemId());
req.setPushProjectParam(obj1);
log.info("[同步演出] 演出名称 = " + performanceData.getTitle() + " 大麦演出id =" + performanceKey);
AlibabaDamaiMevOpenPushprojectResponse rsp = client.execute(req);
log.info("performance=" + rsp.getBody());
if (rsp.getResult().getSuccess()) {
List<KylinTicketTimeRelation> timeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performanceId));
for (int i = 0; i < timeRelation.size(); i++) {
......@@ -117,8 +117,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj1.setSystemId(taobaoTicketUtils.getSystemId());
req.setPushPerformParam(obj1);
log.info("[同步场次] 场次名称 = " + timesData.getTitle() + " 大麦场次id =" + ticketTimesKey);
AlibabaDamaiMevOpenPushperformResponse rsp = client.execute(req);
log.info("times = " + rsp.getBody());
if (rsp.getResult().getSuccess()) {
List<KylinTicketRelations> ticketRelation = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", timesData.getTicketTimesId()));
for (int i = 0; i < ticketRelation.size(); i++) {
......@@ -155,8 +155,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSystemId(taobaoTicketUtils.getSystemId());
// obj1.setRemark("0");
req.setPushItemParam(obj1);
log.info("[同步票种] 票种名称 = " + ticketsData.getTitle() + " 大麦票种id =" + ticketIdKey);
AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req);
log.info("ticket = " + rsp.getBody());
if (rsp.getResult().getSuccess()) {
return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey);
// return true;
......@@ -175,7 +175,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest();
List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId);
log.info("data = " + data.size() + " ticketsId=" + ticketsId);
log.info("[同步订单] 票种张数 = " + data.size() + " 票种id =" + ticketsId);
int forSize = 100;
int forCount = data.size() % forSize == 0 ? data.size() / forSize : (data.size() / forSize) + 1;
for (int i = 0; i < forCount; i++) {
......@@ -196,7 +196,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
long orderIdKey = IDGenerator.getDamaiCode(item.getOrderTicketsId());
if (item.getIsPayment() == 3) {
taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else if (item.getTransferStatus() == 2) {
} else if (item.getTransferStatus() == 2 || item.getTransferStatus() == 6) {
taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else {
list2.add(obj3);
......@@ -217,7 +217,6 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
}
}
req.setThirdTicketSetOpenParamList(list2);
log.info("list2 = " + list2.size());
if (list2.size() == 0) {
return true;
} else {
......
......@@ -255,8 +255,7 @@
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id
LEFT JOIN kylin_ticket_status AS kys ON kys.ticket_id = otr.ticket_id
WHERE (ots.status = 1 or ots.status = 3)
AND kys.sync_damai = 1
WHERE (ots.status = 1 or ots.status = 3 or ots.status = 4 or ots.status = 6)
AND ote.ticket_id = ${ticketsId}
</select>
......
......@@ -359,7 +359,7 @@ create index idx_amember_code_id on adam_member_code (code);
alter table adam_member_code add validity int null comment '有效期(单位天)' after state;
alter table adam_member_code add effect_at datetime(3) null comment '生效时间' after validity;
alter table adam_member_code add expire_at datetime(3) null comment '过期时间' after effect_at;
alter table adam_member_code add operator varchar(64) null comment 'type=2时记录创建人' after expire_at;
alter table adam_member_code add operator varchar(64) null comment '管理操作人' after expire_at;
# 订单
alter table adam_member_order modify state tinyint null comment '订单状态:0-未支付,1-已支付,2-已关闭,3-超时付,4-退款中,5-已退款';
......
......@@ -5,13 +5,20 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsServiceImpl;
import io.swagger.annotations.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.HashMap;
......@@ -79,6 +86,14 @@ public class KylinOrderTicketsController {
}
}
@GetMapping("supplementEnter")
@ApiOperation("补充入场人")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> supplementEnter(@RequestParam(value = "orderId", required = true) @NotNull(message = "订单ID不能为空") String orderId,
@RequestParam(value = "enterList", required = true) @NotNull(message = "入场人id(逗号隔开)") String enterList) {
return orderTicketsService.supplementEnter(orderId, enterList);
}
@GetMapping("orderUnPayCount")
@ApiOperation("待支付演出订单数量")
@ApiResponse(code = 200, message = "接口返回对象参数")
......@@ -104,6 +119,7 @@ public class KylinOrderTicketsController {
return orderTicketsService.orderTransfer(orderId, transferUid, transferMobile);
}
@PostMapping("transferWithDraw")
@ApiOperation("转赠订单撤回")
@ApiResponse(code = 200, message = "接口返回对象参数")
......
......@@ -184,7 +184,7 @@ public class OrderUtils {
public List<AdamEntersVo> getEnters(String entersIds, String uid) {
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
String returnVo = HttpUtil.get(adamUrl + "/adam/rsc/inquire/enters?entersIds=" + entersIds + "&uid=" + uid, null, headers);
String returnVo = HttpUtil.get( adamUrl+ "/adam/rsc/inquire/enters?entersIds=" + entersIds + "&uid=" + uid, null, headers);
ResponseDto<List<AdamEntersVo>> ResponseVo = JsonUtils.fromJson(returnVo, new TypeReference<ResponseDto<List<AdamEntersVo>>>() {
});
return ResponseVo.getData();
......
......@@ -44,3 +44,5 @@ kylin_order_task.delete = DELETE FROM kylin_order_task WHERE order_id = ?;
kylin_order_ticket_status.transfer.update = UPDATE kylin_order_ticket_status SET transfer_status = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_order_ticket_relation.transfer.update = UPDATE kylin_order_ticket_relations SET transfer_uid = ?, transfer_id = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
# ------------------------ 订单补充入场人 ----------------------------
kylin_order_refund_entities.supplementEnter = UPDATE kylin_order_ticket_entities SET enter_type = ?,enter_name = ?,enter_mobile = ?,enter_id_code = ?,updated_at = ? WHERE order_ticket_entities_id = ?
......@@ -72,11 +72,11 @@ public class OrderRefundOvertimeServiceImpl implements IKylinOrderRefundsService
);
if (res) {
// 超时直接退还库存
for (KylinOrderTicketEntitiesVo entitiesInfo : entitiesList) {
// 因固定状态为未支付 所以无需判断 entitiesInfo.getIsPayment() == KylinTableStatusConst.ENTITIES_IS_PAYMENT3
dataUtils.changeSurplusGeneral(entitiesInfo.getTicketId(), 1);
dataUtils.changeBuyInfo(orderInfo.getUserId(), entitiesInfo.getEnterIdCode(), orderInfo.getPerformanceId(), entitiesInfo.getTicketId(), -1);
}
// for (KylinOrderTicketEntitiesVo entitiesInfo : entitiesList) {
// // 因固定状态为未支付 所以无需判断 entitiesInfo.getIsPayment() == KylinTableStatusConst.ENTITIES_IS_PAYMENT3
// dataUtils.changeSurplusGeneral(entitiesInfo.getTicketId(), 1);
// dataUtils.changeBuyInfo(orderInfo.getUserId(), entitiesInfo.getEnterIdCode(), orderInfo.getPerformanceId(), entitiesInfo.getTicketId(), -1);
// }
// 退所有优惠券
ArrayList<KylinOrderCoupons> orderCoupon = dataUtils.getOrderCoupon(orderTicketsId);
if (!CollectionUtil.isEmpty(orderCoupon)) {
......
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