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

Commit b810f188 authored by GaoHu's avatar GaoHu

Merge branch 'dev-smile' into dev_kid

# Conflicts:
#	liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/smile/service/impl/SmileShowServiceImpl.java
parents 5d72c6f8 c59a44df
...@@ -41,7 +41,7 @@ public class ShowTicketVo { ...@@ -41,7 +41,7 @@ public class ShowTicketVo {
/** /**
* 代理销售数量 总代销售数量+普代销售数量 * 代理销售数量 总代销售数量+普代销售数量
*/ */
private Integer agentSaleNum; private BigDecimal agentSaleNum;
/** /**
* 总销售金额 总代销售金额+普代销售金额 * 总销售金额 总代销售金额+普代销售金额
......
...@@ -37,6 +37,14 @@ public class UserData { ...@@ -37,6 +37,14 @@ public class UserData {
@ApiModelProperty(value = "身份 1。总代 2.普代", example = "") @ApiModelProperty(value = "身份 1。总代 2.普代", example = "")
private Integer type; private Integer type;
/**
* 用户代理票信息
*/
@ApiModelProperty(value = "用户代理票信息", example = "")
List<UserDataAgentVo> dataAgentVos;
/** /**
* 打款状态 * 打款状态
*/ */
......
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UserDataAgentVo {
/**
* 票提id
*/
@ApiModelProperty(value = "票提id", example = "")
private String ticketsId;
/**
* 票名称
*/
@ApiModelProperty(value = "票名称", example = "")
private String ticketName;
/**
* 数量
*/
@ApiModelProperty(value = "售出张数", example = "")
private BigDecimal number;
/**
* 单价
*/
@ApiModelProperty(value = "单价", example = "")
private BigDecimal price;
/**
* 票提
*/
@ApiModelProperty(value = "票提", example = "")
private BigDecimal agent;
/**
* 提成
*/
@ApiModelProperty(value = "提成", example = "")
private BigDecimal commission;
/**
* 打款状态
*/
@ApiModelProperty(value = "打款状态", example = "")
private String status;
}
...@@ -12,7 +12,6 @@ import com.liquidnet.client.admin.zhengzai.smile.dto.*; ...@@ -12,7 +12,6 @@ import com.liquidnet.client.admin.zhengzai.smile.dto.*;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils; import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils;
import com.liquidnet.service.goblin.dto.vo.SmileSellDataVO; import com.liquidnet.service.goblin.dto.vo.SmileSellDataVO;
import com.liquidnet.service.kylin.dao.KylinOrderTicketAndAgentVo;
import com.liquidnet.service.kylin.dao.TicketAndStatusDao; import com.liquidnet.service.kylin.dao.TicketAndStatusDao;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus; import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
...@@ -203,7 +202,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -203,7 +202,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
LambdaQueryWrapper<KylinPerformances> queryWrapper = Wrappers.lambdaQuery(KylinPerformances.class); LambdaQueryWrapper<KylinPerformances> queryWrapper = Wrappers.lambdaQuery(KylinPerformances.class);
queryWrapper.eq(KylinPerformances::getPerformancesId, smilePriceParam.getPerformancesId()); queryWrapper.eq(KylinPerformances::getPerformancesId, smilePriceParam.getPerformancesId());
LocalDateTime timeEnd = kylinPerformancesMapper.selectOne(queryWrapper).getTimeEnd(); LocalDateTime timeEnd = kylinPerformancesMapper.selectOne(queryWrapper).getTimeEnd();
if (timeEnd.isAfter(LocalDateTime.now())) { if (timeEnd.isBefore(LocalDateTime.now())) {
return AjaxResult.warn("演出尚未结束不能进行打款"); return AjaxResult.warn("演出尚未结束不能进行打款");
} }
return null; return null;
...@@ -215,12 +214,9 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -215,12 +214,9 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
ShowVoById showVoById = new ShowVoById(); ShowVoById showVoById = new ShowVoById();
//根据演出ID查询演出数据演出数据 //根据演出ID查询演出数据演出数据
KylinPerformanceVo kylinPerformanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); KylinPerformanceVo kylinPerformanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
try { if (kylinPerformanceVo == null) {
assert kylinPerformanceVo != null; return AjaxResult.warn("演出未找到");
} catch (Exception e) {
return null;
} }
//票提集合 根据演出id查询票提id //票提集合 根据演出id查询票提id
List<ShowAgentVo> showAgentVoList = new ArrayList<>(); List<ShowAgentVo> showAgentVoList = new ArrayList<>();
List<ShowTicketVo> showTicketVoList = new ArrayList<>(); List<ShowTicketVo> showTicketVoList = new ArrayList<>();
...@@ -233,7 +229,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -233,7 +229,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
if (ticketsIdList.size() > 0) { if (ticketsIdList.size() > 0) {
//根据票提IDs查询票信息 //根据票提IDs查询票信息
List<TicketAndStatusDao> ticketAndStatusDaoList = kylinTicketsMapper.selectTicketsByIds(ticketsIdList); List<TicketAndStatusDao> ticketAndStatusDaoList = kylinTicketsMapper.selectTicketsByIds(ticketsIdList);
if (ticketAndStatusDaoList != null && ticketAndStatusDaoList.size() > 0) {
for (TicketAndStatusDao ticketAndStatusDao : ticketAndStatusDaoList) { for (TicketAndStatusDao ticketAndStatusDao : ticketAndStatusDaoList) {
SmileAgent smileAgent = map.get(ticketAndStatusDao.getTicketsId()); SmileAgent smileAgent = map.get(ticketAndStatusDao.getTicketsId());
...@@ -248,7 +244,14 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -248,7 +244,14 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
showTicketVo.setUseStart(ticketAndStatusDao.getUseStart()); showTicketVo.setUseStart(ticketAndStatusDao.getUseStart());
showTicketVo.setTotalGeneral(ticketAndStatusDao.getTotalGeneral()); showTicketVo.setTotalGeneral(ticketAndStatusDao.getTotalGeneral());
//根据演出id查询处所有订单 //根据演出id和票提id查询出一共卖出票的数量
Map numAndPrice = kylinOrderTicketsMapper.selectNumAndPrice(performancesId, ticketAndStatusDao.getTicketsId());
//销售总数
showTicketVo.setAgentSaleNum(numAndPrice != null ? (BigDecimal) numAndPrice.get("agentSaleNum") : BigDecimal.valueOf(0));
//销售金额
showTicketVo.setTotalPrice(numAndPrice != null ? (BigDecimal) numAndPrice.get("totalPrice") : BigDecimal.valueOf(0));
/*//根据演出id查询处所有订单
List<KylinOrderTicketAndAgentVo> kylinOrderTicketsList = kylinOrderTicketsMapper.selectListByPerformanceId(performancesId, ticketAndStatusDao.getTicketsId()); List<KylinOrderTicketAndAgentVo> kylinOrderTicketsList = kylinOrderTicketsMapper.selectListByPerformanceId(performancesId, ticketAndStatusDao.getTicketsId());
//代理销售数量 //代理销售数量
int agentSaleNum = 0; int agentSaleNum = 0;
...@@ -267,21 +270,16 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -267,21 +270,16 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
} }
showTicketVo.setAgentSaleNum(agentSaleNum); showTicketVo.setAgentSaleNum(agentSaleNum);
showTicketVo.setTotalPrice(totalPrice); showTicketVo.setTotalPrice(totalPrice);*/
showAgentVoList.add(showAgentVo); showAgentVoList.add(showAgentVo);
showTicketVoList.add(showTicketVo); showTicketVoList.add(showTicketVo);
} }
} else {
return AjaxResult.warn("查询票提信息失败");
}
} }
/*ShowTicketVo showTicketVo = new ShowTicketVo();
//代理销售总张数
showTicketVo.setTitle("总计");
//总
showTicketVo.setAgentSaleNum((int) smileRedisUtils.get(SmileRedisConst.SELL_SHOW_POEN.concat(performancesId)));
showTicketVo.setTotalPrice((BigDecimal) smileRedisUtils.get(SmileRedisConst.SELL_SHOW_TOTAL_SALE_PRICE.concat(performancesId)));
showTicketVoList.add(showTicketVo);*/
getShowVo(showVoById, kylinPerformanceVo, showAgentVoList, showTicketVoList); getShowVo(showVoById, kylinPerformanceVo, showAgentVoList, showTicketVoList);
...@@ -306,8 +304,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -306,8 +304,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
@Override @Override
public AjaxResult saleData(String performancesId) { public AjaxResult saleData(String performancesId) {
if (!StringUtils.isEmpty(performancesId)) {
SaleDataVo saleDataVo = new SaleDataVo(); SaleDataVo saleDataVo = new SaleDataVo();
//演出id //演出id
saleDataVo.setPerformancesId(performancesId); saleDataVo.setPerformancesId(performancesId);
...@@ -319,13 +315,16 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -319,13 +315,16 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
} }
//演出名称 //演出名称
KylinPerformanceVo kylinPerformanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); KylinPerformanceVo kylinPerformanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
assert kylinPerformanceVo != null; if (kylinPerformanceVo == null) {
return AjaxResult.warn("演出未找到");
}
saleDataVo.setTitle(kylinPerformanceVo.getTitle()); saleDataVo.setTitle(kylinPerformanceVo.getTitle());
//map 票提id,票提信息
Map<String, SmileAgent> map = getSmileAgentMap(smileAgents); Map<String, SmileAgent> map = getSmileAgentMap(smileAgents);
List<String> ticketsIdList = smileAgents.stream().map(SmileAgent::getTicketId).collect(Collectors.toList()); List<String> ticketsIdList = smileAgents.stream().map(SmileAgent::getTicketId).collect(Collectors.toList());
List<ShowAgentVo> showAgentVoList = new ArrayList<>(); List<ShowAgentVo> showAgentVoList = new ArrayList<>();
//根据票提IDs查询票信息 //根据票提IDs查询票信息
List<TicketAndStatusDao> ticketAndStatusDaoList = kylinTicketsMapper.selectTicketsByIds(ticketsIdList); List<TicketAndStatusDao> ticketAndStatusDaoList = kylinTicketsMapper.selectTicketsByIds(ticketsIdList);
for (TicketAndStatusDao ticketAndStatusDao : ticketAndStatusDaoList) { for (TicketAndStatusDao ticketAndStatusDao : ticketAndStatusDaoList) {
...@@ -333,19 +332,22 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -333,19 +332,22 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
ShowAgentVo showAgentVo = getShowAgentVo(performancesId, ticketAndStatusDao, smileAgent); ShowAgentVo showAgentVo = getShowAgentVo(performancesId, ticketAndStatusDao, smileAgent);
showAgentVoList.add(showAgentVo); showAgentVoList.add(showAgentVo);
} }
//带有票提名称的map 票提id,票提信息
Map<String, ShowAgentVo> showAgentVoMap = new HashMap<>(showAgentVoList.size());
showAgentVoList.forEach(showAgentVo -> showAgentVoMap.put(showAgentVo.getTicketId(), showAgentVo));
//根据演出id查询出所有代理人的uid //根据演出id查询出所有代理人的uid
List<SmileUser> smileUsers = smileUserMapper.getAllUidByPerId(performancesId); List<SmileUser> smileUsers = smileUserMapper.getAllUidByPerId(performancesId);
List<UserData> userDataList = new ArrayList<>(smileUsers.size()); List<UserData> userDataList = new ArrayList<>(smileUsers.size());
for (SmileUser smileUser : smileUsers) { for (SmileUser smileUser : smileUsers) {
UserData userData = getUserData(performancesId, smileUser); UserData userData = getUserData(performancesId, smileUser, showAgentVoMap);
userDataList.add(userData); userDataList.add(userData);
} }
saleDataVo.setUserDataList(userDataList); saleDataVo.setUserDataList(userDataList);
saleDataVo.setShowAgentVoList(showAgentVoList); saleDataVo.setShowAgentVoList(showAgentVoList);
return AjaxResult.success(saleDataVo); return AjaxResult.success(saleDataVo);
} }
return AjaxResult.warn("请重试");
}
@Override @Override
public AjaxResult allPrice(SmilePriceParam smilePriceParam) { public AjaxResult allPrice(SmilePriceParam smilePriceParam) {
...@@ -369,10 +371,25 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -369,10 +371,25 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
return AjaxResult.success(); return AjaxResult.success();
} }
private UserData getUserData(String performancesId, SmileUser smileUser) { private UserData getUserData(String performancesId, SmileUser smileUser, Map<String, ShowAgentVo> showAgentVoMap) {
UserData userData = new UserData(); UserData userData = new UserData();
//个人用户的演出数据详情 //个人用户的演出数据详情
//获取 该人 该演出 的所有订单 //获取 该人 该演出 的所有订单
List<Map> userSellOneDate = orderTicketsMapper.getUserSellOneDate(smileUser.getUid(), performancesId);
/*//票务类型
userData.setTicketName(a1.get("title") == null ? "" : a1.get("title").toString());
//数量
userData.setTicketNumber(a1.get("number") == null ? 0 : Integer.parseInt(a1.get("number").toString()));
//总金额
userData.setSellPrice(new BigDecimal(a1.get("price") == null ? "0" : a1.get("price").toString()));
//票提
userData.setPiaoTi(new BigDecimal(a1.get("paioTi") == null ? "" : a1.get("paioTi").toString()));
//佣金
userData.setCommission(new BigDecimal(a1.get("commiss") == null ? "0" : a1.get("commiss").toString()));
userData.setTicketId(a1.get("ticketId") == null ? "" : a1.get("ticketId").toString());*/
SmileSellDataVO smileSellDataVO = smileRedisUtils.getSellDataVO(smileUser.getUid(), performancesId); SmileSellDataVO smileSellDataVO = smileRedisUtils.getSellDataVO(smileUser.getUid(), performancesId);
BeanUtils.copyProperties(smileSellDataVO, userData); BeanUtils.copyProperties(smileSellDataVO, userData);
userData.setUid(smileUser.getUid()); userData.setUid(smileUser.getUid());
......
...@@ -58,7 +58,7 @@ public class KylinOrderTicketAndAgentVo { ...@@ -58,7 +58,7 @@ public class KylinOrderTicketAndAgentVo {
/** /**
* 总代id * 总代id
*/ */
private BigDecimal agentIdMaster; private String agentIdMaster;
/** /**
* 总代抽成票提 * 总代抽成票提
......
...@@ -59,4 +59,6 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> { ...@@ -59,4 +59,6 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
Map selectByPerformanceId(@Param("performancesId") String performancesId); Map selectByPerformanceId(@Param("performancesId") String performancesId);
List<String> getAgentIdListByPerId(@Param("performancesId") String performancesId); List<String> getAgentIdListByPerId(@Param("performancesId") String performancesId);
Map selectNumAndPrice(@Param("performancesId") String performancesId,@Param("ticketsId") String ticketsId);
} }
...@@ -564,4 +564,30 @@ ...@@ -564,4 +564,30 @@
GROUP BY GROUP BY
agent_id; agent_id;
</select> </select>
<select id="selectNumAndPrice" resultType="java.util.Map">
SELECT
SUM(kot.number-kot.refund_number) agentSaleNum,
SUM((kot.number-kot.refund_number) * kt.price) totalPrice
FROM
kylin_order_tickets AS kot
LEFT JOIN (
SELECT
kotr.order_id,
kotr.agent_id,
kotr.performance_id,
kotr.agent_distributions,
kotr.agent_id_master,
kotr.agent_distributions_master,
kotr.ticket_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
LEFT JOIN kylin_tickets AS kt ON kt.tickets_id = kk.ticket_id
WHERE
kk.agent_id != 0
AND kk.performance_id = #{performancesId}
AND kk.ticket_id = #{ticketsId}
</select>
</mapper> </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