|
@@ -1,16 +1,24 @@
|
|
|
package com.usky.dxtop.service.impl;
|
|
|
|
|
|
+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 com.usky.dxtop.common.core.page.CommonPage;
|
|
|
import com.usky.dxtop.mapper.ChargeMapper;
|
|
|
import com.usky.dxtop.model.Charge;
|
|
|
+import com.usky.dxtop.model.Staff;
|
|
|
import com.usky.dxtop.service.ChargeService;
|
|
|
+import com.usky.dxtop.service.StaffService;
|
|
|
import com.usky.dxtop.service.vo.ChargeRequest;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -23,6 +31,9 @@ import java.util.Map;
|
|
|
@Service
|
|
|
public class ChargeServiceImpl extends ServiceImpl<ChargeMapper, Charge> implements ChargeService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private StaffService staffService;
|
|
|
+
|
|
|
@Override
|
|
|
public CommonPage<Charge> page(ChargeRequest chargeRequest) {
|
|
|
IPage<Charge> page = new Page<>(chargeRequest.getCurrent(), chargeRequest.getSize());
|
|
@@ -43,6 +54,24 @@ public class ChargeServiceImpl extends ServiceImpl<ChargeMapper, Charge> impleme
|
|
|
return new CommonPage<>(page.getRecords(),page.getTotal(),page.getSize(),page.getCurrent());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void enhanceBalance(){
|
|
|
+ List<Map<String, Object>> mapList = baseMapper.selectDescTime();
|
|
|
+ List<String> card = mapList.stream().map(ma -> ma.get("card").toString()).collect(Collectors.toList());
|
|
|
+ LambdaQueryWrapper<Staff> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.in(Staff::getCardId, card);
|
|
|
+ List<Staff> staffList = staffService.list(queryWrapper);
|
|
|
+ for (Map<String, Object> map:mapList) {
|
|
|
+ staffList.forEach(staff -> {
|
|
|
+ if (staff.getCardId().equals(map.get("card").toString())){
|
|
|
+ staff.setBalance(new BigDecimal(map.get("balance").toString()));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ staffService.updateBatchById(staffList);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Charge one(Long seq) {
|
|
|
return this.getById(seq);
|