|
@@ -1,5 +1,7 @@
|
|
package com.xy.service;
|
|
package com.xy.service;
|
|
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
import com.alibaba.excel.annotation.ExcelProperty;
|
|
import com.alibaba.excel.annotation.ExcelProperty;
|
|
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
|
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
@@ -11,10 +13,13 @@ import com.xy.collections.list.JArrayList;
|
|
import com.xy.collections.list.JList;
|
|
import com.xy.collections.list.JList;
|
|
import com.xy.config.DeviceThreadPoolConfig;
|
|
import com.xy.config.DeviceThreadPoolConfig;
|
|
import com.xy.config.FileConfig;
|
|
import com.xy.config.FileConfig;
|
|
-import com.xy.dto.DeviceSimChargeDto;
|
|
|
|
-import com.xy.dto.OrderMercManageDto;
|
|
|
|
|
|
+import com.xy.device.EnumSimConfig;
|
|
|
|
+import com.xy.dto.*;
|
|
import com.xy.dto.be.MercDto;
|
|
import com.xy.dto.be.MercDto;
|
|
|
|
+import com.xy.entity.DeviceChargingHistory;
|
|
|
|
+import com.xy.entity.DeviceSim;
|
|
import com.xy.entity.DeviceSimCharge;
|
|
import com.xy.entity.DeviceSimCharge;
|
|
|
|
+import com.xy.entity.SysDictRedis;
|
|
import com.xy.mapper.DeviceSimChargeMapper;
|
|
import com.xy.mapper.DeviceSimChargeMapper;
|
|
import com.xy.service.be.MercService;
|
|
import com.xy.service.be.MercService;
|
|
import com.xy.util.ExcelUtils;
|
|
import com.xy.util.ExcelUtils;
|
|
@@ -33,8 +38,11 @@ import javax.servlet.http.HttpServletResponse;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStream;
|
|
import java.io.OutputStream;
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import static com.xy.utils.Beans.copy;
|
|
import static com.xy.utils.Beans.copy;
|
|
import static com.xy.utils.PlusBeans.toIPage;
|
|
import static com.xy.utils.PlusBeans.toIPage;
|
|
@@ -64,6 +72,8 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
|
|
|
|
private FileConfig fileConfig;
|
|
private FileConfig fileConfig;
|
|
|
|
|
|
|
|
+ private MercFeeConfigSimCardServiceImpl mercFeeConfigSimCardService;
|
|
|
|
+
|
|
@PostMapping("page")
|
|
@PostMapping("page")
|
|
@ApiOperation("分页查询")
|
|
@ApiOperation("分页查询")
|
|
public R<PageBean<DeviceSimChargeDto.Vo>> page(@RequestBody DeviceSimChargeDto.Page page) {
|
|
public R<PageBean<DeviceSimChargeDto.Vo>> page(@RequestBody DeviceSimChargeDto.Page page) {
|
|
@@ -81,12 +91,55 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
.target(() -> orderMercManageService.list(new OrderMercManageDto.SelectList().setId(new JArrayList<>(records).getProperty(DeviceSimChargeDto.Vo::getOrderId))).getData()
|
|
.target(() -> orderMercManageService.list(new OrderMercManageDto.SelectList().setId(new JArrayList<>(records).getProperty(DeviceSimChargeDto.Vo::getOrderId))).getData()
|
|
, DeviceSimChargeDto.Vo::getOrderId, DeviceSimChargeDto.Vo::getFiles, OrderMercManageDto.Vo::getId, OrderMercManageDto.Vo::getFiles
|
|
, DeviceSimChargeDto.Vo::getOrderId, DeviceSimChargeDto.Vo::getFiles, OrderMercManageDto.Vo::getId, OrderMercManageDto.Vo::getFiles
|
|
).target(() -> mercService.list(new MercDto.SelectList().setMercIds(new JArrayList<>(records).getProperty(DeviceSimChargeDto.Vo::getMercId).comparing())).getData()
|
|
).target(() -> mercService.list(new MercDto.SelectList().setMercIds(new JArrayList<>(records).getProperty(DeviceSimChargeDto.Vo::getMercId).comparing())).getData()
|
|
- , DeviceSimChargeDto.Vo::getMercId, DeviceSimChargeDto.Vo::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
|
|
|
|
+ , DeviceSimChargeDto.Vo::getMercId, DeviceSimChargeDto.Vo::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
|
|
+ .builder();
|
|
|
|
+ }
|
|
|
|
+ return R.ok(voPageBean);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public R<PageBean<DeviceSimChargeDto.PageByTopMercVO>> pageByTopMerc(DeviceSimChargeDto.PageByTopMerc page) {
|
|
|
|
+ Long curMercId = page.getCurMercId();
|
|
|
|
+ Long chooseMercId = page.getChooseMercId();
|
|
|
|
+ List<Long> mercIds = new ArrayList<>();
|
|
|
|
+ if (chooseMercId == null) {
|
|
|
|
+ mercIds = R.feignCheckData(mercService.getAllSubMercIds(new MercDto.QuerySubDTO().setParentMercID(curMercId)));
|
|
|
|
+ } else {
|
|
|
|
+ //指定商户ID
|
|
|
|
+ mercIds.add(chooseMercId);
|
|
|
|
+ }
|
|
|
|
+ PageBean pageBean = page.getPage();
|
|
|
|
+ LambdaQueryWrapper<DeviceSimCharge> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, DeviceSimCharge.class)
|
|
|
|
+ .ge(DeviceSimCharge::getCreateTime, page.getBeginCreateTime())
|
|
|
|
+ .le(DeviceSimCharge::getCreateTime, page.getEndCreateTime())
|
|
|
|
+ .in(DeviceSimCharge::getMercId, mercIds)
|
|
|
|
+ .build()
|
|
|
|
+ .orderByDesc(!Emptys.check(pageBean.getOrders()), DeviceSimCharge::getCreateTime);
|
|
|
|
+ IPage<DeviceSimCharge> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
|
|
|
|
+ PageBean<DeviceSimChargeDto.PageByTopMercVO> voPageBean = toPageBean(DeviceSimChargeDto.PageByTopMercVO.class, iPage);
|
|
|
|
+ List<DeviceSimChargeDto.PageByTopMercVO> records = voPageBean.getRecords();
|
|
|
|
+ if (Emptys.check(records)) {
|
|
|
|
+ MercFeeConfigSimCardDto.DeviceSimConfigVO deviceSimConfigVO = R.feignCheckData(mercFeeConfigSimCardService.listByFeeConfig(new MercFeeConfigAlgorithmTypeDto.ListByFeeConfigDTO().setMercId(curMercId)));
|
|
|
|
+ List<MercFeeConfigSimCardDto.DeviceSimMercVO> deviceSimMercList = deviceSimConfigVO.getDeviceSimMercList();
|
|
|
|
+ Integer extraMoney = 0;
|
|
|
|
+ if (CollUtil.isNotEmpty(deviceSimMercList)) {
|
|
|
|
+ MercFeeConfigSimCardDto.DeviceSimMercVO deviceSimMercVO = deviceSimMercList.get(0);
|
|
|
|
+ extraMoney = deviceSimMercVO.getExtraMoney();
|
|
|
|
+ }
|
|
|
|
+ copy(records)
|
|
|
|
+ .target(() -> orderMercManageService.list(new OrderMercManageDto.SelectList().setId(new JArrayList<>(records).getProperty(DeviceSimChargeDto.PageByTopMercVO::getOrderId))).getData()
|
|
|
|
+ , DeviceSimChargeDto.PageByTopMercVO::getOrderId, DeviceSimChargeDto.PageByTopMercVO::getFiles, OrderMercManageDto.Vo::getId, OrderMercManageDto.Vo::getFiles
|
|
|
|
+ ).target(() -> mercService.list(new MercDto.SelectList().setMercIds(new JArrayList<>(records).getProperty(DeviceSimChargeDto.PageByTopMercVO::getMercId).comparing())).getData()
|
|
|
|
+ , DeviceSimChargeDto.PageByTopMercVO::getMercId, DeviceSimChargeDto.PageByTopMercVO::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
.builder();
|
|
.builder();
|
|
|
|
+ for (DeviceSimChargeDto.PageByTopMercVO record : records) {
|
|
|
|
+ record.setAgentMoney(extraMoney);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return R.ok(voPageBean);
|
|
return R.ok(voPageBean);
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
@ApiOperation("月统计分页")
|
|
@ApiOperation("月统计分页")
|
|
@PostMapping("moonCountPage")
|
|
@PostMapping("moonCountPage")
|
|
public R<PageBean<DeviceSimChargeDto.MoonCountVo>> moonCountPage(@RequestBody DeviceSimChargeDto.MoonCountPage moonCountPage) {
|
|
public R<PageBean<DeviceSimChargeDto.MoonCountVo>> moonCountPage(@RequestBody DeviceSimChargeDto.MoonCountPage moonCountPage) {
|
|
@@ -121,7 +174,7 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
});
|
|
});
|
|
//翻译商户名称
|
|
//翻译商户名称
|
|
Beans.copy(moonCountVos).target(() -> mercService.list(new MercDto.SelectList().setMercIds(moonCountVos.getProperty(DeviceSimChargeDto.MoonCountVo::getMercId).comparing())).getData(),
|
|
Beans.copy(moonCountVos).target(() -> mercService.list(new MercDto.SelectList().setMercIds(moonCountVos.getProperty(DeviceSimChargeDto.MoonCountVo::getMercId).comparing())).getData(),
|
|
- DeviceSimChargeDto.MoonCountVo::getMercId, DeviceSimChargeDto.MoonCountVo::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
|
|
|
|
+ DeviceSimChargeDto.MoonCountVo::getMercId, DeviceSimChargeDto.MoonCountVo::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
.builder();
|
|
.builder();
|
|
PageBean<DeviceSimChargeDto.MoonCountVo> pageBean = new PageBean<DeviceSimChargeDto.MoonCountVo>()
|
|
PageBean<DeviceSimChargeDto.MoonCountVo> pageBean = new PageBean<DeviceSimChargeDto.MoonCountVo>()
|
|
.setCurrent(iPage.getCurrent())
|
|
.setCurrent(iPage.getCurrent())
|
|
@@ -167,7 +220,7 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
execute.end();
|
|
execute.end();
|
|
//翻译商户名称
|
|
//翻译商户名称
|
|
Beans.copy(moonCountVos).target(() -> mercService.list(new MercDto.SelectList().setMercIds(moonCountVos.getProperty(DeviceSimChargeDto.MoonCountVo::getMercId).comparing())).getData(),
|
|
Beans.copy(moonCountVos).target(() -> mercService.list(new MercDto.SelectList().setMercIds(moonCountVos.getProperty(DeviceSimChargeDto.MoonCountVo::getMercId).comparing())).getData(),
|
|
- DeviceSimChargeDto.MoonCountVo::getMercId, DeviceSimChargeDto.MoonCountVo::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
|
|
|
|
+ DeviceSimChargeDto.MoonCountVo::getMercId, DeviceSimChargeDto.MoonCountVo::getMercName, MercDto.Vo::getId, MercDto.Vo::getName)
|
|
.builder();
|
|
.builder();
|
|
return R.ok(moonCountVos.desc(DeviceSimChargeDto.MoonCountVo::getDate));
|
|
return R.ok(moonCountVos.desc(DeviceSimChargeDto.MoonCountVo::getDate));
|
|
}
|
|
}
|
|
@@ -227,4 +280,4 @@ public class DeviceSimChargeServiceImpl extends ServiceImpl<DeviceSimChargeMappe
|
|
@ExcelProperty(value = "续费金额")
|
|
@ExcelProperty(value = "续费金额")
|
|
private Integer money;
|
|
private Integer money;
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
+}
|