fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java
@@ -88,7 +88,6 @@ @Resource private AdminUserService adminUserService; @Resource private RedisManager redisManager; @@ -97,7 +96,6 @@ @Resource private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService; private final static String TODAY = "1"; private final static String THREE = "2"; @@ -438,8 +436,8 @@ if (extract != null) { UserInfo userInfo = extract.getUserInfo(); Long id = userInfo.getId(); countByUid = hongBaoService.getCountByUid(id); countCancel = hongBaoV2CountService.countNumberByUidAndState(id, HongBaoV2.STATE_SHIXIAO); countByUid = hongBaoV2CountService.countNumberByUid(id); countCancel = hongBaoV2CountService.countNumberByUidAndState(id, HongBaoV2.STATE_SHIXIAO); } extractAuditRecord.setCancelOrderNum((long) countCancel); extractAuditRecord.setOrderNum((long) countByUid); fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5UserRankingsController.java
@@ -18,11 +18,11 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.yeshi.fanli.entity.bus.user.HongBao; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserRankings; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.user.UserRankingsService; import com.yeshi.fanli.vo.order.HongBaoV2VO; import net.sf.json.JSONObject; @@ -35,8 +35,6 @@ @Resource private HongBaoV2CountService hongBaoV2CountService; /** * 返利券排行榜 * @param callback @@ -77,18 +75,18 @@ String defaultDate = sdf.format(calendar.getTime()); //格式化前一天 // 真实用户 List<HongBao> listHongBao = hongBaoService.listShareAndInviteMoney(0, 50, defaultDate); List<HongBaoV2VO> listHongBao = hongBaoV2CountService.listShareAndInviteMoney(0, 50, defaultDate); if (listHongBao != null && listHongBao.size() > 0) { HongBao hongBao = listHongBao.get(0); BigDecimal maxMoney = hongBao.getShareAndInviteMoney(); HongBaoV2VO hongBao = listHongBao.get(0); BigDecimal maxMoney = hongBao.getTotalMoney(); UserRankings userRankings = userRankingsList.get(userRankingsList.size()-1); BigDecimal mminMoney = userRankings.getTradeReward(); // 真实数据大于最低金额 if (maxMoney.compareTo(mminMoney) > 0 ) { for (HongBao hb: listHongBao) { BigDecimal rewardMoney = hb.getShareAndInviteMoney(); for (HongBaoV2VO hb: listHongBao) { BigDecimal rewardMoney = hb.getTotalMoney(); // 奖金高到低排序,不满足结束循环 if (rewardMoney.compareTo(mminMoney) <= 0 ) { fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2CountMapper.java
@@ -30,6 +30,13 @@ Integer countNumberByUidAndState(@Param("uid")Long uid, @Param("state") Integer state); /** * 统计用户总的红包数量 * @param uid * @return */ Long countNumberByUid(@Param("uid")Long uid); /** * 统计总金额 * @param channel 渠道 * @param type fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml
@@ -126,6 +126,12 @@ ORDER BY t.`hb_create_time` </select> <select id="countNumberByUid" resultType="java.lang.Long"> select count(hb_id) from yeshi_ec_hongbao_v2 where hb_uid=#{0} </select> <select id="countHongBaoType" resultType="java.util.HashMap"> SELECT COUNT(t.`hb_id`)AS showValue,<include refid="Column_DateType"/> fanli/src/main/java/com/yeshi/fanli/service/impl/count/HongBaoV2CountServiceImpl.java
@@ -25,6 +25,7 @@ import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.vo.order.HongBaoV2VO; @Service public class HongBaoV2CountServiceImpl implements HongBaoV2CountService { @@ -62,9 +63,8 @@ @Resource private TaoBaoWeiQuanOrderMapper taoBaoWeiQuanOrderMapper; public List<Map<String, Object>> dayFactory(String startTime, String endTime, List<Map<String, Object>> list) throws Exception { public List<Map<String, Object>> dayFactory(String startTime, String endTime, List<Map<String, Object>> list) throws Exception { List<Map<String, Object>> listObject = new ArrayList<Map<String, Object>>(); @@ -169,87 +169,86 @@ return listObject; } @Override public List<Map<String, Object>> countHongBaoMoney(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception { public List<Map<String, Object>> countHongBaoMoney(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception { return hongBaoV2CountMapper.countHongBaoMoney(channel, dateType, state, year, startTime, endTime); } @Override public List<Map<String, Object>> countHongBaoNum(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception { public List<Map<String, Object>> countHongBaoNum(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception { return hongBaoV2CountMapper.countHongBaoNum(channel, dateType, state, year, startTime, endTime); } @Override public List<Map<String, Object>> countHongBaoType(Integer dateType, Integer type, String year, String startTime, String endTime) throws Exception { public List<Map<String, Object>> countHongBaoType(Integer dateType, Integer type, String year, String startTime, String endTime) throws Exception { return hongBaoV2CountMapper.countHongBaoType(dateType, type, year, startTime, endTime); } @Override public List<Map<String, Object>> getProportionByType(Integer dateType, Integer type, String year, String startTime, String endTime) throws Exception { public List<Map<String, Object>> getProportionByType(Integer dateType, Integer type, String year, String startTime, String endTime) throws Exception { List<Map<String, Object>> result_list = null; List<Map<String, Object>> listTotal = hongBaoV2CountMapper.countHongBaoTotalNum(dateType, year, startTime, endTime); List<Map<String, Object>> listTotal = hongBaoV2CountMapper.countHongBaoTotalNum(dateType, year, startTime, endTime); if (listTotal == null || listTotal.size() == 0) { return result_list; } List<Map<String, Object>> type_list = hongBaoV2CountMapper.countHongBaoType(dateType, type, year, startTime, endTime); } List<Map<String, Object>> type_list = hongBaoV2CountMapper.countHongBaoType(dateType, type, year, startTime, endTime); if (type_list == null || type_list.size() == 0) { return null; } switch (dateType){ case 1: // 按天处理 result_list = dayFactory(startTime, endTime, type_list); break; case 2: // 按月处理 result_list = monthFactory(type_list); break; case 3: result_list = yearFactory(type_list); break; default: break; switch (dateType) { case 1: // 按天处理 result_list = dayFactory(startTime, endTime, type_list); break; case 2: // 按月处理 result_list = monthFactory(type_list); break; case 3: result_list = yearFactory(type_list); break; default: break; } for (int i = 0; i < result_list.size(); i++) { float proportion = 0; Map<String, Object> resultMap = result_list.get(i); Object showDate = resultMap.get("showDate"); for (int j = 0; j < listTotal.size(); j++) { Map<String, Object> innerMap = result_list.get(j); Object innerDate = innerMap.get("showDate"); if (innerDate != null && innerDate.toString().equals(showDate.toString())) { Object innerValue = innerMap.get("showValue"); long innerData = Long.parseLong(innerValue.toString()); Object showValue = resultMap.get("showValue"); long showData = Long.parseLong(showValue.toString()); if (showData > 0) { proportion = innerData/showData; proportion = innerData / showData; } break; // 结束内部循环 } } resultMap.put("showValue", proportion); } return result_list; } @@ -257,7 +256,7 @@ public BigDecimal countMoneyByUidAndState(Long uid, Integer state) { return hongBaoV2CountMapper.countMoneyByUidAndState(uid, state); } @Override public Integer countNumberByUidAndState(Long uid, Integer state) { return hongBaoV2CountMapper.countNumberByUidAndState(uid, state); @@ -282,19 +281,22 @@ public Date getLastHongBaoTime(Long uid) { return hongBaoV2CountMapper.getLastHongBaoTime(uid); } @Override public List<Map<String, Object>> count24HOderByChannel(String channel, Integer type, String years, String startTime, String endTime) throws Exception{ public List<Map<String, Object>> count24HOderByChannel(String channel, Integer type, String years, String startTime, String endTime) throws Exception { return hongBaoV2CountMapper.count24HOderByChannel(channel, type, years, startTime, endTime); } @Override public List<HongBaoV2VO> listShareAndInviteMoney(long start, int count, String date) { return hongBaoV2CountMapper.listShareAndInviteMoney(start, count, date); } @Override public Integer countNumberByUid(Long uid) { long count = hongBaoV2CountMapper.countNumberByUid(uid); return (int) count; } } fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserRankingsServiceImpl.java
@@ -30,6 +30,7 @@ import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.user.UserRankingsService; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.vo.order.HongBaoV2VO; @Service public class UserRankingsServiceImpl implements UserRankingsService { fanli/src/main/java/com/yeshi/fanli/service/inter/count/HongBaoV2CountService.java
@@ -7,53 +7,76 @@ import com.yeshi.fanli.vo.order.HongBaoV2VO; public interface HongBaoV2CountService { /** * 统计历史总到账金额 * @param uid * @param state * * @param uid * @param state * @return */ public BigDecimal countMoneyByUidAndState(Long uid, Integer state); /** * 统计历史红包数量 * @param uid * @param state * * @param uid * @param state * @return */ public Integer countNumberByUidAndState(Long uid, Integer state); /** * 统计总金额 * @param channel 渠道 * @param dateType 日期格式 日-1 月-2 年-3 * @param state 状态 * @param years 年份 * @param startTime 开始时间 * @param endTime 结束时间 * 统计用户红包数量 * @param uid * @return */ public List<Map<String, Object>> countHongBaoMoney(String channel, Integer dateType, Integer state, String year, public Integer countNumberByUid(Long uid); /** * 统计总金额 * * @param channel * 渠道 * @param dateType * 日期格式 日-1 月-2 年-3 * @param state * 状态 * @param years * 年份 * @param startTime * 开始时间 * @param endTime * 结束时间 * @return */ public List<Map<String, Object>> countHongBaoMoney(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception; /** * 统计总金额 * @param channel 渠道 * @param dateType 日期格式 日-1 月-2 年-3 * @param state 状态 * @param years 年份 * @param startTime 开始时间 * @param endTime 结束时间 * * @param channel * 渠道 * @param dateType * 日期格式 日-1 月-2 年-3 * @param state * 状态 * @param years * 年份 * @param startTime * 开始时间 * @param endTime * 结束时间 * @return */ public List<Map<String, Object>> countHongBaoNum(String channel, Integer dateType, Integer state, String year, public List<Map<String, Object>> countHongBaoNum(String channel, Integer dateType, Integer state, String year, String startTime, String endTime) throws Exception; /** * 分类型订单数与比例 * * @param dateType * @param type * @param year @@ -67,23 +90,24 @@ /** * 统计提成订单数量 * * @param uid * @return */ public int getTotalTiChengCount(Long uid); /** * 统计未失效订单数量 * * @param uid * @param dateType * @return */ public long countValidNumberByUid(Long uid, Integer dateType); /** * 统计未到账金额 * * @param uid * @param dateType * @return @@ -92,6 +116,7 @@ /** * 最后一次下单时间 * * @param uid * @return */ @@ -102,6 +127,7 @@ /** * 统计所有类型订单数量 * * @param dateType * @param type * @param year @@ -115,11 +141,12 @@ /** * 查询邀请=分享奖金 * * @param start * @param count * @param date * @return */ public List<HongBaoV2VO> listShareAndInviteMoney(long start, int count, String date); } fanli/src/test/java/org/fanli/random/ExtractGift.java
File was deleted