添加英语2区分区,日流水金币发放&h后台
This commit is contained in:
@@ -7,6 +7,7 @@ import com.accompany.core.model.PartitionInfo;
|
||||
import com.accompany.core.service.partition.PartitionInfoService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -27,12 +28,18 @@ public class PartitionInfoAdminController extends BaseController {
|
||||
|
||||
@ApiOperation("查询分区")
|
||||
@GetMapping(value="/listPartitionInfo")
|
||||
public BusiResult<List<PartitionInfo>> listPartitionInfo(){
|
||||
public BusiResult<List<PartitionInfo>> listPartitionInfo(Boolean containAll){
|
||||
int adminId = getAdminId();
|
||||
List<Integer> partitionIds = adminPartitionService.getAllPartitionId(adminId);
|
||||
List<PartitionInfo> list = service.listAll().stream()
|
||||
.filter(partitionInfo -> partitionIds.contains(partitionInfo.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if (containAll != null && containAll && CollectionUtils.isNotEmpty(list)) {
|
||||
PartitionInfo partitionInfo = new PartitionInfo();
|
||||
partitionInfo.setId(0);
|
||||
partitionInfo.setDesc("全部");
|
||||
list.add(0, partitionInfo);
|
||||
}
|
||||
return new BusiResult<>(list);
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,43 @@
|
||||
package com.accompany.admin.controller.room;
|
||||
|
||||
import com.accompany.admin.controller.BaseController;
|
||||
import com.accompany.business.vo.room.RoomDayDiamondRewardRecordVo;
|
||||
import com.accompany.business.param.BasePageParams;
|
||||
import com.accompany.business.service.room.RoomDayDiamondRewardRecordService;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.result.PageResult;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/admin/roomDayDiamond")
|
||||
public class RoomDayDiamondRewardController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private RoomDayDiamondRewardRecordService roomDayDiamondRewardRecordService;
|
||||
|
||||
@ApiOperation(value = "每日钻石流水列表", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "regionId", value = "国家id", required = false, dataType = "int"),
|
||||
@ApiImplicitParam(name = "erbanNo", value = "用户id", required = false, dataType = "long"),
|
||||
@ApiImplicitParam(name = "status", value = "发放状态:-1:全部,0:未发放,1已经发放", required = false, dataType = "long"),
|
||||
})
|
||||
@GetMapping("/list")
|
||||
public PageResult<RoomDayDiamondRewardRecordVo> list(Integer regionId, Long erbanNo, Integer status, BasePageParams pageParams) {
|
||||
|
||||
return roomDayDiamondRewardRecordService.listRecord(pageParams.getPartitionId(), regionId, erbanNo, pageParams.getStartTime(),
|
||||
pageParams.getEndTime(), status, pageParams.getPageNo(), pageParams.getPageSize());
|
||||
}
|
||||
|
||||
@ApiOperation(value = "每日钻石流水列表-发放", httpMethod = "POST")
|
||||
@PostMapping("/send")
|
||||
public BusiResult send(Long id) {
|
||||
return roomDayDiamondRewardRecordService.send(id, getAdminId());
|
||||
}
|
||||
}
|
@@ -228,6 +228,7 @@ public enum BillObjTypeEnum {
|
||||
|
||||
BRAVO_INCOME_ALLOT( 152, "Bravo礼物价值分成", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.SEND_GIFT),
|
||||
BRAVO_GIFT_DIAMOND( 153, "Bravo礼物金币奖返点", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.SEND_GIFT),
|
||||
ROOM_DAY_DIAMOND_REWARD(154, "日房间奖励", BillTypeEnum.IN, CurrencyEnum.DIAMOND, BillDomainTypeEnum.ACTIVITY),
|
||||
;
|
||||
|
||||
BillObjTypeEnum(int value, String desc, BillTypeEnum type, CurrencyEnum currency, BillDomainTypeEnum domain) {
|
||||
|
@@ -290,6 +290,7 @@ public enum I18nAlertEnum {
|
||||
SHARE_TEXT("快来加入【{0}】!加入我们一起聊天吧!拼接对应的链接:{1}"),
|
||||
|
||||
AVATAR_PAID_REFUND("你的付费头像涉嫌违规被管理员下架,上传付费的金币已退回"),
|
||||
ROOM_DAY_DIAMOND_REWARD_SYS("你的房间流水达到了{0},给您发放{1}金币。已发放到钱包。"),
|
||||
|
||||
BRAVO_GIFT_ALL_ROOM_SCREEN("恭喜{%s},在{%s}送出 Bravo Gift [{%s}],赢得了{%s}金币!"),
|
||||
|
||||
|
@@ -0,0 +1,58 @@
|
||||
package com.accompany.business.model.room;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 房间日奖励金币发放实体类
|
||||
*
|
||||
* @author
|
||||
* @since 2025-03-28
|
||||
*/
|
||||
@Data
|
||||
public class RoomDayDiamondRewardRecord implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
/**
|
||||
* 分区id
|
||||
*/
|
||||
private Integer partitionId;
|
||||
/**
|
||||
* 房间room_uid
|
||||
*/
|
||||
private Long roomUid;
|
||||
/**
|
||||
* 流水日期
|
||||
*/
|
||||
private String statDate;
|
||||
/**
|
||||
* 总送礼值
|
||||
*/
|
||||
private BigDecimal diamondNum;
|
||||
/**
|
||||
* 金币奖励
|
||||
*/
|
||||
private BigDecimal rewardGold;
|
||||
/**
|
||||
* 发放人
|
||||
*/
|
||||
private Integer adminId;
|
||||
/**
|
||||
* 发放时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
@@ -0,0 +1,49 @@
|
||||
package com.accompany.business.vo.room;
|
||||
|
||||
import com.accompany.business.model.room.RoomDayDiamondRewardRecord;
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@ApiModel
|
||||
@Data
|
||||
public class RoomDayDiamondRewardRecordVo {
|
||||
@ExcelIgnore
|
||||
@ApiModelProperty("发放id")
|
||||
private Long id;
|
||||
@ExcelIgnore
|
||||
private Integer partitionId;
|
||||
@ExcelProperty("分区")
|
||||
@ApiModelProperty("分区")
|
||||
private String partitionIdDesc;
|
||||
@ExcelProperty("房间UID")
|
||||
private Long roomUid;
|
||||
@ExcelProperty("房间ID")
|
||||
@ApiModelProperty("房间ID")
|
||||
private Long erbanNo;
|
||||
@ExcelProperty("房间昵称")
|
||||
@ApiModelProperty("房间昵称")
|
||||
private String roomName;
|
||||
@ExcelProperty("国家")
|
||||
@ApiModelProperty("国家")
|
||||
private String regionName;
|
||||
@ExcelProperty("日期")
|
||||
@ApiModelProperty("日期")
|
||||
private String statDate;
|
||||
@ExcelProperty("钻石流水")
|
||||
@ApiModelProperty("钻石流水")
|
||||
private BigDecimal diamondNum;
|
||||
@ExcelProperty("对应流水发放金币")
|
||||
@ApiModelProperty("对应流水发放金币")
|
||||
private BigDecimal rewardGold;
|
||||
@ExcelProperty("发放状态:0:未发放,1已经发放")
|
||||
@ApiModelProperty("发放状态:0:未发放,1已经发放")
|
||||
private Byte status;
|
||||
@ExcelProperty("操作人")
|
||||
@ApiModelProperty("操作人")
|
||||
private String operator;
|
||||
}
|
@@ -0,0 +1,20 @@
|
||||
package com.accompany.business.mybatismapper.room;
|
||||
|
||||
import com.accompany.business.model.room.RoomDayDiamondRewardRecord;
|
||||
import com.accompany.business.vo.room.RoomDayDiamondRewardRecordVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 房间日奖励金币发放 Mapper 接口
|
||||
*
|
||||
* @author
|
||||
* @since 2025-03-28
|
||||
*/
|
||||
public interface RoomDayDiamondRewardRecordMapper extends BaseMapper<RoomDayDiamondRewardRecord> {
|
||||
|
||||
IPage<RoomDayDiamondRewardRecordVo> listRecord(IPage<RoomDayDiamondRewardRecordVo> iPage, @Param("partitionId") Integer partitionId, @Param("regionId") Integer regionId,
|
||||
@Param("roomUid") Long roomUid, @Param("startDate") String startDate, @Param("endDate") String endDate,
|
||||
@Param("status") Integer status, @Param("notEqualsTodate") String notEqualsTodate);
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
package com.accompany.business.service.room;
|
||||
|
||||
import com.accompany.business.model.room.RoomDayDiamondRewardRecord;
|
||||
import com.accompany.business.vo.room.RoomDayDiamondRewardRecordVo;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.result.PageResult;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* 房间日奖励金币发放 服务类
|
||||
*
|
||||
* @author
|
||||
* @since 2025-03-28
|
||||
*/
|
||||
public interface RoomDayDiamondRewardRecordService extends IService<RoomDayDiamondRewardRecord> {
|
||||
|
||||
PageResult<RoomDayDiamondRewardRecordVo> listRecord(Integer partitionId, Integer regionId, Long erbanNo,
|
||||
String startDate, String endDate, Integer status, Integer pageNo, Integer pageSize);
|
||||
|
||||
BusiResult send(Long id, Integer adminId);
|
||||
}
|
@@ -0,0 +1,168 @@
|
||||
package com.accompany.business.service.room.impl;
|
||||
|
||||
import com.accompany.business.model.room.RoomDayDiamondNum;
|
||||
import com.accompany.business.model.room.RoomDayDiamondReward;
|
||||
import com.accompany.business.model.room.RoomDayDiamondRewardRecord;
|
||||
import com.accompany.business.mybatismapper.room.RoomDayDiamondRewardRecordMapper;
|
||||
import com.accompany.business.service.BaseSendService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.service.room.RoomDayDiamondNumService;
|
||||
import com.accompany.business.service.room.RoomDayDiamondRewardRecordService;
|
||||
import com.accompany.business.service.room.RoomDayDiamondRewardService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.room.RoomDayDiamondRewardRecordVo;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.result.PageResult;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.enumeration.BillObjTypeEnum;
|
||||
import com.accompany.core.enumeration.I18nAlertEnum;
|
||||
import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.AdminServiceException;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.util.I18NMessageSourceUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 房间日奖励金币发放 服务实现类
|
||||
*
|
||||
* @author
|
||||
* @since 2025-03-28
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class RoomDayDiamondRewardRecordServiceImpl extends ServiceImpl<RoomDayDiamondRewardRecordMapper, RoomDayDiamondRewardRecord> implements RoomDayDiamondRewardRecordService {
|
||||
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@Autowired
|
||||
private RoomDayDiamondRewardService roomDayDiamondRewardService;
|
||||
@Autowired
|
||||
private RoomDayDiamondNumService roomDayDiamondNumService;
|
||||
@Autowired
|
||||
private BaseSendService baseSendService;
|
||||
@Autowired
|
||||
private BillRecordService billRecordService;
|
||||
@Autowired
|
||||
private UserPurseService userPurseService;
|
||||
@Autowired
|
||||
private RedissonClient redissonClient;
|
||||
|
||||
@Override
|
||||
public PageResult<RoomDayDiamondRewardRecordVo> listRecord(Integer partitionId, Integer regionId, Long erbanNo,
|
||||
String startDate, String endDate, Integer status, Integer pageNo, Integer pageSize) {
|
||||
Long roomUid = null;
|
||||
if (partitionId == null) {
|
||||
throw new AdminServiceException("分区不能为空");
|
||||
}
|
||||
//查询列表不包含今天
|
||||
String notEqualsTodate = DateTimeUtil.convertWithZoneId(new Date(), PartitionEnum.getByPartitionId(partitionId).getZoneId())
|
||||
.format(DateTimeUtil.dateFormatter);
|
||||
if (erbanNo != null) {
|
||||
Users user = usersService.getUserByErbanNo(erbanNo);
|
||||
if (user == null) {
|
||||
throw new AdminServiceException("用户不存在");
|
||||
}
|
||||
roomUid = user.getUid();
|
||||
}
|
||||
IPage<RoomDayDiamondRewardRecordVo> iPage = new Page<>(pageNo, pageSize);
|
||||
iPage = baseMapper.listRecord(iPage, partitionId, regionId, roomUid, startDate, endDate, status, notEqualsTodate);
|
||||
PageResult<RoomDayDiamondRewardRecordVo> pageResult = new PageResult<>(iPage);
|
||||
List<RoomDayDiamondRewardRecordVo> rows = pageResult.getRows();
|
||||
if (CollectionUtils.isEmpty(rows)) {
|
||||
return pageResult;
|
||||
}
|
||||
Map<Integer, TreeMap<BigDecimal, RoomDayDiamondReward>> partitionTreeMap = new HashMap<>();
|
||||
List<Integer> collect = rows.stream().map(RoomDayDiamondRewardRecordVo::getPartitionId).collect(Collectors.toList());
|
||||
collect.stream().distinct()
|
||||
.forEach(x -> partitionTreeMap.put(x, roomDayDiamondRewardService.getRewardTreeMapByPartitionId(partitionId)));
|
||||
for (RoomDayDiamondRewardRecordVo row : rows) {
|
||||
if (row.getRewardGold() != null) {
|
||||
continue;
|
||||
}
|
||||
TreeMap<BigDecimal, RoomDayDiamondReward> dayDiamondRewardTreeMap = partitionTreeMap.get(row.getPartitionId());
|
||||
row.setRewardGold(roomDayDiamondRewardService.calGoldReward(dayDiamondRewardTreeMap, row.getDiamondNum()));
|
||||
}
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusiResult send(Long id, Integer adminId) {
|
||||
RoomDayDiamondNum dayDiamondNum = roomDayDiamondNumService.getById(id);
|
||||
if (dayDiamondNum == null) {
|
||||
throw new AdminServiceException("记录id:" + id + "不存在");
|
||||
}
|
||||
Integer partitionId = dayDiamondNum.getPartitionId();
|
||||
String notEqualsTodate = DateTimeUtil.convertWithZoneId(new Date(), PartitionEnum.getByPartitionId(partitionId).getZoneId())
|
||||
.format(DateTimeUtil.dateFormatter);
|
||||
if (notEqualsTodate.equals(dayDiamondNum.getStatDate())) {
|
||||
throw new AdminServiceException("该区(" + PartitionEnum.getByPartitionId(partitionId).getDesc() + ")当天未结束,不允许发放");
|
||||
}
|
||||
String lockKey = "RoomDayDiamondNum:" + id;
|
||||
RLock lock = redissonClient.getLock(lockKey);
|
||||
boolean locked = false;
|
||||
try {
|
||||
locked = lock.tryLock(5L, TimeUnit.SECONDS);
|
||||
if (!locked) {
|
||||
log.error("房间日流水奖励已经发放,id:{}", id.toString());
|
||||
throw new ServiceException(BusiStatus.SERVERERROR);
|
||||
}
|
||||
if (checkExist(partitionId, dayDiamondNum.getRoomUid(), dayDiamondNum.getStatDate())) {
|
||||
throw new AdminServiceException("该房间奖励已经发放");
|
||||
}
|
||||
TreeMap<BigDecimal, RoomDayDiamondReward> treeMapByPartitionId = roomDayDiamondRewardService.getRewardTreeMapByPartitionId(partitionId);
|
||||
BigDecimal goldReward = roomDayDiamondRewardService.calGoldReward(treeMapByPartitionId, dayDiamondNum.getDiamondNum());
|
||||
if (goldReward.doubleValue() <= 0) {
|
||||
throw new AdminServiceException("该房间未达到发放标准");
|
||||
}
|
||||
Long roomUid = dayDiamondNum.getRoomUid();
|
||||
RoomDayDiamondRewardRecord roomDayDiamondRewardRecord = new RoomDayDiamondRewardRecord();
|
||||
roomDayDiamondRewardRecord.setDiamondNum(dayDiamondNum.getDiamondNum());
|
||||
roomDayDiamondRewardRecord.setRoomUid(roomUid);
|
||||
roomDayDiamondRewardRecord.setRewardGold(goldReward);
|
||||
roomDayDiamondRewardRecord.setAdminId(adminId);
|
||||
roomDayDiamondRewardRecord.setPartitionId(partitionId);
|
||||
roomDayDiamondRewardRecord.setStatDate(dayDiamondNum.getStatDate());
|
||||
roomDayDiamondRewardRecord.setCreateTime(new Date());
|
||||
int insert = baseMapper.insert(roomDayDiamondRewardRecord);
|
||||
if (insert <= 0) {
|
||||
throw new AdminServiceException("发放失败");
|
||||
}
|
||||
userPurseService.addDiamond(roomUid, goldReward.doubleValue(), BillObjTypeEnum.ROOM_DAY_DIAMOND_REWARD,
|
||||
(userPurse) -> billRecordService.insertGeneralBillRecord(roomUid, roomDayDiamondRewardRecord.getId().toString(),
|
||||
BillObjTypeEnum.ROOM_DAY_DIAMOND_REWARD, goldReward.doubleValue(), userPurse));
|
||||
baseSendService.sendSystemMsg(roomUid.toString(),
|
||||
I18NMessageSourceUtil.getMessage(I18nAlertEnum.ROOM_DAY_DIAMOND_REWARD_SYS, new Object[]{dayDiamondNum.getDiamondNum(), goldReward}, partitionId));
|
||||
} catch (InterruptedException e) {
|
||||
throw new AdminServiceException(BusiStatus.SERVERBUSY);
|
||||
} finally {
|
||||
if (locked) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
return BusiResult.success();
|
||||
}
|
||||
|
||||
private Boolean checkExist(Integer partitionId, Long roomUid, String statDate) {
|
||||
LambdaQueryWrapper<RoomDayDiamondRewardRecord> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(RoomDayDiamondRewardRecord::getPartitionId, partitionId).eq(RoomDayDiamondRewardRecord::getRoomUid, roomUid).eq(RoomDayDiamondRewardRecord::getStatDate, statDate);
|
||||
return baseMapper.selectCount(wrapper) > 0;
|
||||
}
|
||||
}
|
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.accompany.business.mybatismapper.room.RoomDayDiamondRewardRecordMapper">
|
||||
|
||||
<select id="listRecord" resultType="com.accompany.business.vo.room.RoomDayDiamondRewardRecordVo">
|
||||
SELECT
|
||||
rn.id id,
|
||||
rn.partition_id partitionId,
|
||||
rn.room_uid roomUid,
|
||||
u.erban_no erbanNo,
|
||||
rn.stat_date statDate,
|
||||
rn.diamond_num diamondNum,
|
||||
rm.`title` roomName,
|
||||
ri.`name` regionName,
|
||||
reward.reward_gold rewardGold,
|
||||
au.username operator,
|
||||
pi.`desc` partitionIdDesc,
|
||||
if(reward.id is null, 0, 1) `status`
|
||||
FROM
|
||||
room_day_diamond_num rn
|
||||
LEFT JOIN room_day_diamond_reward_record reward ON rn.partition_id = reward.partition_id
|
||||
and rn.room_uid = reward.room_uid and rn.stat_date = reward.stat_date
|
||||
left join room rm on rn.room_uid = rm.uid
|
||||
left join users u on u.uid = rn.room_uid
|
||||
left join region_info ri on u.region_id = ri.id
|
||||
left join admin_user au on au.id = reward.admin_id
|
||||
left join partition_info pi on rn.partition_id = pi.id
|
||||
<where>
|
||||
<if test="partitionId != null and partitionId != 0">
|
||||
and rn.partition_id = #{partitionId}
|
||||
</if>
|
||||
<if test="regionId != null and regionId != 0">
|
||||
and u.region_id = #{regionId}
|
||||
</if>
|
||||
<if test="roomUid != null">
|
||||
and rn.room_uid = #{roomUid}
|
||||
</if>
|
||||
<if test="startDate != null and startDate != ''">
|
||||
and rn.stat_date >= #{startDate}
|
||||
</if>
|
||||
<if test="endDate != null and endDate != ''">
|
||||
and rn.stat_date <= #{endDate}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="status != null and status == 0">
|
||||
and reward.id is null
|
||||
</when>
|
||||
<when test="status != null and status == 1">
|
||||
and reward.id is not null
|
||||
</when>
|
||||
</choose>
|
||||
and rn.stat_date != #{notEqualsTodate}
|
||||
</where>
|
||||
order by rn.stat_date desc, `status` asc
|
||||
</select>
|
||||
</mapper>
|
Reference in New Issue
Block a user