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

Commit cb90bbbc authored by GaoHu's avatar GaoHu

销售数据优化

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