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

Commit cb90bbbc authored by GaoHu's avatar GaoHu

销售数据优化

parent eeebfa64
......@@ -292,7 +292,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
}
//根据演出id查询出所有代理人的uid
/*List<ShowBaseVoDto> showBaseVoList = smileAgentMapper.selectMapByPerId(performancesId);
List<ShowBaseVoDto> showBaseVoList = smileAgentMapper.selectMapByPerId(performancesId);
Map<String, List<ShowBaseVoDto>> stringListMap = showBaseVoList.stream().collect(Collectors.groupingBy(ShowBaseVoDto::getAgentId));
List<UserData> userDataList = new ArrayList<>(stringListMap.size());
for (Map.Entry<String, List<ShowBaseVoDto>> showMap : stringListMap.entrySet()) {
......@@ -306,7 +306,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
ShowBaseVoDto showBaseVoDto = tidMapByUid.get(smileAgent.getTicketsId()).get(0);
if (!StringUtils.isEmpty(stringListMap)){
userDataAgentVo.setTicketsId(showBaseVoDto.getTid());
userDataAgentVo.setTicketName(showBaseVoDto.getTitle());
userDataAgentVo.setTicketName(smileAgent.getTitle());
userDataAgentVo.setNumber(showBaseVoDto.getNumber());
userDataAgentVo.setPrice(showBaseVoDto.getPrice());
userDataAgentVo.setAgent(showBaseVoDto.getUse());
......@@ -342,15 +342,15 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
//设置打款状态
userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, showBaseVoDtoList.get(0).getAgentId()));
userDataList.add(userData);
}*/
}
List<SmileUser> smileUsers = smileUserMapper.getAllUidByPerId(performancesId);
/*List<SmileUser> smileUsers = smileUserMapper.getAllUidByPerId(performancesId);
List<UserData> userDataList = new ArrayList<>(smileUsers.size());
for (SmileUser smileUser : smileUsers) {
UserData userData = getUserData(performancesId, smileUser, tidMap, ticketAndStatusDaoList);
userDataList.add(userData);
}
}*/
saleDataVo.setUserDataList(userDataList);
saleDataVo.setShowAgentVoList(showAgentVoList);
return saleDataVo;
......
......@@ -31,10 +31,6 @@ public class ShowBaseVoDto implements Serializable, Cloneable{
*/
private String tid;
/**
* 票提名称
*/
private String title;
/**
* 单价
......
......@@ -122,62 +122,39 @@
</select>
<select id="selectMapByPerId" resultType="com.liquidnet.service.smile.entity.dto.ShowBaseVoDto">
SELECT kk.name,
kk.city,
kk.agentId,
kk.tid,
kk.title,
kk.price,
kk.USE,
kk.type,
SUM(kk.number - kk.refund_number) number,
SUM(
kk.price * kk.`use` * (kk.number - kk.refund_number)) totalPrice
FROM (
SELECT kote.mid,
kote.order_id,
kote.ticket_id tid,
kt.title,
kote.user_id,
kote.is_payment,
kote.STATUS,
kot.number,
kot.refund_number,
kot.price,
kotr.agent_id agentId,
kotr.agent_id_master,
kotr.agent_distributions `use`,
kotr.agent_distributions_master,
su.type,
su.name,
su.city
FROM kylin_order_ticket_entities kote
LEFT JOIN kylin_order_tickets kot ON kote.order_id = kot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations kotr ON kotr.order_id = kot.order_tickets_id
LEFT JOIN kylin_order_ticket_status kots ON kots.order_id = kotr.order_id
LEFT JOIN smile_user su ON su.uid = kotr.agent_id
LEFT JOIN kylin_tickets kt ON kote.ticket_id = kt.tickets_id
WHERE kote.performance_id = #{performancesId}
AND kote.ticket_id IN (SELECT sa.ticket_id
FROM smile_agent sa
WHERE sa.del_tag = 0 AND sa.performance_id = #{performancesId})
AND kotr.agent_id IN (
SELECT su.uid
FROM smile_user AS su
INNER JOIN (SELECT mid, agent_id, agent_id_master
FROM kylin_order_ticket_relations
WHERE performance_id = #{performancesId}
AND agent_id != 0
GROUP BY agent_id) u ON u.agent_id = su.uid
OR u.agent_id_master = su.uid
GROUP BY su.uid
)
AND kotr.agent_status = 1
AND kots.pay_status = 1
GROUP BY kote.order_id
) kk
GROUP BY agentId,
tid
SELECT
sukotr.`name`,
sukotr.city,
sukotr.uid AS agent_id,
sukotr.ticket_id AS tid,
sukotr.type,
kot.price,
sukotr.agent_distributions AS `use`,
SUM( kot.number - kot.refund_number ) number,
SUM(
kot.price * sukotr.agent_distributions * ( kot.number - kot.refund_number )) totalPrice
FROM
kylin_order_tickets AS kot
INNER JOIN (
SELECT
su.uid,
su.`name`,
su.city,
su.type,
kotr.order_id,
kotr.performance_id,
kotr.ticket_id,
kotr.agent_distributions
FROM
smile_user AS su
INNER JOIN kylin_order_ticket_relations AS kotr ON kotr.agent_id = su.uid
WHERE
kotr.performance_id = #{performancesId}
) AS sukotr ON sukotr.order_id = kot.order_tickets_id
INNER JOIN kylin_order_ticket_entities AS kote ON kote.order_id = kot.order_tickets_id
GROUP BY
sukotr.uid,
sukotr.ticket_id
</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