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

Commit 661818fa authored by jiangxiulong's avatar jiangxiulong

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

parents f26a4ef6 7c3439b9
......@@ -11,8 +11,7 @@ import java.time.LocalDateTime;
@ApiModel(value = "AdamMemberOrderCallbackResult", description = "购买会员或会员码的支付回调")
@Data
public class AdamMemberOrderCallbackResult implements Serializable {
private static final long serialVersionUID = 3219448286221952517L;
private static final long serialVersionUID = -4161563334263071103L;
@ApiModelProperty(position = 0, required = true, value = "订单状态")
private Integer status;
@ApiModelProperty(position = 1, required = true, value = "订单号")
......
......@@ -11,36 +11,30 @@ import java.math.BigDecimal;
@Data
public class AdamMemberOrderParam implements Serializable {
private static final long serialVersionUID = 3219448286221952517L;
@ApiModelProperty(position = 10, required = true, value = "会员ID[50]", example = "62960077673504768")
@ApiModelProperty(position = 10, required = true, value = "会员ID[50]")
private String memberId;
@ApiModelProperty(position = 11, required = true, value = "购买方式:0-购买会员,1-购买会员码", example = "0")
@ApiModelProperty(position = 11, required = true, value = "购买方式:0-购买会员,1-购买会员码", allowableValues = "0,1")
private Integer mode;
@ApiModelProperty(position = 12, required = true, value = "应付金额", example = "0")
@ApiModelProperty(position = 12, required = true, value = "应付金额", example = "199")
private BigDecimal price;
@ApiModelProperty(position = 13, required = true, value = "实付金额", example = "0")
@ApiModelProperty(position = 13, required = true, value = "实付金额", example = "199")
private BigDecimal pricePaid;
@ApiModelProperty(position = 14, required = true, value = "会员价格ID", example = "0")
@ApiModelProperty(position = 14, required = true, value = "会员价格ID")
private String memberPriceId;
@ApiModelProperty(position = 15, required = true, value = "用户生日", example = "0")
private String birthday;
@ApiModelProperty(position = 16, required = true, value = "支付方式:ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP")
@ApiModelProperty(position = 15, required = true, value = "支付方式", allowableValues = "ALIPAY,WEPAY,WAPALIPAY,WAPWEPAY,JSWEPAY,APPLETWEPAY,APPIAP")
private String payChannel;
@ApiModelProperty(position = 17, required = true, value = "支付用的AuthCode")
private String authCode;
@ApiModelProperty(position = 18, required = true, value = "支付用的productId")
@ApiModelProperty(position = 16, required = false, value = "支付用的productId")
private String productId;
@ApiModelProperty(position = 19, required = true, value = "支付用的openId")
private String openId;
@ApiModelProperty(position = 20, required = false, value = "姓名")
@ApiModelProperty(position = 17, required = false, value = "姓名", example = "王武")
private String name;
@ApiModelProperty(position = 21, required = false, value = "身份证件号")
@ApiModelProperty(position = 18, required = false, value = "身份证件号", example = "111111111111111111")
private String idCard;
@ApiModelProperty(position = 22, required = false, value = "用户ID", example = "1")
private String uid;
@ApiModelProperty(position = 23, required = false, value = "IP地址")
private String clientIp;
@ApiModelProperty(position = 24, required = false, value = "版本")
private String version;
@ApiModelProperty(position = 25, required = false, value = "来源")
private String source;
@ApiModelProperty(position = 19, required = false, value = "支付用的AUTHCODE")
private String authCode;
@ApiModelProperty(position = 20, required = false, value = "支付用的OPENID")
private String openId;
@ApiModelProperty(position = 21, required = true, value = "未支付/取消支付跳转URL")
private String showUrl;
@ApiModelProperty(position = 22, required = true, value = "支付成功跳转URL")
private String returnUrl;
}
package com.liquidnet.service.adam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
......@@ -8,16 +9,15 @@ import java.io.Serializable;
@ApiModel(value = "AdamMemberOrderResult", description = "购买会员或会员码响应")
@Data
public class AdamMemberOrderResult implements Serializable {
private static final long serialVersionUID = 3219448286221952517L;
private String payCode;
private String orderId;
private Object payObject;
// 判断状态 0-返回请求错误联系客服 1-返回服务器繁忙
private Integer state;
private static final long serialVersionUID = 7779516626586568151L;
@ApiModelProperty(value = "支付CODE")
private String code;
@ApiModelProperty(value = "会员订单号")
private String orderNo;
@ApiModelProperty(value = "支付数据")
private Object payData;
@ApiModelProperty(value = "未支付/取消支付跳转URL")
private String showUrl;
@ApiModelProperty(value = "支付成功跳转URL")
private String returnUrl;
}
......@@ -38,19 +38,17 @@ public class AdamMemberOrderVo implements Serializable {
private String payNo;
@ApiModelProperty(position = 11, value = "支付时间")
private String paymentAt;
@ApiModelProperty(position = 12, value = "生日")
private String birthday;
@ApiModelProperty(position = 13, value = "创建时间")
private String createdAt;
@ApiModelProperty(position = 14, value = "兑换码")
private String memberCode;
@ApiModelProperty(position = 15, value = "价格")
private BigDecimal price;
@ApiModelProperty(position = 16, value = "价格")
@ApiModelProperty(position = 16, value = "客户端IP")
private String ip;
@ApiModelProperty(position = 17, value = "价格")
@ApiModelProperty(position = 17, value = "客户端来源")
private String source;
@ApiModelProperty(position = 18, value = "价格")
@ApiModelProperty(position = 18, value = "客户端版本")
private String version;
public static final AdamMemberOrderVo obj = new AdamMemberOrderVo();
......@@ -79,7 +77,6 @@ public class AdamMemberOrderVo implements Serializable {
mqList.add(orderVo.getMemberNo());
mqList.add(orderVo.getPayChannel());
mqList.add(orderVo.getPayNo());
mqList.add(orderVo.getBirthday());
mqList.add(orderVo.getPaymentAt());
mqList.add(orderVo.getCreatedAt());
mqList.add(orderVo.getCreatedAt());
......
......@@ -7,6 +7,7 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderParam;
import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.AdamMemberOrderVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.base.ResponseDto;
import java.util.List;
......@@ -19,7 +20,7 @@ public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
*
* @param param
*/
AdamMemberOrderResult buyMemberOrMemberCode(AdamMemberOrderParam param) throws Exception;
ResponseDto<AdamMemberOrderResult> buyMemberOrMemberCode(AdamMemberOrderParam param) throws Exception;
/**
* 使用会员码
......
......@@ -2,10 +2,7 @@ package com.liquidnet.service.kylin.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceMemberAuditParam;
import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam;
......@@ -65,7 +62,7 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
* @param status 演出状态
* @return 20个 sql 数据
*/
List<PerformanceTitleDao> getListByStatus(String status);
List<PerformanceTitleDao> getListByStatus(String status,String title);
/**
* 修改演出的巡演关联
......@@ -76,13 +73,21 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
*/
boolean changeRoadShowId(String performancesId, String roadShowId);
/**
* 根据演出id 获取推荐详情
*
* @param performancesId 相关参数
* @return boolean
*/
PerformanceRecommendDao getRecommend(String performancesId);
/**
* 设置 演出推荐 关联
*
* @param performancesId 相关参数
* @return boolean
*/
boolean setRecommend(List<PerformanceRecommendAdminParam> performancesId);
boolean setRecommend(String performancesId,Integer isRecommend);
/**
* 设置 演出推荐 关联
......
......@@ -6,7 +6,11 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinPerformancesAdminServiceImpl;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -14,6 +18,8 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 演出Controller
......@@ -35,5 +41,53 @@ public class KylinPerformancesRecommendController extends BaseController {
return prefix + "/recommend";
}
/**
* 查询演出列表
*/
@RequiresPermissions("kylin:performances:recommend:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list() {
PageInfo<PerformanceRecommendAdminDao> result = kylinPerformancesService.listRecommend();
return getDataTable(result.getList());
}
/**
* 新增
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
/**
* 修改
*/
@RequiresPermissions("kylin:performances:recommend:change")
@PostMapping("/change")
@ResponseBody
public AjaxResult setRecommend(@RequestParam(value = "ids") String performancesId,@RequestParam(value = "isRecommend",required = false) Integer isRecommend) {
boolean result = kylinPerformancesService.setRecommend(performancesId,isRecommend);
return toAjax(result);
}
/**
* 详情
*/
@GetMapping("/edit/{performancesId}")
public String edit(@PathVariable("performancesId") String performancesId, ModelMap mmap) {
PerformanceRecommendDao result = kylinPerformancesService.getRecommend(performancesId);
mmap.put("performanceRecommendDao", result);
return prefix + "/edit";
}
@RequiresPermissions("kylin:performances:recommend:change")
@GetMapping(value = "/performance/status")
@ResponseBody
public AjaxResult listByStatus(@RequestParam(value = "status") String status,@RequestParam(value = "title",required = false) String title) {
List<PerformanceTitleDao> result = kylinPerformancesService.getListByStatus(status,title);
AjaxResult ajax = new AjaxResult();
ajax.put("value", result);
return ajax;
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinPerformancesAdminServiceImpl;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRoadShowsAdminServiceImpl;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dao.RoadShowAdminListDao;
import com.liquidnet.service.kylin.dto.param.CreateRoadShowParam;
import com.liquidnet.service.kylin.dto.vo.admin.KylinRoadShowAdminVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 演出Controller
......@@ -26,6 +36,8 @@ public class KylinRoadShowController extends BaseController {
@Autowired
private KylinRoadShowsAdminServiceImpl kylinRoadShowsAdminService;
@Autowired
private KylinPerformancesAdminServiceImpl kylinPerformancesService;
@RequiresPermissions("kylin:performances:roadShow")
@GetMapping()
......@@ -36,12 +48,90 @@ public class KylinRoadShowController extends BaseController {
@RequiresPermissions("kylin:performances:roadShow:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo listRoadShow(@RequestParam(value = "title",required = false) String title,
public TableDataInfo listRoadShow(@RequestParam(value = "title", required = false) String title,
@RequestParam(value = "pageNum") int page,
@RequestParam(value = "pageSize") int size) {
startPage();/**/
startPage();
PageInfo<RoadShowAdminListDao> result = kylinRoadShowsAdminService.listRoadShow(title, page, size);
return getDataTable(result.getList());
}
/**
* 新增巡演
*/
@GetMapping("/add")
public String add() {
return prefix + "/add";
}
@RequiresPermissions("kylin:performances:roadShow:add")
@Log(title = "巡演", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult createRoadShow(CreateRoadShowParam createRoadShowParam) {
return toAjax(!kylinRoadShowsAdminService.createRoadShow(createRoadShowParam).equals(""));
}
@RequiresPermissions("kylin:performances:roadShow:details")
@GetMapping(value = "/details/{roadShowId}")
public String detailsRoadShow(@PathVariable("roadShowId") String roadShowId, ModelMap mmap) {
KylinRoadShowAdminVo result = kylinRoadShowsAdminService.detailsRoadShow(roadShowId);
mmap.put("kylinRoadShowAdminVo", result);
return prefix + "/edit";
}
@RequiresPermissions("kylin:performances:roadShow:edit")
@Log(title = "巡演", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult updateRoadShow(CreateRoadShowParam createRoadShowParam) {
return toAjax(kylinRoadShowsAdminService.updateRoadShow(createRoadShowParam));
}
/**
* 巡演详情
*/
@GetMapping("/detailsList/{roadShowId}")
public String addPerformance(@PathVariable("roadShowId") String roadShowId, ModelMap mmap) {
mmap.put("roadShowId", roadShowId);
return prefix + "/details";
}
@RequiresPermissions("kylin:performances:roadShow:addPerformance")
@GetMapping(value = "/performance/{roadShowId}")
@ResponseBody
public TableDataInfo listByRoadShowId(@PathVariable("roadShowId") String roadShowId) {
List<PerformanceTitleDao> result = kylinPerformancesService.getListByRoadShowId(roadShowId);
return getDataTable(result);
}
@RequiresPermissions("kylin:performances:roadShow:change:performance")
@PostMapping(value = "/roadShow/relation")
@ResponseBody
public AjaxResult changeRoadShowId(@RequestParam(value = "ids") String performancesId,@RequestParam(value = "roadShowId",required = false) String roadShowId) {
boolean result = kylinPerformancesService.changeRoadShowId(performancesId,roadShowId);
return toAjax(result);
}
/**
* 新增巡演演出
*/
@GetMapping("/addPerformances/{roadShowId}")
public String addPerformances(@PathVariable("roadShowId") String roadShowId, ModelMap mmap) {
mmap.put("roadShowId", roadShowId);
return prefix + "/addPerformances";
}
@RequiresPermissions("kylin:performances:roadShow:change:performance")
@GetMapping(value = "/performance/status")
@ResponseBody
public AjaxResult listByStatus(@RequestParam(value = "status") String status,@RequestParam(value = "title",required = false) String title) {
List<PerformanceTitleDao> result = kylinPerformancesService.getListByStatus(status,title);
AjaxResult ajax = new AjaxResult();
ajax.put("value", result);
return ajax;
}
}
......@@ -9,9 +9,9 @@
<div class="col-sm-12">
<div class="tabs-container">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true"> 演出数据</a>
<li class="active"><a data-toggle="tab" href="#tab-2" aria-expanded="false">演出详情</a>
</li>
<li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">演出详情</a>
<li class=""><a data-toggle="tab" href="#tab-1" aria-expanded="true"> 演出数据</a>
</li>
<li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">校园分销</a>
</li>
......@@ -21,7 +21,7 @@
</li>
<li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">库存预警</a>
</li>
<li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">会员信息配置</a>
<li class=""><a data-toggle="tab" href="#tab-3" aria-expanded="false">会员信息配置</a>
</li>
<li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">关联直播数量配置</a>
</li>
......@@ -29,13 +29,13 @@
</li>
</ul>
<div class="tab-content">
<div id="tab-1" class="tab-pane active">
<div id="tab-1" class="tab-pane">
<div class="panel-body">
<strong>HTML5 文档类型</strong>
<p>Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型。在你项目中的每个页面都要参照下面的格式进行设置。</p>
</div>
</div>
<div id="tab-2" class="tab-pane">
<div id="tab-2" class="tab-pane active">
<div class="panel-body" id="performance_config">
<strong>相关配置</strong>
<div th:width="max" style="margin-top: 10px">
......@@ -214,6 +214,12 @@
</button>
</div>
</div>
<div id="tab-3" class="tab-pane">
<div class="panel-body">
<strong>HTML5 文档类型</strong>
<p>Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型。在你项目中的每个页面都要参照下面的格式进行设置。</p>
</div>
</div>
</div>
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html">
<head>
<th:block th:include="include :: header('新增推荐演出')"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-roadShow-add">
<p>演出名称:</p>
<div class="row">
<input name="ids" type="hidden">
<div class="input-group">
<input type="text" class="form-control" id="suggest-demo-2" onkeyup="getPerformanceTitle()" required>
<div class="input-group-btn">
<button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
</div>
</br>
<p>推荐排序:</p>
<div class="row">
<div class="input-group">
<div class="input-group date">
<input name="isRecommend" class="form-control" type="text" required>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-suggest-js"/>
<script th:inline="javascript">
var prefix = ctx + "kylin/performances/recommend";
$("#form-roadShow-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/change", $('#form-roadShow-add').serialize());
}
}
function getPerformanceTitle() {
var testBsSuggest = $("#suggest-demo-2").bsSuggest({
url: prefix + "/performance/status?status=(3,6,7)&title=" + document.getElementById("suggest-demo-2").value,
showBtn: false,
idField: "performancesId",
keyField: "title"
}).on('onDataRequestSuccess', function (e, result) {
}).on('onSetSelectValue', function (e, keyword) {
document.getElementsByName("ids")[0].value = keyword.id;
}).on('onUnsetSelectValue', function (e) {
});
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改推荐演出')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-roadShow-edit" th:object="${performanceRecommendDao}">
<input name="ids" th:value="*{performancesId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">演出名称:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="title" th:value="*{title}" class="form-control" type="text" readonly>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">推荐排序:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="isRecommend" th:value="*{isRecommend}" class="form-control" type="text">
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "kylin/performances/recommend";
$("#form-roadShow-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/change", $('#form-roadShow-edit').serialize());
}
}
</script>
</body>
</html>
\ No newline at end of file
<!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('推荐演出列表')" />
<th:block th:include="include :: header('推荐演出列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>演出名称:</label>
<input type="text" name="title"/>
</li>
<li>
<label>城市名称:</label>
<input type="text" name="cityName"/>
</li>
<li>
<label>排序字段:</label>
<select name="orderItem">
<option value="">所有</option>
<option value="created_at">创建时间</option>
<option value="updatedAt">修改时间</option>
</select>
</li>
<li>
<label>排序方式:</label>
<select name="orderSc">
<option value="">所有</option>
<option value="asc">正序</option>
<option value="desc">倒序</option>
</select>
</li>
<li>
<label>演出状态:</label>
<select name="status">
<option value="-2">全部</option>
<option value="1">审核中</option>
<option value="3">审核通过</option>
<option value="4">审核拒绝</option>
<option value="6">售卖</option>
<option value="7">已下架</option>
<option value="8">演出结束</option>
</select>
</li>
<li>
<label>审核状态:</label>
<select name="auditStatus">
<option value="-2">全部</option>
<option value="0">审核中</option>
<option value="2">审核拒绝</option>
</select>
</li>
<li>
<label>停售时间:</label>
<select name="stopSellDay">
<option value="-2">全部</option>
<option value="0">今天</option>
<option value="1">明天</option>
<option value="-1">昨天</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="kylin:performances:add">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="kylin:performances:recommend:list">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="kylin:performances:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="kylin:performances:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="kylin:performances:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('kylin:performances:detail')}]];
var expertFlag = [[${@permission.hasPermi('kylin:performances:expert')}]];
var prefix = ctx + "kylin/performances";
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var updateFlag = [[${@permission.hasPermi('kylin:performances:recommend:change')}]];
var removeFlag = [[${@permission.hasPermi('kylin:performances:recommend:change')}]];
var prefix = ctx + "kylin/performances/recommend";
$(function() {
$(function () {
var options = {
url: prefix + "/list",
detailUrl: prefix + "/details/{id}",
createUrl: prefix + "/add",
removeUrl: prefix + "/change",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
// sortName: "sort",
modalName: "演出",
columns: [{
checkbox: true
},
{
field: 'performancesId',
title: '演出id'
},
{
field: 'title',
......@@ -118,52 +44,27 @@
field: 'timeStart',
title: '开演时间'
},
{
field: 'totalGeneral',
title: '供票总量'
},
{
field: 'saleGeneral',
title: '实销'
},
{
field: 'surplusGeneral',
title: '余票'
},
{
field: 'totalSalePrice',
title: '总销售款'
},
{
field: 'statusName',
title: '演出状态'
},
{
field: 'rejectTxt',
title: '拒绝理由'
},
// {
// field: 'provinceName',
// title: '转增状态'
// },
{
field: 'sort',
title: '排序',
sortable: true
field: 'isRecommend',
title: '排序'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + expertFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.mid + '\')"><i class="fa fa-remove"></i>导出</a>');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.performancesId + '\')"><i class="fa fa-remove"></i>删除</a>');
actions.push('<a class="btn btn-success btn-xs ' + updateFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
return actions.join('');
}
}]
};
// $.table.init(options);
$.table.init(options);
});
</script>
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增巡演')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-roadShow-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">巡演名称:</label>
<div class="col-sm-8">
<input name="title" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">状态:</label>
<div class="col-sm-8">
<!-- <input name="status" class="form-control" type="number" required>-->
<div class="radio check-box">
<input type="radio" value="1" name="status" checked> 启用</label>
</div>
<div class="radio check-box">
<input type="radio" value="0" name="status"> 停用</label>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "kylin/performances/roadShow";
$("#form-roadShow-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-roadShow-add').serialize());
}
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('新增巡演演出')"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-roadShow-add">
<div class="form-group">
<p>演出名称</p>
<div class="row">
<input name="roadShowId" th:value="*{roadShowId}" type="hidden">
<input name="ids" type="hidden">
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" id="suggest-demo-2" onkeyup="getPerformanceTitle()">
<div class="input-group-btn">
<button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-suggest-js"/>
<script th:inline="javascript">
var prefix = ctx + "kylin/performances/roadShow";
var roadShowId = '[[${roadShowId}]]'.replaceAll("\"", "");
$("#form-roadShow-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/roadShow/relation", $('#form-roadShow-add').serialize());
}
}
function getPerformanceTitle() {
var testBsSuggest = $("#suggest-demo-2").bsSuggest({
url: prefix + "/performance/status?status=(3,6,7)&title=" + document.getElementById("suggest-demo-2").value,
showBtn: false,
idField: "performancesId",
keyField: "title"
}).on('onDataRequestSuccess', function (e, result) {
}).on('onSetSelectValue', function (e, keyword) {
document.getElementsByName("ids")[0].value=keyword.id;
}).on('onUnsetSelectValue', function (e) {
});
}
</script>
</body>
</html>
\ No newline at end of file
<!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('巡演列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="kylin:performances:roadShow:change:performance">
<i class="fa fa-plus"></i> 添加
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var removeFlag = [[${@permission.hasPermi('kylin:performances:roadShow:change:performance')}]];
var prefix = ctx + "kylin/performances/roadShow";
$(function () {
var options = {
url: prefix + "/performance/"+'[[${roadShowId}]]'.replaceAll("\"",""),
removeUrl: prefix + "/roadShow/relation",
createUrl: prefix + "/addPerformances/"+'[[${roadShowId}]]'.replaceAll("\"",""),
modalName: "巡演",
method:"get",
columns: [{
checkbox: true
},
{
field: 'performancesId',
title: '演出id'
},
{
field: 'title',
title: '巡演名称'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>删除</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改演出')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-roadShow-edit" th:object="${kylinRoadShowAdminVo}">
<input name="roadShowsId" th:value="*{roadShowId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">巡演名称:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="title" th:value="*{title}" class="form-control" type="text">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8">
<div class="input-group date">
<div class="input-group date" th:if="*{status==1}">
<input th:value="启用" class="form-control" type="text" readonly>
</div>
<div class="input-group date" th:if="*{status==0}">
<input th:value="停用" class="form-control" type="text" readonly>
</div>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "kylin/performances/roadShow";
$("#form-roadShow-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-roadShow-edit').serialize());
}
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -26,7 +26,7 @@
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="kylin:performances:add">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="kylin:performances:roadShow:add">
<i class="fa fa-plus"></i> 添加
</a>
</div>
......@@ -37,20 +37,17 @@
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('kylin:performances:detail')}]];
var expertFlag = [[${@permission.hasPermi('kylin:performances:expert')}]];
var updateFlag = [[${@permission.hasPermi('kylin:performances:roadShow:details')}]];
var detailsFlag = [[${@permission.hasPermi('kylin:performances:roadShow:addPerformance')}]];
var prefix = ctx + "kylin/performances/roadShow";
$(function () {
var options = {
url: prefix + "/list",
detailUrl: prefix + "/details/{id}",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
// sortName: "sort",
modalName: "演出",
updateUrl: prefix + "/details/{id}",
detailUrl: prefix + "/detailsList/{id}",
modalName: "巡演",
columns: [{
checkbox: true
},
......@@ -75,7 +72,8 @@
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-success btn-xs ' + detailsFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.roadShowId + '\')"><i class="fa fa-edit"></i>添加演出</a> ');
actions.push('<a class="btn btn-success btn-xs ' + updateFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.roadShowId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
return actions.join('');
}
}]
......
......@@ -228,8 +228,8 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
}
@Override
public List<PerformanceTitleDao> getListByStatus(String status) {
List<PerformanceTitleDao> voList = performancesMapper.misTitleByStatusList(status);
public List<PerformanceTitleDao> getListByStatus(String status,String title) {
List<PerformanceTitleDao> voList = performancesMapper.misTitleByStatusList(status,title);
return voList;
}
......@@ -237,6 +237,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
public boolean changeRoadShowId(String performancesId, String roadShowId) {
try {
//mysql
if(null==roadShowId || roadShowId.isEmpty()){
roadShowId="0";
}
KylinPerformanceRelations performanceRelations = new KylinPerformanceRelations();
performanceRelations.setRoadShowId(roadShowId);
performanceRelationsMapper.update(performanceRelations, new UpdateWrapper<KylinPerformanceRelations>().eq("performance_id", performancesId));
......@@ -257,33 +260,42 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
}
@Override
public boolean setRecommend(List<PerformanceRecommendAdminParam> performancesIdList) {
public PerformanceRecommendDao getRecommend(String performancesId) {
PerformanceRecommendDao result = performancesMapper.getRecommend(performancesId);
return result;
}
@Override
public boolean setRecommend(String performancesId,Integer isRecommend) {
try {
if(null == isRecommend){
isRecommend=0;
}
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
performanceStatus.setIsRecommend(0);
performanceStatus.setStatus(null);
performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().gt("is_recommend", 0));
HashMap<String, Object> map = new HashMap<>();
map.put("isRecommend", 0);
BasicDBObject object = new BasicDBObject("$set", map);
mongoTemplate.getCollection(KylinPerformanceVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("isRecommend").gt(0)).getQueryObject(),
object
);
for (PerformanceRecommendAdminParam item : performancesIdList) {
performanceStatus.setIsRecommend(item.getIsRecommend());
performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", item.getPerformanceId()));
// performanceStatus.setIsRecommend(0);
// performanceStatus.setStatus(null);
// performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().gt("is_recommend", 0));
//
// HashMap<String, Object> map = new HashMap<>();
// map.put("isRecommend", 0);
// BasicDBObject object = new BasicDBObject("$set", map);
// mongoTemplate.getCollection(KylinPerformanceVo.class.getSimpleName()).updateMany(
// Query.query(Criteria.where("isRecommend").gt(0)).getQueryObject(),
// object
// );
// for (PerformanceRecommendAdminParam item : performancesIdList) {
performanceStatus.setIsRecommend(isRecommend);
performanceStatusMapper.update(performanceStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
HashMap<String, Object> map2 = new HashMap<>();
map2.put("isRecommend", item.getIsRecommend());
map2.put("isRecommend", isRecommend);
BasicDBObject object2 = new BasicDBObject("$set", map2);
mongoTemplate.getCollection(KylinPerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(item.getPerformanceId())).getQueryObject(),
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
object2
);
}
// }
// dataUtils.delPerformanceRecommendRedis(item.getPerformanceId());
return true;
} catch (Exception e) {
......@@ -326,7 +338,12 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
try {
PageHelper.startPage(1, 10);
List<PerformanceRecommendAdminDao> voList = performancesMapper.reCommendPerformanceList();
pageInfoTmp = new PageInfo(voList);
List<PerformanceRecommendAdminDao> newList = new ArrayList();
for (PerformanceRecommendAdminDao item : voList) {
item.setStatus(item.getStatus());
newList.add(item);
}
pageInfoTmp = new PageInfo(newList);
} catch (Exception e) {
return null;
}
......
......@@ -20,6 +20,7 @@ liquidnet:
url-pay:
pay: "http://testpay.zhengzai.tv/"
check: "http://testpay.zhengzai.tv/order/verify"
localUrl: "https://zuul.zhengzai.tv/kylin/order/syncOrder"
#以下为spring各环境个性配置
spring:
......
......@@ -20,6 +20,7 @@ liquidnet:
url-pay:
pay: "http://testpay.zhengzai.tv/"
check: "http://testpay.zhengzai.tv/order/verify"
localUrl: "https://zuul.zhengzai.tv/kylin/order/syncOrder"
#以下为spring各环境个性配置
spring:
......
......@@ -9,5 +9,33 @@ public class PerformanceRecommendAdminDao {
private String title;
private String timeStart;
private Integer status;
private String statusName;
private Integer isRecommend;
public void setStatus(Integer status){
this.status=status;
switch (status){
case 1:
this.statusName="审核中";
break;
case 3:
this.statusName="审核通过";
break;
case 4:
this.statusName="审核拒绝";
break;
case 6:
this.statusName="售卖中";
break;
case 7:
this.statusName="已下架";
break;
case 8:
this.statusName="演出结束";
break;
default:
this.statusName="其他";
break;
}
}
}
package com.liquidnet.service.kylin.dao;
import lombok.Data;
@Data
public class PerformanceRecommendDao {
//演出数据
private String performancesId;
private String title;
private Integer isRecommend;
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
......@@ -27,7 +28,7 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
List<PerformanceTitleDao> misTitleByRoadShowIdList(String roadShowId);
//根据巡演查询 通过审核演出列表
List<PerformanceTitleDao> misTitleByStatusList(String status);
List<PerformanceTitleDao> misTitleByStatusList(@Param("status") String status, @Param("title") String title);
//推荐列表
List<PerformanceRecommendAdminDao> reCommendPerformanceList();
......@@ -37,4 +38,7 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
//演出 会员票相关信息
List<TicketMemberAuditDao> misTicketMemberInfo(String performancesId);
//演出 会员票相关信息
PerformanceRecommendDao getRecommend(String performancesId);
}
......@@ -42,6 +42,14 @@
<result column="title" property="title"/>
</resultMap>
<resultMap id="performanceRecommendDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceRecommendDao">
<result column="performances_id" property="performancesId"/>
<result column="title" property="title"/>
<result column="is_recommend" property="isRecommend"/>
</resultMap>
<resultMap id="PerformanceRecommendAdminDaoResult"
type="com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao">
<result column="performances_id" property="performancesId"/>
......@@ -230,7 +238,7 @@
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE (ps.status = 3 or ps.status = 6 or ps.status = 7)
AND pr.road_show_id = ${roadShowId}
LIMIT 20
LIMIT 100
</select>
<!-- Mis 根据状态查询演出列表 -->
<select id="misTitleByStatusList" parameterType="java.lang.String" resultMap="performanceTitleDaoResult">
......@@ -239,7 +247,12 @@
FROM kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON ps.performance_id = p.performances_id
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE ps.status = ${roadShowId}
<where>
ps.status in ${status}
<if test="title!=''">
AND title LIKE concat('%', ${title}, '%')
</if>
</where>
LIMIT 20
</select>
<!-- Mis演出推荐列表 -->
......@@ -253,7 +266,16 @@
LEFT JOIN kylin_performance_status AS ps ON ps.performance_id = p.performances_id
WHERE is_recommend > 0
ORDER BY is_recommend DESC
</select>
<!-- Mis 根据演出id查询推荐数据 -->
<select id="getRecommend" parameterType="java.lang.String" resultMap="performanceRecommendDaoResult">
SELECT performances_id,
title,
ps.is_recommend
FROM kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON ps.performance_id = p.performances_id
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE p.performances_id = #{performancesId}
</select>
<!-- Mis根据演出id查询演出名称 -->
<select id="misPerformanceMemberInfo" resultMap="performanceTitleDaoResult">
......
......@@ -65,10 +65,8 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "购买会员或会员码")
@PostMapping("buy")
public ResponseDto<AdamMemberOrderResult> buyMemberOrCode(AdamMemberOrderParam param) {
AdamMemberOrderResult adamMemberOrderResult = null;
public ResponseDto<AdamMemberOrderResult> buyMemberOrCode(@RequestBody AdamMemberOrderParam param) {
try {
param.setUid(CurrentUtil.getCurrentUid());
log.info("member/order/buy:param:{}", JsonUtils.toJson(param));
AdamRealInfoVo realInfoVo = adamRealNameService.queryByUid(CurrentUtil.getCurrentUid());
......@@ -76,21 +74,20 @@ public class AdamMemberOrderController {
if (StringUtils.isBlank(param.getName()) || StringUtils.isBlank(param.getIdCard())) {
return ResponseDto.failure(ErrorMapping.get("10101"));
}
adamUserService.identity(param.getUid(), param.getName(), param.getIdCard());
adamUserService.identity(CurrentUtil.getCurrentUid(), param.getName(), param.getIdCard());
}
adamMemberOrderResult = adamMemberOrderService.buyMemberOrMemberCode(param);
return adamMemberOrderService.buyMemberOrMemberCode(param);
} catch (Exception e) {
e.printStackTrace();
log.error("系统异常:购买会员或会员码", e);
return ResponseDto.failure();
}
return ResponseDto.success(adamMemberOrderResult);
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "使用兑换码")
@PostMapping("use/memberCode")
public ResponseDto<AdamMemberOrder> useMemberCode(AdamMemberOrderCodeParam param) {
public ResponseDto<AdamMemberOrder> useMemberCode(@RequestBody AdamMemberOrderCodeParam param) {
try {
param.setIp("127.0.0.1");
param.setSource(CurrentUtil.getCliSource());
......@@ -136,7 +133,7 @@ public class AdamMemberOrderController {
@ApiOperationSupport(order = 5)
@ApiOperation(value = "会员支付回调")
@PostMapping("callback")
public ResponseDto<Object> memberOrderCallBack(AdamMemberOrderCallbackResult result){
public ResponseDto<Object> memberOrderCallBack(@RequestBody AdamMemberOrderCallbackResult result){
boolean b = adamMemberOrderService.memberNotifyCallBack(result);
if (b) {
return ResponseDto.success();
......
......@@ -61,7 +61,7 @@ public class AdamUserController {
editUserInfoVo.setArea(parameter.getArea());
editUserInfoVo.setSignature(parameter.getSignature());
editUserInfoVo.setTagMe(parameter.getTagMe());
editUserInfoVo.setIsComplete(1);
editUserInfoVo.setIsComplete(StringUtils.isEmpty(editUserInfoVo.getUpdatedAt()) ? 0 : 1);
editUserInfoVo.setUpdatedAt(DateUtil.getNowTime());
adamUserInfoService.edit(editUserInfoVo);
......
package com.liquidnet.service.adam.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.*;
......@@ -14,13 +13,14 @@ import com.liquidnet.service.adam.dto.AdamMemberOrderResult;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamMemberService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService;
import com.liquidnet.service.adam.util.MemberUtil;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
......@@ -42,10 +42,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
@Autowired
IAdamRdmService adamRdmService;
@Autowired
AdamMemberOrderMapper adamMemberOrderMapper;
@Autowired
AdamMemberPriceMapper adamMemberPriceMapper;
@Autowired
IAdamUserMemberService adamUserMemberService;
@Autowired
IAdamMemberPriceService adamMemberPriceService;
......@@ -100,7 +96,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
}
@Override
public AdamMemberOrderResult buyMemberOrMemberCode(AdamMemberOrderParam param) {
public ResponseDto<AdamMemberOrderResult> buyMemberOrMemberCode(AdamMemberOrderParam param) {
String memberId = param.getMemberId();
String memberPriceId = param.getMemberPriceId();
AdamMemberOrderResult result = new AdamMemberOrderResult();
......@@ -109,8 +105,9 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
// 验证会员是否有效
AdamMemberVo adamMemberVo = adamMemberService.queryMemberInfo();
if (!adamMemberVo.getMemberId().equals(memberId)) {
result.setState(0);
return result;
// result.setState(0);
// return result;
return ResponseDto.failure(ErrorMapping.get("10201"));
}
// 验证价格是否有效
List<AdamMemberPriceVo> adamMemberPrice = adamMemberVo.getPriceVoList();
......@@ -123,8 +120,9 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
}
}
if (null == priceVo) {
result.setState(0);
return result;
// result.setState(0);
// return result;
return ResponseDto.failure(ErrorMapping.get("10202"));
}
AdamMemberPriceVo memberPrice = (AdamMemberPriceVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_PRICE_INFO.concat(memberId), memberPriceId);
......@@ -138,7 +136,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
String orderNo = IDGenerator.nextSnowId().toString().concat("V");
orderVo.setOrderNo(orderNo);
orderVo.setMemberId(memberId);
orderVo.setBirthday(param.getBirthday());
orderVo.setDays(memberPrice.getDays());
orderVo.setMemberPriceId(memberPriceId);
orderVo.setCreatedAt(createdAt);
......@@ -146,15 +143,15 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
orderVo.setMode(param.getMode());
orderVo.setPayChannel(param.getPayChannel());
orderVo.setState(AdamMemberConst.STATUS_UNPAID);
orderVo.setUid(param.getUid());
orderVo.setUid(CurrentUtil.getCurrentUid());
orderVo.setPrice(param.getPrice());
orderVo.setIp(param.getClientIp());
orderVo.setVersion(param.getVersion());
orderVo.setSource(param.getSource());
orderVo.setIp(CurrentUtil.getCliVersion());
orderVo.setVersion(CurrentUtil.getCliVersion());
orderVo.setSource(CurrentUtil.getCliSource());
mongoTemplate.insert(orderVo, AdamMemberOrderVo.class.getSimpleName());
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_ORDER_INFO.concat(param.getUid()), orderNo, orderVo);
redisUtil.hset(AdamRedisConst.INFO_MEMBERS_ORDER_INFO.concat(orderVo.getUid()), orderNo, orderVo);
// 创建订单
int buyType = param.getMode();
......@@ -165,8 +162,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
payParam.add("price", String.valueOf(priceVo.getPrice()));
payParam.add("name", orderVo.getMemberName());
payParam.add("order_code", orderVo.getOrderNo());
payParam.add("client_ip", param.getClientIp());
payParam.add("notify_url", "回调地址");
payParam.add("client_ip", "127.0.0.1");
payParam.add("notify_url", "http://www.baidu.com");
payParam.add("create_date", createdAt);
payParam.add("expire_time", AdamMemberConst.TIME_LIMIT.toString());
if (null != param.getAuthCode()) {
......@@ -178,21 +175,27 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
if (null != param.getProductId()) {
payParam.add("product_id", param.getProductId());
}
Map<String, String> payResult = null;
switch (buyType) {
case 0:
payParam.add("detail", "正在现场 - 购买会员");
payResult = this.callPayServer(param.getPayChannel(), payParam);
result.setOrderId(payResult.get("order_id"));
break;
case 1:
payParam.add("detail", "正在现场 - 购买会员码");
payResult = this.callPayServer(param.getPayChannel(), payParam);
result.setOrderId(payResult.get("order_id"));
break;
}
result.setPayObject(payResult);
return result;
// Map payResult = null;
// switch (buyType) {
// case 0:
// payParam.add("detail", "正在现场 - 购买会员");
// payResult = this.callPayServer(param.getPayChannel(), payParam);
// result.setOrderNo((String) payResult.get("order_id"));
// break;
// case 1:
// payParam.add("detail", "正在现场 - 购买会员码");
// payResult = this.callPayServer(param.getPayChannel(), payParam);
// result.setOrderNo((String) payResult.get("order_id"));
// break;
// }
payParam.add("detail", buyType == 0 ? "正在现场 - 购买会员" : "正在现场 - 购买会员码");
Map payResult = this.callPayServer(param.getPayChannel(), payParam);
result.setOrderNo(orderVo.getOrderNo());
result.setCode((String) payResult.get("code"));
result.setPayData(payResult.get("pay_data"));
result.setShowUrl(param.getShowUrl());
result.setReturnUrl(param.getReturnUrl());
return ResponseDto.success(result);
}
/**
......@@ -241,7 +244,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
orderVo.setState(AdamMemberConst.STATUS_UNPAID);
orderVo.setCreatedAt(currentDateTime);
orderVo.setDays(priceVo.getDays());
orderVo.setBirthday(param.getBirthday());
orderVo.setPayNo(memberCodeVo.getCode());
orderVo.setPrice(BigDecimal.valueOf(0));
......@@ -301,7 +303,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
* @param payParam 支付参数
* @return Map
*/
private Map<String, String> callPayServer(String payType, LinkedMultiValueMap<String, String> payParam) {
private Map callPayServer(String payType, LinkedMultiValueMap<String, String> payParam) {
String url = "http://testpay.zhengzai.tv";
switch (payType) {
case "APPALIPAY":
......@@ -324,7 +326,8 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
break;
}
String json = HttpUtil.post(url, payParam);
return (HashMap<String, String>) JSONObject.parse(json);
log.info("HttpUtil.response.body:{}", json);
return JsonUtils.fromJson(json, Map.class);
}
@Override
......
......@@ -17,4 +17,10 @@
10201=
\ No newline at end of file
10201=会员信息有误,请联系客服
10202=会员价格有误,请联系客服
10301=
\ No newline at end of file
......@@ -59,6 +59,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
private String payUrl;
@Value("${liquidnet.url-pay.check}")
private String checkUrl;
@Value("${liquidnet.url-pay.localUrl}")
private String synUrl;
@Autowired
private DataUtils dataUtils;
@Autowired
......@@ -454,7 +457,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData.add("detail", performanceData.getTitle() + "-" + ticketData.getTitle() + "-" + ticketData.getUseStart());
httpData.add("order_code", orderTickets.getOrderCode());
httpData.add("client_ip", "127.0.0.1");
httpData.add("notify_url", "http://www.baidu.com");
httpData.add("notify_url", synUrl);
httpData.add("create_date", orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
httpData.add("expire_time", orderTickets.getPayCountdownMinute().toString());
......@@ -531,7 +534,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData.add("detail", entitiesData.getPerformanceTitle() + "-" + entitiesData.getTicketTitle() + "-" + entitiesData.getUseStart());
httpData.add("order_code", orderTicketData.getOrderCode());
httpData.add("client_ip", "127.0.0.1");
httpData.add("notify_url", "http://www.baidu.com");
httpData.add("notify_url", synUrl);
httpData.add("create_date", orderTicketData.getCreatedAt());
httpData.add("expire_time", orderTicketData.getPayCountdownMinute().toString());
......
......@@ -6,7 +6,7 @@ liquidnet:
username: user
password: user123
eureka:
host: 172.17.207.177:7001,172.17.121.158:7001,172.17.121.157:7001
host: 172.17.207.177:7001
# end-test-这里是配置信息基本值
spring:
......
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