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

Commit 80f82443 authored by GaoHu's avatar GaoHu

bug总代查询异常,退款中数据丢失

parent d119d8ad
......@@ -18,6 +18,7 @@ import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.smile.dto.*;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils;
import com.liquidnet.service.galaxy.utils.ObjectUtil;
import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.kylin.dao.TicketAndStatusDao;
import com.liquidnet.service.kylin.dao.report.KylinPerformancesDto;
......@@ -323,6 +324,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
List<ShowBaseVoDto> showBaseVoList = smileAgentMapper.selectMapByPerId(performancesId);
//根据代理id进行分组
Map<String, List<ShowBaseVoDto>> stringListMap = showBaseVoList.stream().collect(Collectors.groupingBy(ShowBaseVoDto::getAgentId));
List<String> ids = ObjectUtil.cloneLinkedListStr();
//创建list长度定位分组数量
List<UserData> userDataList = new ArrayList<>();
//已打款跳出循环,去打款表中获取打款记录
......@@ -335,6 +337,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
UserData userData = JSON.parseObject(smilePrice.getRecord(), UserData.class);
userData.setPriceStatus(0);
userDataList.add(userData);
ids.add(userData.getUid());
}
}
......@@ -388,10 +391,46 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
userData.setDataAgentVos(userDataAgentVos);
//设置打款状态
userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, showBaseVoDtoList.get(0).getAgentId()));
ids.add(userData.getUid());
userDataList.add(userData);
//缓存用户redis记录 计算
smileRedisUtils.setUserDataByUid(userData, performancesId);
}
//查询所有代理uid
List<SmileUser> smileUsers = smileUserMapper.selectUidByPerId(performancesId);
smileUsers.forEach(smileUser ->{
if (!ids.contains(smileUser.getUid())){
UserData userData = UserData.getNew();
List<UserDataAgentVo> userDataAgentVos = new ArrayList<>();
for (TicketAndStatusDao smileAgent : ticketAndStatusDaoList) {
UserDataAgentVo userDataAgentVo = UserDataAgentVo.getNew();
userDataAgentVo.setTicketsId(smileAgent.getTicketsId());
userDataAgentVo.setTicketName(smileAgent.getTitle());
userDataAgentVo.setNumber(new BigDecimal(0));
userDataAgentVo.setPrice(new BigDecimal(0));
userDataAgentVo.setCommission(new BigDecimal("0.00"));
userDataAgentVos.add(userDataAgentVo);
//是总代 //在原有的数据上新增加该用户下所有普代的提成
Map orgMap = smileAgentMapper.getUserOrgByPerIdAndUidAndAgentMaster(performancesId, smileUser.getUid(), smileAgent.getTicketsId());
if (orgMap != null) {
userDataAgentVo.setCommission((userDataAgentVo.getCommission().add((BigDecimal) orgMap.get("totalPrice"))).setScale(2, RoundingMode.HALF_UP));
}
}
userData.setUid(smileUser.getUid());
userData.setUsername(smileUser.getName());
userData.setCityName(smileUser.getCity());
userData.setType(smileUser.getType());
userData.setDataAgentVos(userDataAgentVos);
//设置打款状态
userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, smileUser.getUid()));
ids.add(userData.getUid());
userDataList.add(userData);
//缓存用户redis记录 计算
smileRedisUtils.setUserDataByUid(userData, performancesId);
}
});
/*List<SmileUser> smileUsers = smileUserMapper.getAllUidByPerId(performancesId);
List<UserData> userDataList = new ArrayList<>(smileUsers.size());
......
......@@ -752,7 +752,7 @@ GROUP BY user_mobile,tickets_id;
LEFT JOIN kylin_order_ticket_status AS kots ON kotr.order_id = kots.order_id
INNER JOIN smile_user AS su ON su.uid = kotr.agent_id
WHERE
kots.STATUS IN ( 1, 6 )
kots.STATUS IN ( 1, 6 ,3 )
) AS kk ON kot.order_tickets_id = kk.order_id
WHERE
kk.agent_id != 0
......
......@@ -41,4 +41,6 @@ public interface SmileUserMapper extends BaseMapper<SmileUser> {
List<SmileUser> pageUser(@Param("offest") int offest,@Param("size") int size);
List<SmileUser> getAllUidByPerId(@Param("performancesId") String performancesId);
List<SmileUser> selectUidByPerId(@Param("performancesId") String performancesId);
}
......@@ -148,7 +148,7 @@
uid
)
AND kotr.performance_id = #{performancesId}
AND kots.`status` IN ( 1, 6 )
AND kots.`status` IN ( 1, 6 ,3)
) AS sukotr ON sukotr.order_id = kot.order_tickets_id
GROUP BY
sukotr.uid,
......
......@@ -167,4 +167,24 @@
GROUP BY
su.uid
</select>
<select id="selectUidByPerId" resultType="com.liquidnet.service.smile.entity.SmileUser">
SELECT su.uid,
su.name,
su.type,
su.city
FROM smile_user AS su
INNER JOIN(
SELECT COALESCE
(kotr.agent_id, kotr.agent_id_master) uid
FROM kylin_order_ticket_relations AS kotr
WHERE kotr.performance_id = #{performancesId}
AND kotr.agent_id != 0
AND COALESCE(kotr.agent_id, kotr.agent_id_master) NOT IN (SELECT sp.uid
FROM smile_price AS sp
WHERE sp.performanceS_id = #{performancesId}
AND sp.record != '')
GROUP BY uid) AS uu ON uu.uid = su.uid
WHERE su.type = 1
</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