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

Commit 0717069e authored by GaoHu's avatar GaoHu

exit

parent 51fbad48
......@@ -2,16 +2,14 @@ package com.liquidnet.client.admin.web.controller.zhengzai.smile;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -34,4 +32,21 @@ public class SmileShowController {
return AjaxResult.success(list);
}
@GetMapping("/getShowById")
@ApiOperation("根据演出id查询演出详情")
public AjaxResult getShowById(String performancesId){
return smileShowService.getShowById(performancesId);
}
@PostMapping("/sort")
@ApiOperation("演出排序")
public AjaxResult sort(ShowSort showSort){
return smileShowService.sort(showSort);
}
@PostMapping("/make")
@ApiOperation("打款")
public AjaxResult make(String performancesId){
return smileShowService.make(performancesId);
}
}
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @author TT
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ShowSort {
/**
* 排序
*/
private String sort;
/**
* 演出id
*/
@ApiModelProperty(value = "演出ID", example = "")
@NotNull(message = "演出ID不能为空")
private String performancesId;
}
package com.liquidnet.client.admin.zhengzai.smile.dto;
import lombok.Builder;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.math.BigInteger;
/**
* @author TT
*/
@Data
@Builder
public class ShowVo {
/**
......@@ -31,7 +29,7 @@ public class ShowVo {
/**
* 总销售数量 -张 saleGeneral
*/
private String open;
private BigInteger open;
/**
* 总销售金额 totalSalePrice
......@@ -46,5 +44,10 @@ public class ShowVo {
/**
* 演出结束时间
*/
private LocalDateTime timeEnd;
private String timeEnd;
/**
* 演出结束时间
*/
private Integer orderNum;
}
......@@ -2,6 +2,8 @@ package com.liquidnet.client.admin.zhengzai.smile.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
import com.liquidnet.service.smile.entity.SmileSchool;
......@@ -20,4 +22,9 @@ public interface ISmileShowService extends IService<SmileSchool> {
List<ShowVo> listShow(SmileShowParam smileShowParam);
AjaxResult sort(ShowSort showSort);
AjaxResult make(String performancesId);
AjaxResult getShowById(String performancesId);
}
......@@ -2,20 +2,35 @@ package com.liquidnet.client.admin.zhengzai.smile.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils;
import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.kylin.dao.PerformanceOrderStatisticalDao;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketRelationsMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import com.liquidnet.service.kylin.mapper.KylinPerformancesMapper;
import com.liquidnet.service.kylin.mapper.KylinTicketStatusMapper;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import com.liquidnet.service.smile.entity.SmileSchool;
import com.liquidnet.service.smile.mapper.SmileSchoolMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
......@@ -38,12 +53,123 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
@Autowired
private KylinPerformancesMapper performancesMapper;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
IKylinPerformancesAdminService kylinPerformancesService;
@Autowired
KylinPerformancesMapper kylinPerformancesMapper;
@Autowired
private KylinOrderTicketRelationsMapper kylinOrderTicketRelationsMapper;
@Autowired
KylinOrderTicketsMapper kylinOrderTicketsMapper;
@Override
public List<ShowVo> listShow(SmileShowParam smileShowParam) {
PageInfo<KylinPerformances> pageInfo;
List<KylinPerformances> kylinPerformancesList = kylinPerformancesMapper.selectPerIdByAgent();
List<ShowVo> collect = kylinPerformancesList.stream().map(kylinPerformances -> {
ShowVo vo = new ShowVo();
vo.setPerformancesId(kylinPerformances.getPerformancesId());
vo.setTitle(kylinPerformances.getTitle());
//根据演出id查询订单 查询订单
List<KylinOrderTickets> kylinOrderTicketsList = kylinOrderTicketsMapper.selectListByPerformanceId(kylinPerformances.getPerformancesId());
//根据演出id查询查询销售数量
vo.setOpen(kylinOrderTicketRelationsMapper.concatByAgent(kylinPerformances.getPerformancesId()));
//总销售金额
//订单
//根据演出id查询销售代理
vo.setOpen(kylinOrderTicketRelationsMapper.concatByAgentDed(kylinPerformances.getPerformancesId()));
return vo;
}).collect(Collectors.toList());
//获取演出排列顺序 演出排序ID
List<Object> list = smileRedisUtils.lGet(SmileRedisConst.SMILE_SHOW, 0, -1);
//从redis 中查出开启代理的演出
List<Object> objects = smileRedisUtils.lGet(SmileRedisConst.SMILE_SHOW.concat(":performancesId"), 0, -1);
List<Object> performancesIds = smileRedisUtils.lGet(SmileRedisConst.SMILE_SHOW.concat(":performancesId"), 0, -1);
//根据演出ID获取演出信息
performancesIds.stream().map(performancesId -> {
String id = performancesId.toString();
//根据performancesId查询演出详情
KylinPerformanceVo kylinPerformanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(id)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
//查询销售统计
List<PerformanceOrderStatisticalDao> result = kylinPerformancesService.getPerformanceOrderStatisticalList(id);
//返回演出列表
ShowVo showVo = new ShowVo();
assert kylinPerformanceVo != null;
showVo.setPerformancesId(id);
showVo.setTitle(kylinPerformanceVo.getTitle());
showVo.setTimeEnd(kylinPerformanceVo.getTimeEnd());
showVo.setCityName(kylinPerformanceVo.getCityName());
//演出顺序
showVo.setOrderNum(null);
//获取打款状态
if (result.size() >= 2) {
PerformanceOrderStatisticalDao resdao = result.get(result.size() - 1);
showVo.setTotalAmount(resdao.getTotalSalePrice());
}
return showVo;
}).collect(Collectors.toList());
return null;
}
@Override
public AjaxResult sort(ShowSort showSort) {
//查询数据库是否又该顺序的演出
kylinPerformancesMapper.updateComment(showSort.getSort());
kylinPerformancesMapper.updateCommentByPer(showSort.getSort(),showSort.getPerformancesId());
//获取排序演出id
List<String> collect = kylinPerformancesMapper.selectByComment().stream().map(KylinPerformances::getPerformancesId).collect(Collectors.toList());
String perId = StringUtils.strip(collect.toString(),"[]");
smileRedisUtils.set(SmileRedisConst.SMILE_SHOW, perId);
return AjaxResult.success();
}
@Override
public AjaxResult make(String performancesId) {
if (!smileRedisUtils.hasKey(SmileRedisConst.SELL_SHOW_PAYMENT.concat(performancesId))){
smileRedisUtils.set(SmileRedisConst.SELL_SHOW_PAYMENT.concat(performancesId),1);
}else {
smileRedisUtils.del(SmileRedisConst.SELL_SHOW_PAYMENT.concat(performancesId));
}
return AjaxResult.success();
}
@Override
public AjaxResult getShowById(String performancesId) {
return null;
}
}
......@@ -51,4 +51,8 @@ public class SmileRedisUtils {
public long lRemove(String key, long count, Object value){
return redisDataSourceUtil.getRedisSweetUtil().lRemove(key, count, value);
}
public boolean hasKey(String key) {
return redisDataSourceUtil.getRedisSweetUtil().hasKey(key);
}
}
package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.KylinOrderTicketRelations;
import org.apache.ibatis.annotations.Param;
import java.math.BigInteger;
/**
* <p>
......@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface KylinOrderTicketRelationsMapper extends BaseMapper<KylinOrderTicketRelations> {
BigInteger concatByAgent(@Param("performancesId") String performancesId);
BigInteger concatByAgentDed(@Param("performancesId") String performancesId);
}
......@@ -50,4 +50,6 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
Map getUserSellAllDate(@Param("agentId")String agentId,@Param("performanceId")String performanceId);
List<Map> getUserSellDetail(@Param("agentId")String agentId,@Param("ticketId")String ticketId);
List<Map> getUserPerformance(@Param("agentId")String userId);
List<KylinOrderTickets> selectListByPerformanceId(@Param("performancesId") String performancesId);
}
......@@ -60,4 +60,12 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
PerformanceSimpleAllDao getPerformanceSimpleByTimesId(String timesId);
PerformanceSimpleAllDao getPerformanceSimpleByTicketId(String ticketId);
void updateComment(@Param("sort") String sort);
void updateCommentByPer(@Param("sort") String sort,@Param("performancesId") String performancesId);
List<KylinPerformances> selectByComment();
List<KylinPerformances> selectPerIdByAgent();
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.KylinOrderTicketRelationsMapper">
<select id="concatByAgent" resultType="BigInteger">
SELECT count(*) FROM kylin_order_ticket_relations WHERE agent_id != 0 AND performance_id = #{performancesId};
</select>
<select id="concatByAgentDed" resultType="BigInteger">
SELECT count(*) FROM kylin_order_ticket_relations WHERE agent_id != 0 AND performance_id = #{performancesId} group by agent_id;
</select>
</mapper>
......@@ -449,4 +449,28 @@
inner join kylin_order_ticket_entities as kote on kote.order_id = kot.order_tickets_id
where kots.status in (1) and kot.user_id = #{uid} ;
</select>
<select id="selectListByPerformanceId" resultType="com.liquidnet.service.kylin.entity.KylinOrderTickets">
SELECT
kot.order_tickets_id,
kot.user_id,
kot.performance_title,
kot.number,
kot.price,
kot.refund_number,
kot.price_refund
FROM
kylin_order_tickets AS kot
LEFT JOIN (
SELECT
kotr.order_id,
kotr.agent_id,
kotr.performance_id
FROM
kylin_order_ticket_relations AS kotr
LEFT JOIN kylin_order_ticket_status AS kots ON kotr.order_id = kots.order_id
) AS kk ON kot.order_tickets_id = kk.order_id
WHERE
kk.agent_id != 0 AND kk.performance_id = #{performancesId};
</select>
</mapper>
......@@ -645,4 +645,29 @@ GROUP BY user_mobile;
from kylin_performances kp
where kp.performances_id = #{performancesId}
</select>
<update id="updateComment" >
update kylin_performances set `comment` = null where `comment` = #{sort};
</update>
<update id="updateCommentByPer" >
update kylin_performances set `comment` = #{sort} where `performances_id` = #{performancesId};
</update>
<select id="selectByComment" resultType="com.liquidnet.service.kylin.entity.KylinPerformances">
select performances_id,comment from kylin_performances where `comment` != "" ORDER BY `comment`;
</select>
<select id="selectPerIdByAgent" resultType="com.liquidnet.service.kylin.entity.KylinPerformances">
select kp.performances_id,kp.title,kp.city_name,kp.time_end,kp.comment
from kylin_performances as kp
left join kylin_ticket_time_relation as kttr on kttr.performance_id = kp.performances_id
left join kylin_ticket_relations as ktr on ktr.times_id = kttr.times_id
inner join kylin_ticket_status as kts on kts.ticket_id = ktr.ticket_id
where kts.is_agent = 1
group by kp.performances_id
order by kp.comment, kp.time_start asc
</select>
</mapper>
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