Commit ca4e1bdf authored by licc's avatar licc

优化收益明细接口

parent 00c66cd3
......@@ -47,14 +47,6 @@ public interface TradeRecordMapper extends BaseMapper<TradeRecord> {
*/
List<TradeRecord> getByUserId(@Param("userId") String userId);
/**
* 根据用户id、年月 ,获取用户本月交易列表
*
* @param userId 用户id
* @return 用户交易列表
*/
List<TradeRecord> getByUserIdAndTime(@Param("userId") String userId, @Param("yearMonth") Date yearMonth);
/**
* 获取不包括本月的六个月的累计收益
*
......@@ -122,6 +114,28 @@ public interface TradeRecordMapper extends BaseMapper<TradeRecord> {
*/
List<TradeRecord> getList(Map<String, Object> map);
/**
* 获取版本信息
* @return 版本信息
*/
TradeRecord getVersion();
/**
* 根据类型和用户id,获取用户本月该类型最新数据
* @param userId 用户id
* @param tradeType 类型
* @param yearMonth 时间
* @return 交易记录
*/
TradeRecord getByUserIdAndType(@Param("userId") String userId, @Param("tradeType") Integer tradeType,
@Param("yearMonth") Date yearMonth);
/**
* 获取本月返佣列表
* @param userId 用户id
* @param yearMonth 时间
* @return 返佣交易记录列表
*/
List<TradeRecord> getRebateList(@Param("userId") String userId,@Param("yearMonth") Date yearMonth);
}
......@@ -96,8 +96,9 @@
from
<include refid="table"/>
<where>
trade_type !=1
<if test="userId">
user_id=#{userId}
and user_id=#{userId}
</if>
<if test="yearMonth != null">
AND(
......@@ -234,4 +235,35 @@
where trade_type=9
</select>
<select id="getByUserIdAndType" resultType="cn.wisenergy.model.app.TradeRecord">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
and trade_type=#{tradeType}
AND(
YEAR(t.create_time) = YEAR(#{yearMonth})
AND MONTH(t.create_time) = MONTH(#{yearMonth})
</where>
order by create_time desc
limit 1
</select>
<select id="getRebateList" resultType="cn.wisenergy.model.app.TradeRecord">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
status=0
and user_id=#{userId}
and trade_type=1
AND(
YEAR(t.create_time) = YEAR(#{yearMonth})
AND MONTH(t.create_time) = MONTH(#{yearMonth})
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -51,7 +51,7 @@ public class TradeRecord implements Serializable {
private Integer status;
/**
* 定时任务id
* 定时任务id: 1:返佣 2:月度肥料 3:月最大进步奖 4:
*/
@ApiModelProperty(name = "taskId", value = "定时任务id")
private Integer taskId;
......
......@@ -130,16 +130,12 @@ public class WalletServiceImpl implements WalletService {
return R.error("账户信息为空!");
}
//获取本月交易记录
List<TradeRecord> list = tradeRecordMapper.getByUserIdAndTime(userId, date);
if (CollectionUtils.isEmpty(list)) {
return R.ok(new MoneyPackageDetailVo());
}
MoneyPackageDetailVo detailVo = new MoneyPackageDetailVo();
detailVo.setUserId(userId);
detailVo.setTotalIncome(accountInfo.getEarningsTotal());
//获取本月交易记录
List<TradeRecord> list = getTradeRecordList(userId);
List<IncomeDetailVo> incomeDetailVos = new ArrayList<>();
for (TradeRecord tradeRecord : list) {
IncomeDetailVo incomeDetailVo = new IncomeDetailVo();
......@@ -167,4 +163,44 @@ public class WalletServiceImpl implements WalletService {
List<WithdrawalRecordVo> list = tradeRecordMapper.getWithdrawalRecord(userId, date);
return R.ok(list);
}
private List<TradeRecord> getTradeRecordList(String userId) {
List<TradeRecord> list = new ArrayList<>();
Date date = new Date();
//获取返佣、月度肥料、培育奖、最大进步奖、运营中心补贴类型交易记录
//获取返佣本月交易记录
List<TradeRecord> orderRebate = tradeRecordMapper.getRebateList(userId, date);
if (!CollectionUtils.isEmpty(orderRebate)) {
list.addAll(orderRebate);
}
//获取月度肥料本月交易记录
TradeRecord monthFertilizer = tradeRecordMapper.getByUserIdAndType(userId,
TradeRecordEnum.MONTHLY_FERTILIZER.getCode(), date);
if (null != monthFertilizer) {
list.add(monthFertilizer);
}
//获取培育奖本月交易记录
TradeRecord trainRecord = tradeRecordMapper.getByUserIdAndType(userId,
TradeRecordEnum.CULTIVATING_PRIZE.getCode(), date);
if (null != trainRecord) {
list.add(trainRecord);
}
//获取最大进步奖本月交易记录
TradeRecord prizeRecord = tradeRecordMapper.getByUserIdAndType(userId,
TradeRecordEnum.PROGRESS_PRIZE.getCode(), date);
if (null != prizeRecord) {
list.add(prizeRecord);
}
//获取运营中心补贴本月交易记录
TradeRecord centerRecord = tradeRecordMapper.getByUserIdAndType(userId,
TradeRecordEnum.RUN_CENTER_SUBSIDY.getCode(), date);
if (null != centerRecord) {
list.add(centerRecord);
}
return list;
}
}
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