diff --git a/accompany-admin/accompany-admin-service/pom.xml b/accompany-admin/accompany-admin-service/pom.xml
index d0011d52e..ed86f8625 100644
--- a/accompany-admin/accompany-admin-service/pom.xml
+++ b/accompany-admin/accompany-admin-service/pom.xml
@@ -61,7 +61,7 @@
org.apache.shardingsphere
sharding-jdbc-core
- 4.0.0-RC2
+ 4.1.1
com.accompany
diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/user/BillRecordAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/user/BillRecordAdminService.java
index 6f14f5650..021a99004 100644
--- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/user/BillRecordAdminService.java
+++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/user/BillRecordAdminService.java
@@ -1,6 +1,5 @@
package com.accompany.admin.service.user;
-import com.accompany.admin.common.BusinessException;
import com.accompany.admin.service.base.BaseService;
import com.accompany.admin.vo.BillRecordVo;
import com.accompany.business.model.Gift;
@@ -13,10 +12,14 @@ import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.BillObjTypeEnum;
import com.accompany.core.model.Users;
import com.accompany.core.service.user.UsersBaseService;
+import com.accompany.payment.model.ChargeRecord;
+import com.accompany.payment.service.ChargeRecordService;
import com.accompany.sharding.mapper.BillRecordMapper;
import com.accompany.sharding.model.BillRecord;
import com.accompany.sharding.vo.BillRecordGroupVo;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.beust.jcommander.internal.Lists;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -25,6 +28,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@@ -43,8 +48,18 @@ public class BillRecordAdminService extends BaseService {
private BillRecordService billRecordService;
@Autowired
private GiftService giftService;
+ @Autowired
+ private ChargeRecordService chargeRecordService;
- public PageInfo getBillRecordList(Integer pageNum, Integer pageSize, Byte billType, Long uid, String startDate, String endDate){
+ public void pageBillRecordList(Page page, Long erbanNo, Byte billType, String startDate, String endDate){
+ Long uid = null;
+ if (erbanNo != null) {
+ Users users = usersBaseService.getUsersByErBanNo(erbanNo);
+ if (users == null) {
+ return;
+ }
+ uid = users.getUid();
+ }
List bList = new ArrayList<>();
QueryWrapper wrapper = new QueryWrapper<>();
@@ -57,15 +72,15 @@ public class BillRecordAdminService extends BaseService {
bList.add(billType);
}
}
- wrapper.lambda().eq(uid != null, BillRecord::getUid,uid)
+
+ wrapper.lambda().eq(uid != null, BillRecord::getUid, uid)
.ge(!BlankUtil.isBlank(startDate), BillRecord::getCreateTime, DateTimeUtil.convertStrToDate(startDate))
.le(!BlankUtil.isBlank(endDate),BillRecord::getCreateTime, DateTimeUtil.convertStrToDate(endDate));
if (!CollectionUtils.isEmpty(bList)) {
wrapper.lambda().in(BillRecord::getObjType, bList);
}
wrapper.lambda().orderByDesc(BillRecord::getCreateTime);
- PageHelper.startPage(pageNum, pageSize);
- return new PageInfo<>(billRecordService.list(wrapper));
+ billRecordService.page(page, wrapper);
}
public List convertVoList(List list) {
@@ -77,13 +92,21 @@ public class BillRecordAdminService extends BaseService {
List usersList = usersBaseService.getUsersListByUids(uids);
Map erbanNoMap = usersList.stream().collect(Collectors.toMap(Users::getUid, Users::getErbanNo));
Map nickMap = usersList.stream().collect(Collectors.toMap(Users::getUid, Users::getNick));
+
List roomUids = list.stream().map(BillRecord::getRoomUid).collect(Collectors.toList());
List roomUsersList = usersBaseService.getUsersListByUids(roomUids);
Map roomErbanNoMap = roomUsersList.stream().collect(Collectors.toMap(Users::getUid, Users::getErbanNo));
Map roomNickMap = roomUsersList.stream().collect(Collectors.toMap(Users::getUid, Users::getNick));
+
List giftIds = list.stream().map(BillRecord::getGiftId).collect(Collectors.toList());
List giftList = giftService.getGiftByIdsFromDb(giftIds);
Map giftNameMap = giftList.stream().collect(Collectors.toMap(Gift::getGiftId, Gift::getGiftName));
+
+ List chargeRecordIds = list.stream().filter(b->b.getBillType() == BillObjTypeEnum.CHARGE.getValue() || b.getBillType() == BillObjTypeEnum.OPEN_VIP.getValue())
+ .map(BillRecord::getBillId).collect(Collectors.toList());
+ List chargeRecordList = chargeRecordService.listChargeRecordByIds(chargeRecordIds);
+ Map chargeRecordMap = chargeRecordList.stream().collect(Collectors.toMap(ChargeRecord::getChargeRecordId, c->c));
+
List voList = new ArrayList<>(list.size());
Map userMap = new HashMap<>();
@@ -109,6 +132,14 @@ public class BillRecordAdminService extends BaseService {
if (billRecordAdminVo.getGiftId() != null) {
billRecordAdminVo.setGiftName(giftNameMap.getOrDefault(billRecordAdminVo.getGiftId(), null));
}
+ if (billRecordAdminVo.getObjType() == BillObjTypeEnum.CHARGE.getValue()
+ || billRecordAdminVo.getObjType() == BillObjTypeEnum.OPEN_VIP.getValue()){
+ ChargeRecord chargeRecord = chargeRecordMap.get(billRecordAdminVo.getObjId());
+ if (null != chargeRecord){
+ billRecordAdminVo.setLocalCurrencyCode(chargeRecord.getLocalCurrencyCode());
+ billRecordAdminVo.setLocalAmount(new BigDecimal(chargeRecord.getLocalAmount()).divide(Constant.HUNDRED, 2, RoundingMode.HALF_UP));
+ }
+ }
voList.add(billRecordAdminVo);
}
return voList;
diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/vo/BillRecordVo.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/vo/BillRecordVo.java
index 6f1bfc26a..e8e5b281b 100644
--- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/vo/BillRecordVo.java
+++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/vo/BillRecordVo.java
@@ -33,9 +33,13 @@ public class BillRecordVo extends BaseVo {
public String roomNick;
@FieldComment("钻石/水晶/金币")
public BigDecimal amount;
- @FieldComment("人民币数")
+ @FieldComment("货币数")
+ public BigDecimal localAmount;
+ @FieldComment("本地货币代码")
+ public String localCurrencyCode;
+ @FieldComment("货币数")
public BigDecimal actualAmount;
- @FieldComment("货币")
+ @FieldComment("游戏货币")
public String currencyDesc;
@FieldComment("收入支出")
public String billTypeDesc;
@@ -43,6 +47,7 @@ public class BillRecordVo extends BaseVo {
public String objTypeDesc;
@FieldComment("账单类型code")
private Byte objType;
+ private String objId;
@FieldComment("账单创建时间")
public Date createTime;
@FieldComment("备注")
diff --git a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/BillRecordAdminController.java b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/BillRecordAdminController.java
index ff4dc7071..706a41ea6 100644
--- a/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/BillRecordAdminController.java
+++ b/accompany-admin/accompany-admin-web/src/main/java/com/accompany/admin/controller/user/BillRecordAdminController.java
@@ -1,9 +1,11 @@
package com.accompany.admin.controller.user;
+import com.accompany.admin.base.Pagination;
import com.accompany.admin.controller.BaseController;
import com.accompany.admin.service.user.BillRecordAdminService;
import com.accompany.admin.vo.BillRecordVo;
import com.accompany.business.service.user.UsersService;
+import com.accompany.common.result.BusiResult;
import com.accompany.core.model.Users;
import com.accompany.core.service.user.UsersBaseService;
import com.accompany.core.util.ExcelUtils;
@@ -16,6 +18,7 @@ import com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Controller;
+import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -32,49 +35,32 @@ import java.util.*;
@ResponseBody
public class BillRecordAdminController extends BaseController {
@Autowired
- BillRecordAdminService billRecordAdminService;
- @Autowired
- UsersService usersService;
-
- @Autowired
- private UsersBaseService usersBaseService;
+ private BillRecordAdminService billRecordAdminService;
@RequestMapping("/getList")
@ResponseBody
- public void getBillRecordList(Byte billType,Long erbanNo,String startDate,String endDate){
- Long uid = null;
- if (erbanNo != null) {
- Users users = usersBaseService.getUsersByErBanNo(erbanNo);
- if (users == null) {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("total",0);
- jsonObject.put("rows", Collections.emptyList());
-
- writeJson(jsonObject.toJSONString());
- return;
- }
- uid = users.getUid();
+ public Pagination getBillRecordList(Long erbanNo, Byte billType, String startDate, String endDate){
+ Page page = new Page<>(getPageNumber(), getPageSize());
+ billRecordAdminService.pageBillRecordList(page, erbanNo, billType, startDate, endDate);
+ Pagination p = new Pagination(page);
+ if (!CollectionUtils.isEmpty(page.getRecords())){
+ p.setRows(billRecordAdminService.convertVoList(page.getRecords()));
}
- PageInfo pageInfo = billRecordAdminService.getBillRecordList(getPageNumber(), getPageSize(), billType, uid, startDate, endDate);
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("total", pageInfo.getTotal());
- jsonObject.put("rows", billRecordAdminService.convertVoList(pageInfo.getList()));
-
- writeJson(jsonObject.toJSONString());
+ return p;
}
@RequestMapping("/exportList")
@ResponseBody
- public void exportBillRecordList(Byte billType, Long erbanNo, String startDate, String endDate, HttpServletResponse response) throws Exception {
- Users users = usersBaseService.getUsersByErBanNo(erbanNo);
+ public void exportBillRecordList(Long erbanNo, Byte billType, String startDate, String endDate, HttpServletResponse response) throws Exception {
+ /*Users users = usersBaseService.getUsersByErBanNo(erbanNo);
Long uid = users.getUid();
PageInfo pageInfo = billRecordAdminService.getBillRecordList(1,1000000, billType, uid, startDate, endDate);
List voList = billRecordAdminService.convertVoList(pageInfo.getList());
String filename = erbanNo.toString() + "_bill_record";
List fields = Arrays.asList("nick", "erbanNo", "targetNick", "targetErbanNo", "roomNick", "roomErbanNo",
"giftName", "giftNum", "actualAmount", "amount", "billTypeDesc", "objTypeDesc", "createTime");
- ExcelUtils.exportExcel("用户账单", filename, fields, voList, response);
+ ExcelUtils.exportExcel("用户账单", filename, fields, voList, response);*/
}
/**
diff --git a/accompany-admin/accompany-admin-web/src/main/resources/static/html/users/bill_record_admin.html b/accompany-admin/accompany-admin-web/src/main/resources/static/html/users/bill_record_admin.html
index ab3c642d8..bd991aa5b 100644
--- a/accompany-admin/accompany-admin-web/src/main/resources/static/html/users/bill_record_admin.html
+++ b/accompany-admin/accompany-admin-web/src/main/resources/static/html/users/bill_record_admin.html
@@ -1,15 +1,10 @@
-
@@ -46,8 +56,9 @@
{field:'roomErbanNo',title:'房主平台号',align:'center',valign:'middle',width:'10%'},
{field:'giftName',title:'礼物名称',align:'center',valign:'middle',width:'5%'},
{field:'giftNum',title:'礼物数量',align:'center',valign:'middle',width:'5%'},
- {field:'actualAmount',title:'人民币数',align:'center',valign:'middle',width:'5%'},
{field:'amount',title:'钻石/水晶/金币',align:'center',valign:'middle',width:'5%'},
+ {field:'localCurrencyCode',title:'本地货币数',align:'center',valign:'middle',width:'5%'},
+ {field:'localAmount',title:'货币数',align:'center',valign:'middle',width:'5%'},
{field:'billTypeDesc',title:'收入支出',align:'center',valign:'middle',width:'10%'},
{field:'objTypeDesc',title:'账单类型',align:'center',valign:'middle',width:'10%'},
{field:'createTime',title:'账单创建时间',align:'center',valign:'middle',width:'10%',formatter:function (val,row,index) {
@@ -99,7 +110,6 @@
// $("#tipModal").modal('show');
// return;
// }
- console.debug('ASDFASDF')
if ($('#startDate').val() && $('#endDate').val()) {
var dateStart = new Date($('#startDate').val().replace(/\-/g, "/"));
var dateEnd = new Date($('#endDate').val().replace(/\-/g, "/"));
diff --git a/accompany-base/accompany-payment/src/main/java/com/accompany/payment/service/ChargeRecordService.java b/accompany-base/accompany-payment/src/main/java/com/accompany/payment/service/ChargeRecordService.java
index 7c3991d8e..720e30d93 100644
--- a/accompany-base/accompany-payment/src/main/java/com/accompany/payment/service/ChargeRecordService.java
+++ b/accompany-base/accompany-payment/src/main/java/com/accompany/payment/service/ChargeRecordService.java
@@ -44,6 +44,12 @@ public class ChargeRecordService extends BaseService {
return chargeRecord;
}
+ public List listChargeRecordByIds(List ids) {
+ ChargeRecordExample example = new ChargeRecordExample();
+ example.createCriteria().andChargeRecordIdIn(ids);
+ return chargeRecordMapper.selectByExample(example);
+ }
+
public void insertChargeRecord(ChargeRecord chargeRecord) {
chargeRecord.setCreateTime(new Date());
chargeRecordMapper.insertSelective(chargeRecord);
diff --git a/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml b/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml
index fc77d171a..4aeeefdc6 100644
--- a/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml
+++ b/accompany-business/accompany-business-sharding/src/main/resources/sharding/sqlmappers/BillRecordMapper.xml
@@ -5,17 +5,12 @@
-
-
-
-
-