@@ -0,0 +1,16 @@
|
||||
package com.accompany.admin.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class ChargeRecordPartitionRegionVo {
|
||||
|
||||
private String channel;
|
||||
public String regionName;
|
||||
public BigDecimal usd = BigDecimal.ZERO;
|
||||
|
||||
}
|
||||
|
||||
|
@@ -2,6 +2,7 @@ package com.accompany.admin.mapper;
|
||||
|
||||
import com.accompany.admin.vo.ChargeRecordAdminVo;
|
||||
import com.accompany.admin.vo.ChargeRecordCountryVo;
|
||||
import com.accompany.admin.vo.ChargeRecordPartitionRegionVo;
|
||||
import com.accompany.admin.vo.ChargeRecordPartitionVo;
|
||||
import com.accompany.payment.model.ChargeRecord;
|
||||
import com.accompany.payment.vo.ChargeRecordRefundVo;
|
||||
@@ -27,6 +28,9 @@ public interface ChargeRecordAdminMapper extends BaseMapper<ChargeRecord> {
|
||||
|
||||
List<ChargeRecordPartitionVo> getPartitionGoldDetail(@Param("partitionId") Integer partitionId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
||||
|
||||
List<ChargeRecordPartitionRegionVo> getPartitionRegionGoldDetail(@Param("partitionId") Integer partitionId, @Param("startTime") Date startTime,
|
||||
@Param("endTime") Date endTime, @Param("channel") String channel);
|
||||
|
||||
/**
|
||||
* 充值统计
|
||||
* @param uidList
|
||||
|
@@ -2,10 +2,7 @@ package com.accompany.admin.service.user;
|
||||
|
||||
import com.accompany.admin.mapper.ChargeRecordAdminMapper;
|
||||
import com.accompany.admin.service.base.BaseService;
|
||||
import com.accompany.admin.vo.ChargeRecordAdminVo;
|
||||
import com.accompany.admin.vo.ChargeRecordCountryVo;
|
||||
import com.accompany.admin.vo.ChargeRecordPartitionVo;
|
||||
import com.accompany.admin.vo.ChargeRecordPersonAdminVo;
|
||||
import com.accompany.admin.vo.*;
|
||||
import com.accompany.business.constant.ChargeChannelEnum;
|
||||
import com.accompany.business.constant.GenderEnum;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -394,6 +391,21 @@ public class ChargeRecordAdminService extends BaseService {
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<ChargeRecordPartitionRegionVo> partitionRegionGoldDetail(Integer partitionId, String startDate, String channel) {
|
||||
if (!StringUtils.hasText(startDate)) {
|
||||
throw new AdminServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(partitionId);
|
||||
if (null == partitionInfo){
|
||||
throw new AdminServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
|
||||
Date startTime = DateTimeUtil.getBeginTimeOfDay(DateTimeUtil.convertStrToDate(startDate, DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
Date endTime = DateTimeUtil.getEndTimeOfDay(DateTimeUtil.convertStrToDate(startDate, DateTimeUtil.DEFAULT_DATE_PATTERN));
|
||||
return chargeRecordAdminMapper.getPartitionRegionGoldDetail(partitionId, startTime, endTime, channel);
|
||||
}
|
||||
|
||||
public void exportPartitionDetail(ServletOutputStream outputStream, Integer partitionId, String startTime, String endTime) {
|
||||
PartitionInfo partitionInfo = partitionInfoService.getById(partitionId);
|
||||
if (null == partitionInfo){
|
||||
|
@@ -142,6 +142,22 @@
|
||||
group by `date`
|
||||
</select>
|
||||
|
||||
<select id="getPartitionRegionGoldDetail" resultType="com.accompany.admin.vo.ChargeRecordPartitionRegionVo">
|
||||
/* SHARDINGSPHERE_HINT: WRITE_ROUTE_ONLY=true */
|
||||
select cr.channel as channel,
|
||||
r.`name` as regionName,
|
||||
ifnull(sum(amount)/100,0) `usd`
|
||||
from charge_record cr
|
||||
inner join users u on cr.uid = u.uid
|
||||
left join region_info r on u.region_id = r.id
|
||||
where cr.create_time >= #{startTime}
|
||||
and cr.create_time <= #{endTime}
|
||||
and cr.charge_status in (2,6)
|
||||
and cr.channel = #{channel}
|
||||
and u.partition_id = #{partitionId}
|
||||
GROUP BY r.id
|
||||
</select>
|
||||
|
||||
<select id="getChargeCount" resultType="com.accompany.payment.model.ChargeRecord">
|
||||
/* SHARDINGSPHERE_HINT: WRITE_ROUTE_ONLY=true */
|
||||
select
|
||||
|
@@ -4,6 +4,7 @@ import com.accompany.admin.controller.BaseController;
|
||||
import com.accompany.admin.service.user.ChargeRecordAdminService;
|
||||
import com.accompany.admin.vo.ChargeRecordAdminVo;
|
||||
import com.accompany.admin.vo.ChargeRecordCountryVo;
|
||||
import com.accompany.admin.vo.ChargeRecordPartitionRegionVo;
|
||||
import com.accompany.admin.vo.ChargeRecordPartitionVo;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -336,6 +337,11 @@ public class ChargeRecordAdminController extends BaseController {
|
||||
return chargeRecordAdminService.getPartitionGoldDetail(partitionId, beginDate, endDate);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/partitionRegionDetail")
|
||||
public List<ChargeRecordPartitionRegionVo> partitionRegionDetail(Integer partitionId, String beginDate, String channel) {
|
||||
return chargeRecordAdminService.partitionRegionGoldDetail(partitionId, beginDate, channel);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/exportPartitionDetail")
|
||||
public void exportPartitionDetail(HttpServletResponse response, Integer partitionId, String beginDate, String endDate) throws IOException {
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
|
Reference in New Issue
Block a user