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

Commit 119206a4 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'dev_change_times' into pre

parents 55056b5d 53b9866d
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
......@@ -8,15 +9,19 @@ 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.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
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.admin.PerformanceRefundConfigVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
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.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
......@@ -83,13 +88,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
private KylinTicketStatusMapper ticketStatusMapper;
@Autowired
private KylinTicketRelationsMapper ticketRelationsMapper;
@Autowired
private KylinTicketTimesMapper ticketTimesMapper;
@Autowired
private KylinTicketTimeRelationMapper ticketTimeRelationMapper;
private KylinOrderTicketsMapper kylinOrderTicketsMapper;
@Override
public KylinPerformanceMisVo performanceDetails(String performancesId) {
......@@ -114,14 +113,13 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
map.put("auditStatus", auditStatus);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject objectPerformanceVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformancePartnerVo.class.getSimpleName()).findOneAndUpdate(
mongoTemplate.getCollection(PerformancePartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformanceVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
objectPerformanceVo
);
KylinPerformanceStatus sqlStatus = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
dataUtils.setPerformanceIsTrueName(performancesId,sqlStatus.getIsTrueName());
dataUtils.setPerformanceIsTrueName(performancesId, sqlStatus.getIsTrueName());
if (sqlStatus.getStatus() == 1) {
log.info(" PERFORMANCE 演出审核 第一次");
//修改
......@@ -159,10 +157,12 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
HashMap<String, Object> mapSql = new HashMap<>();
mapSql.put("status", 9);
mapSql.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performanceVoUtils.updatePerformanceMySql(performancesId, mapSql, performanceVoUtils.getPerformanceMisVo(performancesId), updatedAt, auditStatus);
KylinPerformanceMisVo vo = performanceVoUtils.getPerformanceMisVo(performancesId);
performanceVoUtils.updatePerformanceMySql(performancesId, mapSql, vo, updatedAt, auditStatus);
if (sqlStatus.getStatus() >= 6 && sqlStatus.getStatus() != 7) {//若 演出上 则 线判断状态
performanceVoUtils.performanceVoStatus(performancesId);
}
delOrderTicketsRedis(vo);
}
dataUtils.delPerformanceRedis(performancesId);
......@@ -575,8 +575,8 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
vo.setPerformancesId(kylinPerformances.getPerformancesId());
vo.setTitle(kylinPerformances.getTitle());
vo.setIsCanRefund(kylinPerformanceStatus.getIsCanRefund());
vo.setRefundCloseTime(kylinPerformanceStatus.getRefundCloseTime()==null?"":DateUtil.Formatter.yyyyMMddHHmmss.format(kylinPerformanceStatus.getRefundCloseTime()));
vo.setRefundOpenTime(kylinPerformanceStatus.getRefundOpenTime()==null?"":DateUtil.Formatter.yyyyMMddHHmmss.format(kylinPerformanceStatus.getRefundOpenTime()));
vo.setRefundCloseTime(kylinPerformanceStatus.getRefundCloseTime() == null ? "" : DateUtil.Formatter.yyyyMMddHHmmss.format(kylinPerformanceStatus.getRefundCloseTime()));
vo.setRefundOpenTime(kylinPerformanceStatus.getRefundOpenTime() == null ? "" : DateUtil.Formatter.yyyyMMddHHmmss.format(kylinPerformanceStatus.getRefundOpenTime()));
return vo;
}
......@@ -648,4 +648,33 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
public List<PerformanceSponsorDao> getPerformanceSponsorList(String sponsorType) {
return performancesMapper.getPerformanceSponsorList(sponsorType);
}
//删除演出下所有订单缓存(订单详情,订单列表)
public void delOrderTicketsRedis(KylinPerformanceMisVo vo) {
//找到所有ticketId
List<TicketTimesTicketCreatePartnerVo> timesVoList = vo.getTicketTimes();
for (TicketTimesTicketCreatePartnerVo timesVo : timesVoList) {
List<String> orderTicketRedisIdList = new ArrayList<>();
List<String> userRedisIdList = new ArrayList<>();
List<String> orderTicketIdList = new ArrayList<>();
List<OrderIdsDao> orderIdsDaoList = kylinOrderTicketsMapper.getOrderUserIdByTimesId(timesVo.getTicketTimesId());
for (OrderIdsDao item : orderIdsDaoList) {
orderTicketRedisIdList.add(KylinRedisConst.ORDER + item.getOrderTicketsId());
userRedisIdList.add(KylinRedisConst.ORDER_LIST + item.getUserId());
orderTicketIdList.add(item.getOrderTicketsId());
}
HashMap<String, Object> mapMongo = new HashMap<>();
mapMongo.put("useStart", timesVo.getUseStart());
long time1 = System.currentTimeMillis();
mongoTemplate.getCollection(KylinOrderTicketVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("orderTicketsId").in(orderTicketIdList)).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(mapMongo))
);
log.debug("修改场次相关 mongo time -> " + (System.currentTimeMillis() - time1) + " ms ");
time1 = System.currentTimeMillis();
dataUtils.delOrderIdUserIdRedis(orderTicketRedisIdList, userRedisIdList);
log.debug("修改场次相关 redis time -> " + (System.currentTimeMillis() - time1) + " ms ");
}
}
}
......@@ -313,12 +313,18 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.ORDER_REFUND.concat(id));
}
}
public void delOrderRefundVoByOrderId(List<String> orderIds){
for (String id : orderIds) {
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID.concat(id));
}
}
public void delOrderIdUserIdRedis(List<String> orderTicketIdList,List<String> userIdList){
redisUtil.delList(orderTicketIdList);
redisUtil.delList(userIdList);
}
/**
* Object转BigDecimal类型
*
......
package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.commons.lang.util.CollectionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.HashMap;
@Component
public class QueueUtils {
@Autowired
StringRedisTemplate stringRedisTemplate;
/**
* 发送消息 - REDIS
*
* @param streamKey Redis消费Key
* @param jsonMsg Json字符串
*/
public void sendMsgByRedis(String streamKey, String jsonMsg) {
HashMap<String, String> map = CollectionUtil.mapStringString();
map.put("message", jsonMsg);
stringRedisTemplate.opsForStream().add(StreamRecords.mapBacked(map).withStreamKey(streamKey));
}
}
package com.liquidnet.service.kylin.dao;
import lombok.Data;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: PerformanceOrderListDao
* @Package com.liquidnet.service.kylin.dao
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/6/4 13:31
*/
@Data
public class OrderIdsDao {
String orderTicketsId;
String userId;
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.dao.OrderPushDamaiDto;
import com.liquidnet.service.kylin.dao.OrderScriptDto;
import com.liquidnet.service.kylin.dao.OrderTicketsListDao;
import com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceOrderListAdminDao;
import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import org.apache.ibatis.annotations.Param;
......@@ -38,4 +35,6 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
List<KylinOrderTickets> getCanPlaceOrderList(@Param("performanceId") String performanceId, @Param("mid") int mid, @Param("limitNum") int limitNum);
List<OrderIdsDao> getOrderUserIdByTimesId(@Param("timeId") String timeId);
}
......@@ -112,7 +112,7 @@
kot.user_name,
kot.user_mobile,
kot.order_type,
date_format(kot.created_at, '%Y-%m-%d %H:%i:%s') created_at
date_format(kot.created_at, '%Y-%m-%d %H:%i:%s') created_at
FROM kylin_order_tickets kot
inner join kylin_order_ticket_status kots on kot.order_tickets_id = kots.order_id
inner join kylin_order_ticket_relations kotr on kot.order_tickets_id = kotr.order_id
......@@ -341,4 +341,9 @@
ORDER BY mid ASC
LIMIT ${limitNum}
</select>
<select id="getOrderUserIdByTimesId" resultType="com.liquidnet.service.kylin.dao.OrderIdsDao">
select order_tickets_id,user_id from kylin_order_tickets as kot left join kylin_order_ticket_relations as kotr on kotr.order_id = kot.order_tickets_id
where time_id =#{timeId}
</select>
</mapper>
......@@ -86,7 +86,7 @@ public class KylinCheckUserPartnerServiceImpl extends ServiceImpl<KylinCheckUser
public ResponseDto<String> create(String merchantId, String name, String pwd, String mobile) {
try {
int count = checkUserMapper.selectCount(Wrappers.lambdaQuery(KylinCheckUser.class).eq(KylinCheckUser::getMobile,mobile));
int count = checkUserMapper.selectCount(Wrappers.lambdaQuery(KylinCheckUser.class).eq(KylinCheckUser::getMobile,mobile).eq(KylinCheckUser::getStatus,1));
if(count>0){
return ResponseDto.failure("手机号已存在");
}
......@@ -114,7 +114,7 @@ public class KylinCheckUserPartnerServiceImpl extends ServiceImpl<KylinCheckUser
@Override
public ResponseDto<String> change(String merchantId, String checkUserId, String name, String pwd, String mobile) {
try {
KylinCheckUser kylinCheckUser = checkUserMapper.selectOne(Wrappers.lambdaQuery(KylinCheckUser.class).eq(KylinCheckUser::getMobile,mobile));
KylinCheckUser kylinCheckUser = checkUserMapper.selectOne(Wrappers.lambdaQuery(KylinCheckUser.class).eq(KylinCheckUser::getMobile,mobile).eq(KylinCheckUser::getStatus,1));
if(kylinCheckUser!=null && !kylinCheckUser.getCheckUserId().equals(checkUserId)){
return ResponseDto.failure("手机号已存在");
}
......
......@@ -10,6 +10,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.UserPathDto;
import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinTicketTimeRelation;
......@@ -234,6 +235,16 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
HashMap<String,Object> ticketMap = new HashMap<>();
ticketMap.put("useEnd",kylinTicketTimesPartnerVo.getUseEnd());
ticketMap.put("useStart",kylinTicketTimesPartnerVo.getUseStart());
BasicDBObject ticketObject = ObjectUtil.cloneBasicDBObject().append("$set", ticketMap);
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("timesId").is(createTicketTimesParam.getTicketTimesId())).getQueryObject(),
ticketObject
);
log.info(UserPathDto.setPartnerData("0","changeTimes", createTicketTimesParam,JsonUtils.fromJson(doc.toJson(), KylinTicketTimesPartnerVo.class)));
return ResponseDto.success(JsonUtils.fromJson(doc.toJson(), KylinTicketTimesPartnerVo.class));
} catch (Exception e) {
......
......@@ -423,6 +423,17 @@ public class PerformanceVoTask {
for (int i = 0; i < misVo.getTicketTimes().size(); i++) {
TicketTimesTicketCreatePartnerVo times = misVo.getTicketTimes().get(i);
KylinTicketTimesVo timesVo = mongoVo.getTicketTimeList().get(i);
if(!times.getUseStart().equals(timesVo.getUseStart())){
log.debug("NEED CHANGE TIMES USE_START");
return true;
}
if(!times.getUseEnd().equals(timesVo.getUseEnd())){
log.debug("NEED CHANGE TIMES USE_END");
return true;
}
boolean exists2 = mongoTemplate.exists(Query.query(Criteria.where("status").is(-2).and("timesId").is(times.getTicketTimesId())), KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
if (exists2) {
log.debug("NEED CHANGE NEW TICKET");
......
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