记得上下班打卡 | 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,19 +132,19 @@ 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,
addresses_id varchar(64) not null,
uid varchar(64) not null,
name varchar(30) not null comment '姓名',
phone varchar(30) not null comment '手机号',
province varchar(30) not null comment '省份',
city varchar(30) not null comment '城市',
county varchar(30) not null comment '区县',
address varchar(100) not null comment '详细地址',
is_default boolean not null default false comment '是否为默认:0-否,1-是,第一个默认1',
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 '姓名',
phone varchar(30) not null comment '手机号',
province varchar(30) not null comment '省份',
city varchar(30) not null comment '城市',
county varchar(30) not null comment '区县',
address varchar(100) not null comment '详细地址',
is_default boolean not null default false comment '是否为默认:0-否,1-是,第一个默认1',
# is_certification enum ('yes','no') not null default 'no' comment '入场人的身份证号是否认证',
state tinyint not null comment '状态:0-INIT,1-NORMAL,2-INVALID',
created_at datetime(3) not null,
state tinyint not null comment '状态:0-INIT,1-NORMAL,2-INVALID',
created_at datetime(3) not null,
updated_at datetime(3),
deleted_at datetime(3),
comment text
......@@ -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,12 +191,12 @@ 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,
uid varchar(64) not null,
content_id int unsigned not null,
type varchar(30) not null comment '想去类型:TICKET',
state tinyint default 1 not null comment '1-正常,2-删除',
created_at datetime(3) not null,
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',
state tinyint default 1 not null comment '1-正常,2-删除',
created_at datetime(3) not null,
updated_at datetime(3),
comment text
) engine = InnoDB comment '想去';
......@@ -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,9 +239,17 @@ public class AdamMemberOrderController {
@GetMapping("info/{orderNo}")
public ResponseDto<AdamMemberOrderVo> getMemberOrderList(@NotBlank @PathVariable String orderNo) {
AdamMemberOrderVo mOrderVo = adamRdmService.getShotMemberOrderVoByOrderNo(orderNo);
AdamMemberVo memberVo = adamRdmService.getMemberVoByMemberId(mOrderVo.getMemberId());
mOrderVo.setMemberNotes(memberVo.getNotes());
return ResponseDto.success(mOrderVo);
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)
......
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