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

Commit 8bc73956 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'dev' into test

parents 61bbf46f 97f5738f
......@@ -60,11 +60,10 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
@ApiModelProperty(position = 20, value = "客户端版本")
private String version;
@ApiModelProperty(position = 21, value = "兑换码")
private String memberCode;
@ApiModelProperty(position = 22, value = "会员须知")
@ApiModelProperty(position = 21, value = "会员须知")
private String memberNotes;
@ApiModelProperty(position = 22, value = "会员码信息")
private AdamMemberCodeVo memberCodeVo;
public static final AdamMemberOrderVo obj = new AdamMemberOrderVo();
......
......@@ -104,6 +104,11 @@ public interface IAdamRdmService {
AdamMemberCodeVo getMemberCodeVoByCode(String memberCode);
/**
* Temporarily connect Mongo
*/
AdamMemberCodeVo getMemberCodeVoByBuyOrderNo(String buyOrderNo);
void delMemberCodeVoByCode(String memberCode);
boolean setTagsForSex(List<AdamTagVo> voList);
......
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PerformanceExpressAdminListParam {
@ApiModelProperty(value = "演出名称", example = "")
private String title;
@ApiModelProperty(value = "-2全部状态:-1删除;0未提交;1审核中;2审核中(自动上线);3审核通过;4审核未通过;6上线;7下架;8活动结束;9活动取消退款中;10活动取消退", example = "-2")
private Integer status;
@ApiModelProperty(value = "城市名称", example = "")
private String cityName;
@ApiModelProperty(value = "-2全部,0审核中,2审核拒绝", example = "0")
private Integer auditStatus;
@ApiModelProperty(value = "停售时间(天)-2全部", example = "-2")
private long stopSellDay;
@ApiModelProperty(value = "停售时间", example = "2000-01-01 12:00:00", hidden = true)
private String stopSellTime;
@ApiModelProperty(value = "页数", example = "0")
private Integer pageSize;
@ApiModelProperty(value = "数量", example = "20")
private Integer pageNum;
}
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.PerformancesExpressServiceImpl;
import com.liquidnet.service.kylin.dao.PerformanceExpressAdminListDao;
import com.liquidnet.service.kylin.dto.param.PerformanceExpressAdminListParam;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 演出快递
* </p>
*
* @author jiangxiulong
* @since 2021-06-21
*/
@Controller
@RequestMapping("/kylin/performancesExpress")
public class PerformancesExpressController extends BaseController {
private String prefix = "zhengzai/kylin/performancesExpress";
@Value("${liquidnet.shunfeng.url}")
private String url;
@Value("${liquidnet.shunfeng.sk}")
private String sk;
@Value("${liquidnet.shunfeng.appid}")
private String appid;
@Autowired
private PerformancesExpressServiceImpl performancesExpressServiceImpl;
@RequiresPermissions("kylin:performancesExpress:view")
@GetMapping()
public String banners() {
return prefix + "/performancesExpress";
}
/**
* 查询演出列表
*/
@RequiresPermissions("kylin:performances:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(PerformanceExpressAdminListParam performanceExpressAdminListParam) {
List<PerformanceExpressAdminListDao> result = performancesExpressServiceImpl.getList(performanceExpressAdminListParam);
return getDataTable(result);
}
}
......@@ -59,6 +59,10 @@ liquidnet:
endpoint: http://oss-cn-hangzhou.aliyuncs.com
accessKeyId: LTAI4FxrURzMvvu9reFgwY5o
accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV
shunfeng:
url: "https://butler-dev-ms.sf-express.com"
sk: 21e9a70f677a2bf29dfa2b3bead4f018
appid: 557104628450889728
# end-dev-这里是配置信息基本值
......
......@@ -48,6 +48,10 @@ liquidnet:
endpoint: http://oss-cn-hangzhou.aliyuncs.com
accessKeyId: LTAI4FxrURzMvvu9reFgwY5o
accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV
shunfeng:
url: "https://butler-dev-ms.sf-express.com"
sk: 21e9a70f677a2bf29dfa2b3bead4f018
appid: 557104628450889728
# end-dev-这里是配置信息基本值
spring:
......
......@@ -60,6 +60,10 @@ liquidnet:
endpoint: http://oss-cn-hangzhou.aliyuncs.com
accessKeyId: LTAI4FxrURzMvvu9reFgwY5o
accessKeySecret: Ym5tfAxOf2zX20MgjikLI3Wz3tlwVV
shunfeng:
url: "https://butler-dev-ms.sf-express.com"
sk: 21e9a70f677a2bf29dfa2b3bead4f018
appid: 557104628450889728
# end-dev-这里是配置信息基本值
spring:
......
<!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="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="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>
<option value="9">未开始</option>
<option value="10">演出结束</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="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:performancesExpress:detail')}]];
var expertFlag = [[${@permission.hasPermi('kylin:performancesExpress:expert')}]];
var prefix = ctx + "kylin/performancesExpress";
$(function () {
var options = {
url: prefix + "/list",
detailUrl: prefix + "/details/{id}",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "演出快递",
columns: [{
checkbox: true
},
{
field: 'performancesId',
title: '演出id'
},
{
field: 'title',
title: '演出名称'
},
{
field: 'timeStart',
title: '开演时间'
},
{
field: 'statusName',
title: '演出状态'
},
{
field: '22',
title: '总数'
},
{
field: '33',
title: '待发货'
},
{
field: '44',
title: '已发货'
},
{
field: '55',
title: '已签收'
},
{
title: '操作',
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 ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.PerformanceVoUtils;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceAgentVo;
import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceDamaiVo;
import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceMemberHistoryVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
* 演出 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-05
*/
@Service
@Slf4j
public class PerformancesExpressServiceImpl extends ServiceImpl<KylinPerformancesMapper, KylinPerformances> {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
private PerformanceVoUtils performanceVoUtils;
@Autowired
private KylinPerformancesMapper performancesMapper;
public KylinPerformanceMisVo performanceDetails(String performancesId) {
log.info(" PERFORMANCE mis演出详情");
KylinPerformanceMisVo createMisVo = performanceVoUtils.getPerformanceMisVo(performancesId);
return createMisVo;
}
public List<PerformanceExpressAdminListDao> getList(PerformanceExpressAdminListParam performanceExpressAdminListParam) {
List<PerformanceExpressAdminListDao> voList = new ArrayList();
try {
Map<String, Object> map = BeanUtil.convertBeanToMap(performanceExpressAdminListParam);
voList = performancesMapper.misPerformanceExpressList(map);
for (PerformanceExpressAdminListDao item : voList) {
item.setStatus(item.getStatus());
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return voList;
}
}
package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.*;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.KylinBuyNotice;
import com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
......@@ -152,22 +147,6 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.ORDER_ENTITIES + orderEntitiesId);
}
/**
* 删除 banner redis
* @param bannerId
*/
public void delBannersRedis(String bannerId) {
redisUtil.del(KylinRedisConst.BANNERS + bannerId);
}
/**
* 删除 推荐演出 redis
* @param recommendId
*/
public void delPerformanceRecommendRedis(String recommendId) {
redisUtil.del(KylinRedisConst.PERFORMANCES_RECOMMEND + recommendId);
}
/**
* 删除 验票账号 redis
* @param checkUserId
......@@ -223,22 +202,6 @@ public class DataUtils {
}
}
/**
* 获取巡演列表redis
*/
public List<KylinPerformanceVo> getRoadList(String roadShowId) {
String redisKey = KylinRedisConst.PERFORMANCES_ROADLIST.concat(roadShowId);
if (!redisUtil.hasKey(redisKey)) {
List<KylinPerformanceVo> roadList = mongoTemplate.find(
Query.query(Criteria.where("roadShowId").is(roadShowId)),
KylinPerformanceVo.class,
KylinPerformanceVo.class.getSimpleName()
);
redisUtil.set(redisKey, roadList);
}
return (List<KylinPerformanceVo>) redisUtil.get(redisKey);
}
/**
* 根据演出id 获取 演出vo 详情
*
......
......@@ -152,10 +152,13 @@ global-auth:
- ${liquidnet.info.context}/partner/ticket/**
- ${liquidnet.info.context}/partner/times/**
- ${liquidnet.info.context}/partner/performance/**
# banner
- ${liquidnet.info.context}/banners/**
- ${liquidnet.info.context}/order/checkOrderTime
- ${liquidnet.info.context}/order/syncOrder
# 退款回掉
- ${liquidnet.info.context}/refund/callback
# 演出
- ${liquidnet.info.context}/performance/localList
- ${liquidnet.info.context}/performance/noticeList
- ${liquidnet.info.context}/performance/roadList/**
......@@ -163,7 +166,6 @@ global-auth:
- ${liquidnet.info.context}/performance/exclusiveList
- ${liquidnet.info.context}/performance/search
- ${liquidnet.info.context}/performance/list
- ${liquidnet.info.context}/performance/partner/**
- ${liquidnet.info.context}/performance/calendar
- ${liquidnet.info.context}/performance/calendarPerformances
- ${liquidnet.info.context}/performance/*
......
......@@ -23,7 +23,7 @@ public class AdamAddresses implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String addressesId;
......
......@@ -23,7 +23,7 @@ public class AdamCollection implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String uid;
......
package com.liquidnet.service.adam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* TOKEN
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class AdamDeviceToken implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String uid;
private String android;
private String ios;
private String ipad;
private Integer isLast;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
......@@ -23,7 +23,7 @@ public class AdamDisposed implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String uid;
......
......@@ -23,7 +23,7 @@ public class AdamEnters implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String entersId;
......
......@@ -18,7 +18,7 @@ public class AdamMember implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
/**
* 会员卡id
......
......@@ -15,7 +15,7 @@ public class AdamMemberCode {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
/**
* 会员码
*/
......
......@@ -16,7 +16,7 @@ public class AdamMemberOrder implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
/**
* 订单号
......@@ -29,7 +29,7 @@ public class AdamMemberOrder implements Serializable {
/**
* 购买方式:0-购买会员 1-购买会员码,2-使用会员码
*/
private String mode;
private Integer mode;
/**
* 原价
*/
......
......@@ -19,7 +19,7 @@ public class AdamMemberPrice implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
/**
* 会员价格ID
......
......@@ -23,7 +23,7 @@ public class AdamRealName implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String realNameId;
......
......@@ -23,7 +23,7 @@ public class AdamThirdParty implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String uid;
......
......@@ -23,7 +23,7 @@ public class AdamUser implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String uid;
......
......@@ -23,7 +23,7 @@ public class AdamUserInfo implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String uid;
......
......@@ -13,7 +13,7 @@ public class AdamUserMember {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private Long mid;
private String uid;
......
package com.liquidnet.service.adam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.adam.entity.AdamDeviceToken;
/**
* <p>
* TOKEN Mapper 接口
* </p>
*
* @author liquidnet
* @since 2021-05-11
*/
public interface AdamDeviceTokenMapper extends BaseMapper<AdamDeviceToken> {
}
package com.liquidnet.service.kylin.dao;
import lombok.Data;
@Data
public class PerformanceExpressAdminListDao {
//演出数据
private String performancesId;
private String title;
private String timeStart;
private String timeEnd;
private String sponsor;
private Integer status;
private String statusName;
private String auditTime;
private Integer auditStatus;
private Integer totalGeneral;
private Integer saleGeneral;
private Integer totalSalePrice;
private Integer surplusGeneral;
private Integer syncDamai;
private String rejectTxt;
private Integer sort;
private String createdAt;
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;
case 9:
this.statusName="未开始";
break;
case 10:
this.statusName="已结束";
break;
default:
this.statusName="其他";
break;
}
}
}
......@@ -45,4 +45,6 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
List<PerformanceOrderStatisticalDao> getPerformanceOrderStatisticalList(String performancesId);
List<PerformanceSponsorDao> getPerformanceSponsorList(String sponsorType);
List<PerformanceExpressAdminListDao> misPerformanceExpressList(Map<String, Object> map);
}
......@@ -447,4 +447,42 @@
</where>
order by sponsor_id
</select>
<select id="misPerformanceExpressList"
resultType="com.liquidnet.service.kylin.dao.PerformanceExpressAdminListDao">
SELECT
p.performances_id ,
p.title ,
p.type,
p.time_start ,
p.time_end ,
ps.`status` ,
p.created_at
FROM
kylin_performances AS p
LEFT JOIN kylin_performance_status AS ps ON p.performances_id = ps.performance_id
LEFT JOIN kylin_performance_relations AS pr ON p.performances_id = pr.performance_id
<where>
<if test="title!=''">
AND title LIKE concat('%', #{title}, '%')
</if>
<if test="cityName!=''">
AND city_name LIKE concat('%', #{cityName}, '%')
</if>
<if test="status!='-2'">
AND ps.STATUS = #{status}
</if>
<if test="status=='-2'">
AND (ps.STATUS >= 3 or ps.STATUS = 1)
</if>
<if test="auditStatus!='-2'">
AND ps.audit_status = #{auditStatus}
</if>
<if test="stopSellDay!=-2">
AND p.time_end BETWEEN #{stopSellTime} AND NOW()
</if>
</where>
<if test="orderItem!=''">
ORDER BY created_at DESC
</if>
</select>
</mapper>
......@@ -4,7 +4,7 @@ use ln_scene;
drop table if exists adam_third_party;
create table adam_third_party
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
uid varchar(64) default '',
open_id varchar(64) comment '第三方ID',
avatar varchar(255) comment '第三方头像',
......@@ -52,7 +52,7 @@ create unique index uidx_third_party_uid_open_id on adam_third_party (uid, open_
drop table if exists adam_user;
create table adam_user
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
uid varchar(64) not null,
mobile varchar(30) not null,
passwd varchar(64),
......@@ -70,7 +70,7 @@ create unique index uidx_user_uid on adam_user (uid);
drop table if exists adam_user_info;
create table adam_user_info
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
uid varchar(64) not null,
nickname varchar(32) comment '昵称',
sex varchar(50) comment '性别',
......@@ -92,7 +92,7 @@ create unique index idx_user_info_uid on adam_user_info (uid);
drop table if exists adam_real_name;
create table adam_real_name
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
real_name_id varchar(64) not null,
uid varchar(64) not null,
type enum ('1','2','3','4','5') not null default '1' comment '1-大陆身份证,2-港澳通行证,3-台胞证,4-护照,5-军官证',
......@@ -109,7 +109,7 @@ create unique index idx_real_name_uid on adam_real_name (uid);
drop table if exists adam_enters;
create table adam_enters
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
# `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
enters_id varchar(64) not null,
uid varchar(64) not null comment '用户id',
......@@ -132,7 +132,7 @@ create index idx_enters_uid on adam_enters (uid);
drop table if exists adam_addresses;
create table adam_addresses
(
mid int unsigned auto_increment not null primary key,
mid bigint unsigned auto_increment not null primary key,
addresses_id varchar(64) not null,
uid varchar(64) not null,
name varchar(30) not null comment '姓名',
......@@ -176,7 +176,7 @@ create index idx_addresses_uid on adam_addresses (uid);
drop table if exists adam_collection;
create table adam_collection
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
uid varchar(64) not null,
content_id varchar(64) not null,
type varchar(30) not null comment '收藏类型:VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG',
......@@ -191,7 +191,7 @@ create unique index uidx_collection_uid_content_id on adam_collection (uid, cont
drop table if exists adam_disposed;
create table adam_disposed
(
mid int unsigned auto_increment not null primary key,
mid bigint unsigned auto_increment not null primary key,
uid varchar(64) not null,
content_id int unsigned not null,
type varchar(30) not null comment '想去类型:TICKET',
......@@ -206,7 +206,7 @@ create index idx_disposed_content on adam_disposed (content_id);
drop table if exists adam_member;
create table adam_member
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
member_id varchar(255) comment '会员id',
name varchar(64),
title varchar(100),
......@@ -233,7 +233,7 @@ create table adam_member
drop table if exists adam_member_price;
create table adam_member_price
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
member_price_id varchar(64) comment '会员价格id',
member_id varchar(64) NOT NULL comment '会员种类ID',
state tinyint NOT NULL DEFAULT '0' COMMENT '0不可用、1上线中、2已下线',
......@@ -250,7 +250,7 @@ create table adam_member_price
drop table if exists adam_member_order;
create table adam_member_order
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
order_no varchar(64),
uid varchar(64),
mode tinyint comment '购买方式:0-购买会员,1-购买会员码',
......@@ -278,7 +278,7 @@ create table adam_member_order
drop table if exists adam_user_member;
create table adam_user_member
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
uid varchar(64) not null,
member_id varchar(255) comment '会员类型id',
member_no varchar(20) not null,
......@@ -292,7 +292,7 @@ create table adam_user_member
drop table if exists adam_member_code;
create table adam_member_code
(
mid int unsigned auto_increment primary key,
mid bigint unsigned auto_increment primary key,
code varchar(20) comment '会员码',
type int default 0 comment '类型:1-购买,2-赠送(后台生成)',
member_id varchar(255) comment '会员ID',
......
......@@ -239,10 +239,18 @@ public class AdamMemberOrderController {
@GetMapping("info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@NotBlank @PathVariable String orderNo) {
AdamMemberOrderVo mOrderVo = adamRdmService.getShotMemberOrderVoByOrderNo(orderNo);
if (null != mOrderVo) {
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(mOrderVo.getMemberId());
mOrderVo.setMemberNotes(memberVo.getNotes());
if (mOrderVo.getMode() == 1) {
AdamMemberCodeVo memberCodeVo = adamRdmService.getMemberCodeVoByBuyOrderNo(mOrderVo.getOrderNo());
mOrderVo.setMemberCodeVo(memberCodeVo);
}
return ResponseDto.success(mOrderVo);
}
return ResponseDto.failure(ErrorMapping.get("10211"));
}
@ApiOperationSupport(order = 7)
@ApiOperation(value = "会员订单状态", notes = "响应参数[`data`:0-未支付|1-已支付]")
......
package com.liquidnet.service.adam.controller.admin;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.adam.service.processor.*;
import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api;
......@@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@ApiSupport(order = 90062)
@Api(tags = "DM")
@Slf4j
@Validated
......@@ -33,66 +36,67 @@ public class AdamDMAdminController extends AdamBaseController {
@Autowired
DMTracesInfoProcessor dmTracesInfoProcessor;
@ApiOperationSupport(order = 0)
@ApiOperation(value = "user")
@GetMapping(value = {"user"})
public ResponseDto<Object> dataMigrationForUser(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
dmUserInformationProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperationSupport(order = 1)
@ApiOperation(value = "tpa")
@GetMapping(value = {"tpa"})
public ResponseDto<Object> dataMigrationForTpa(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
dmThirdPartsProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "real")
@GetMapping(value = {"real"})
public ResponseDto<Object> dataMigrationForReal(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
dmRealNameProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperationSupport(order = 3)
@ApiOperation(value = "vip")
@GetMapping(value = {"vip"})
public ResponseDto<Object> dataMigrationForVip(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
dmUserMemberProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "morder")
@GetMapping(value = {"morder"})
public ResponseDto<Object> dataMigrationForMOrder(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
@ApiOperationSupport(order = 4)
@ApiOperation(value = "traces")
@GetMapping(value = {"traces"})
public ResponseDto<Object> dataMigrationForTraces(@RequestParam boolean flg) {
dmTracesInfoProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperationSupport(order = 5)
@ApiOperation(value = "enters")
@GetMapping(value = {"enters"})
public ResponseDto<Object> dataMigrationForEnters(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
dmEntersProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperationSupport(order = 6)
@ApiOperation(value = "addr")
@GetMapping(value = {"addr"})
public ResponseDto<Object> dataMigrationForAddr(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
dmAddressesProcessor.handler(flg);
return ResponseDto.success();
}
@ApiOperation(value = "traces")
@GetMapping(value = {"traces"})
public ResponseDto<Object> dataMigrationForTraces(@RequestParam boolean flg) {
// if (!verify(alis)) return ResponseDto.failure();
dmTracesInfoProcessor.handler(flg);
@ApiOperationSupport(order = 7)
@ApiOperation(value = "morder")
@GetMapping(value = {"morder"})
public ResponseDto<Object> dataMigrationForMOrder(@RequestParam boolean flg) {
return ResponseDto.success();
}
}
......@@ -256,9 +256,9 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
initMemberCodeVo.setType(1);// 1-购买,2-赠送
initMemberCodeVo.setMemberNo(memberNo);
initMemberCodeVo.setState(0);
initMemberCodeVo.setBuyOrderNo(parameter.getCode());
initMemberCodeVo.setBuyOrderNo(handleMemberOrderVo.getOrderNo());
initMemberCodeVo.setBuyUid(handleMemberOrderVo.getUid());
initMemberCodeVo.setBuyAt(now);
initMemberCodeVo.setBuyAt(handleMemberOrderVo.getCreatedAt());
initMemberCodeVo.setCreatedAt(now);
long s = System.currentTimeMillis();
......@@ -268,9 +268,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
adamRdmService.setMemberCodeVoByCode(initMemberCodeVo.getCode(), initMemberCodeVo);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
handleMemberOrderVo.setMemberCode(initMemberCodeVo.getCode());
handleMemberOrderVo.setMemberNo(memberNo);
toMqSqls.add(SqlMapping.get("adam_member_code.add"));
operationObjs.add(new Object[]{
initMemberCodeVo.getCode(), initMemberCodeVo.getType(), initMemberCodeVo.getMemberId(), initMemberCodeVo.getMemberPriceId(),
......@@ -344,7 +341,6 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
initMemberOrderVo.setClientIp(CurrentUtil.getCliIpAddr());
initMemberOrderVo.setSource(CurrentUtil.getCliSource());
initMemberOrderVo.setVersion(CurrentUtil.getCliVersion());
initMemberOrderVo.setMemberCode(param.getMemberCode());
LinkedList<String> toMqSqls = new LinkedList<>();
LinkedList<Object[]> updateMemberCodeObjs = new LinkedList<>(),
......@@ -429,7 +425,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
@Override
public PageInfo<AdamMemberOrderSimpleVo> queryPage(String uid, int pageNo, int pageSize) {
Query query = Query.query(Criteria.where("uid").is(uid).and("state").is(1));
Query query = Query.query(Criteria.where("uid").is(uid).and("state").in(1,5));
long count = mongoTemplate.count(query, AdamMemberOrderVo.class.getSimpleName());
......
......@@ -498,6 +498,18 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
return vo;
}
@Override
public AdamMemberCodeVo getMemberCodeVoByBuyOrderNo(String buyOrderNo) {
Query query = Query.query(Criteria.where("buyOrderNo").is(buyOrderNo));
query.fields().include("code").include("memberNo").include("state").include("type");
long s = System.currentTimeMillis();
AdamMemberCodeVo vo = mongoTemplate.findOne(
query, AdamMemberCodeVo.class, AdamMemberCodeVo.class.getSimpleName()
);
log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
return vo;
}
@Override
public void delMemberCodeVoByCode(String memberCode) {
redisUtil.del(AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode));
......
......@@ -1022,6 +1022,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
LocalDateTime now = LocalDateTime.now();
Long currentTime = System.currentTimeMillis();
HashMap<String, Integer> mapSurplusGeneral = new HashMap<>();
ArrayList<String> orderDataList = new ArrayList<>();
ArrayList<String> orderIdList = new ArrayList<>();
HashMap<String, Object> mapMongo = new HashMap<>();
......@@ -1032,7 +1033,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
mapMongo.put("status", KylinTableStatusConst.ORDER_STATUS2);
mapMongo.put("updatedAt", DateUtil.Formatter.yyyyMMddHHmmssSSS.format(now));
mapMongo.put("changeDate", now);
orderIdList.add(item.getOrderTicketsId() + "," + item.getUserId());
orderDataList.add(item.getOrderTicketsId() + "," + item.getUserId());
orderIdList.add(item.getUserId());
mapSurplusGeneral.put(item.getTicketId(), mapSurplusGeneral.get(item.getTicketId()) == null ? item.getNumber() : mapSurplusGeneral.get(item.getTicketId()) + item.getNumber());
} catch (Exception e) {
log.debug("CHECK TIME SYNC = " + e.getMessage());
......@@ -1044,7 +1046,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
}
currentTime = System.currentTimeMillis() - currentTime;
log.debug("FOR 循环 -> time:" + (currentTime) + "毫秒");
if (orderIdList.size() > 0) {
if (orderDataList.size() > 0) {
//库存
for (Map.Entry<String, Integer> entry : mapSurplusGeneral.entrySet()) {
dataUtils.changeSurplusGeneral(entry.getKey(), entry.getValue());
......@@ -1055,7 +1057,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//mysql
String orderStr = "";
for (int i = 0; i < orderIdList.size(); i++) {
String orderTicketId = orderIdList.get(i).split(",")[0];
String orderTicketId = orderIdList.get(i);
orderStr += "'" + orderTicketId + "',";
}
......@@ -1081,7 +1083,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
Thread thread = new Thread(() -> {
//redis 列表
orderIdList.forEach(t -> {
orderDataList.forEach(t -> {
String orderTicketId = t.split(",")[0];
String uid = t.split(",")[1];
KylinOrderTicketVo vo = dataUtils.getOrderTicketVo(orderTicketId);
......
......@@ -167,6 +167,7 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
public HashMap<String, Object> ticketTimesPartner(String performancesId, Integer isAgent) {
KylinPerformanceVo vo = dataUtils.getPerformanceVo(performancesId);
vo = checkAppStatus(vo);
List<KylinTicketTimesVo> ticketTimesList = vo.getTicketTimeList();
for (KylinTicketTimesVo partner : ticketTimesList) {
......@@ -331,6 +332,10 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
if (info.getAppStatus() != 8) {
if (1 == DateUtil.compareStrDay(timeStart, nowTimeStr)) {// 未开始
info.setAppStatus(9);
int isMemberStatus = getPerformanceIsMemberStatus(info);
if (1 == isMemberStatus) {
info.setAppStatus(6);
}
} else { // 已开始
info.setAppStatus(6);
if (1 == DateUtil.compareStrDay(nowTimeStr, timeEnd)) { // 已结束
......@@ -382,6 +387,24 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return isMemberStatus;
}
public Integer getPerformanceIsMemberStatus(KylinPerformanceVo info) {// 会员状态
Integer isMemberStatus = 0;
if (null != info) {
if (1 == info.getIsMember()) { // 有会员
String memberTimeStart = info.getSellMemberTime();
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(memberTimeStart, nowTime)) { // 还没到会员购买时间
isMemberStatus = 0;
} else { // 可以购买
isMemberStatus = 1;
}
} else {
isMemberStatus = 0;
}
}
return isMemberStatus;
}
public String checkPerformanceTime(String performancesId) {
try {
task.performanceVoStatus(performancesId);
......
......@@ -139,21 +139,6 @@ public class DataUtils {
}
}
/**
* 根据演出id 获取 演出vo 详情
*
* @param performanceId
* @return
*/
public KylinPerformanceVo getPerformanceVo(String performanceId) {
if (redisUtil.hasKey(KylinRedisConst.PERFORMANCES + performanceId)) {
} else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
}
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
public void setOrderList(String userId, List<KylinOrderListVo> vo) {
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, vo);
}
......@@ -195,54 +180,6 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.ORDER + orderId);
}
/**
* 获取bannerVo
*
* @param bannerId
* @return
*/
public KylinBannersVo getBannersVo(String bannerId) {
if (redisUtil.hasKey(KylinRedisConst.BANNERS + bannerId)) {
} else {
KylinBannersVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("bannersId").is(bannerId)), KylinBannersVo.class, KylinBannersVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.BANNERS + bannerId, ticketData);
}
return (KylinBannersVo) redisUtil.get(KylinRedisConst.BANNERS + bannerId);
}
/**
* 删除 banner redis
*
* @param bannerId
*/
public void delBannersRedis(String bannerId) {
redisUtil.del(KylinRedisConst.BANNERS + bannerId);
}
/**
* 获取 推荐演出vo
*
* @param recommendId
* @return
*/
public KylinPerformanceVo getPerformanceRecommendVo(String recommendId) {
if (redisUtil.hasKey(KylinRedisConst.PERFORMANCES_RECOMMEND + recommendId)) {
} else {
KylinPerformanceVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(recommendId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES_RECOMMEND + recommendId, ticketData);
}
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES_RECOMMEND + recommendId);
}
/**
* 删除 推荐演出 redis
*
* @param recommendId
*/
public void delPerformanceRecommendRedis(String recommendId) {
redisUtil.del(KylinRedisConst.PERFORMANCES_RECOMMEND + recommendId);
}
/**
* 获取 验票账号 vo
*
......@@ -491,6 +428,21 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.ORDER_ENTITIES + orderEntitiesId);
}
/**
* 根据演出id 获取 演出vo 详情
*
* @param performanceId
* @return
*/
public KylinPerformanceVo getPerformanceVo(String performanceId) {
if (redisUtil.hasKey(KylinRedisConst.PERFORMANCES + performanceId)) {
} else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
}
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
/**
* 获取演出列表redis
*
......
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