yq před 2 roky
rodič
revize
443b473d25

+ 7 - 0
src/main/java/com/usky/dxtop/controller/web/business/ChargeController.java

@@ -64,6 +64,7 @@ public class ChargeController {
         return ApiResult.success(chargeService.one(seq));
     }
 
+
     /**
      * 批量修改消息状态
      * @return
@@ -77,5 +78,11 @@ public class ChargeController {
                 .eq(Charge::getCard,staff.getCardId());
         return ApiResult.success(chargeService.update(updateWrapper));
     }
+
+    @GetMapping("/enhanceBalance")
+    public ApiResult<Void> enhanceBalance(){
+        chargeService.enhanceBalance();
+        return ApiResult.success();
+    }
 }
 

+ 13 - 0
src/main/java/com/usky/dxtop/controller/web/system/SysFileController.java

@@ -2,9 +2,11 @@ package com.usky.dxtop.controller.web.system;
 
 
 import com.usky.dxtop.common.core.domain.ApiResult;
+import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.model.SysFile;
 import com.usky.dxtop.service.SysFileService;
 import com.usky.dxtop.service.vo.SysFileQueryRequest;
+import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -64,6 +66,17 @@ public class SysFileController {
         return ApiResult.success(sysFileService.getFile(sysFileQueryRequest));
     }
 
+    /**
+     * 分页
+     * @param sysFileQueryRequest
+     * @return
+     */
+    @PostMapping("page")
+    public ApiResult<CommonPage<SysFile>> page(@RequestBody SysFileQueryRequest sysFileQueryRequest) {
+        return ApiResult.success(sysFileService.page(sysFileQueryRequest));
+    }
+
+
     /**
      * 生成批次编号
      * @return

+ 4 - 0
src/main/java/com/usky/dxtop/mapper/ChargeMapper.java

@@ -7,6 +7,7 @@ import com.usky.dxtop.model.Charge;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 
@@ -56,4 +57,7 @@ public interface ChargeMapper extends BaseMapper<Charge> {
                           @Param("userId")String userId,
                                       @Param("messageFlag")Boolean messageFlag);
 
+
+    List<Map<String,Object>> selectDescTime();
+
 }

+ 2 - 0
src/main/java/com/usky/dxtop/service/ChargeService.java

@@ -40,4 +40,6 @@ public interface ChargeService extends IService<Charge> {
      * @return
      */
     Boolean update(Charge charge);
+
+    void enhanceBalance();
 }

+ 7 - 0
src/main/java/com/usky/dxtop/service/SysFileService.java

@@ -2,7 +2,11 @@ package com.usky.dxtop.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.usky.dxtop.common.core.page.CommonPage;
+import com.usky.dxtop.model.Company;
+import com.usky.dxtop.model.Staff;
 import com.usky.dxtop.model.SysFile;
+import com.usky.dxtop.service.vo.StaffRequest;
 import com.usky.dxtop.service.vo.SysFileQueryRequest;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -65,6 +69,9 @@ public interface SysFileService extends IService<SysFile> {
     List<SysFile> getFile(SysFileQueryRequest sysFileRequest);
 
 
+    CommonPage<SysFile> page(SysFileQueryRequest sysFileRequest);
+
+
     /**
      * 批量删除文件(更新文件删除状态)
      *

+ 29 - 0
src/main/java/com/usky/dxtop/service/impl/ChargeServiceImpl.java

@@ -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);

+ 18 - 0
src/main/java/com/usky/dxtop/service/impl/SysFileServiceImpl.java

@@ -2,15 +2,19 @@ package com.usky.dxtop.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+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.config.DxConfig;
+import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.common.utils.StringUtils;
 import com.usky.dxtop.common.utils.file.FileTypeUtils;
 import com.usky.dxtop.common.utils.file.FileUploadUtils;
 import com.usky.dxtop.common.utils.file.FileUtils;
 import com.usky.dxtop.common.utils.uuid.IdUtils;
 import com.usky.dxtop.mapper.SysFileMapper;
+import com.usky.dxtop.model.Staff;
 import com.usky.dxtop.model.SysFile;
 import com.usky.dxtop.service.SysFileService;
 import com.usky.dxtop.service.vo.SysFileQueryRequest;
@@ -134,6 +138,20 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
         }).collect(toList());
     }
 
+    @Override
+    public CommonPage<SysFile> page(SysFileQueryRequest req) {
+        IPage<SysFile> page = new Page<>(req.getCurrent(), req.getSize());
+        LambdaQueryWrapper<SysFile> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(StringUtils.isNotBlank(req.getBatchNo()), SysFile::getBatchNo, req.getBatchNo())
+                .in(!CollectionUtils.isEmpty(req.getIds()), SysFile::getId, req.getIds())
+                .in(!CollectionUtils.isEmpty(req.getBatchNos()), SysFile::getBatchNo, req.getBatchNos())
+                .eq(StringUtils.isNotBlank(req.getName()),SysFile::getOriName,req.getName())
+                .between(null != req.getStartTime() && null != req.getEndTime(),SysFile::getCreateTime,req.getStartTime(),req.getEndTime())
+                .orderByDesc(SysFile::getId);
+        page = this.page(page,queryWrapper);
+        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
     @Override
     public Integer deleteFiles(List<SysFile> sysFiles) {
         Date now = new Date();

+ 2 - 0
src/main/java/com/usky/dxtop/service/job/SmJob.java

@@ -17,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -66,6 +67,7 @@ public class SmJob {
             List<Staff> list = staffList.toJavaList(Staff.class);
             list.forEach(date -> {
                 try {
+                    date.setCardId(new BigDecimal(date.getCardId()).toString());
                     LambdaQueryWrapper<Staff> queryWrapper = Wrappers.lambdaQuery();
                     queryWrapper.eq(Staff::getId,date.getId());
                     Staff staff = staffService.getOne(queryWrapper);

+ 12 - 0
src/main/java/com/usky/dxtop/service/vo/SysFileQueryRequest.java

@@ -2,6 +2,8 @@ package com.usky.dxtop.service.vo;
 
 import lombok.Data;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -18,4 +20,14 @@ public class SysFileQueryRequest {
     private List<Long> ids;
 
     private List<String> batchNos;
+
+    private String name;
+
+    private Date startTime;
+
+    private Date endTime;
+
+    private Integer current;
+
+    private Integer size;
 }

+ 21 - 0
src/main/resources/mapper/ChargeMapper.xml

@@ -70,6 +70,27 @@
         </where>
         order by createTime desc
     </select>
+    <select id="selectDescTime" resultType="java.util.Map">
+        SELECT t.*
+FROM
+(SELECT card,max(createTime) as createTime
+FROM
+(
+SELECT create_time as createTime,card, amt,balance, '充值' as 'cord',type,shop_name as shopName,message_flag as messageFlag,seq
+        FROM charge
+        UNION all
+        SELECT create_time as createTime,card, amt,balance, '消费' as 'cord',type,shop_name as shopName,message_flag as messageFlag,seq
+        FROM dish
+) as a GROUP BY card ) a1
+LEFT JOIN
+(
+SELECT create_time as createTime,card, amt,balance, '充值' as 'cord',type,shop_name as shopName,message_flag as messageFlag,seq
+        FROM charge
+        UNION all
+        SELECT create_time as createTime,card, amt,balance, '消费' as 'cord',type,shop_name as shopName,message_flag as messageFlag,seq
+        FROM dish
+) as t on a1.card = t.card and a1.createTime = t.createTime
+    </select>
 
 
 </mapper>

+ 2 - 2
src/main/resources/mapper/DishMapper.xml

@@ -31,8 +31,8 @@
                 and #{endTime}
             </if>
             <if test="userName !=null and userName !=''">
-                and user_name like CONCAT('%',#{userName},'%')
-                or user_account like CONCAT('%',#{userName},'%')
+                and s.name like CONCAT('%',#{userName},'%')
+                or s.contacts like CONCAT('%',#{userName},'%')
             </if>
             <if test="userId != null">
                 and s.id = #{userId}

+ 1 - 1
src/main/resources/smart-doc.json

@@ -4,7 +4,7 @@
   "isStrict": false,
   "coverOld": true,
   "allInOne": true,
-  "packageFilters": "com.usky.dxtop.controller.web.business",
+  "packageFilters": "com.usky.dxtop.controller.web",
   "requestExample":"false",
   "responseExample":"true",
   "projectName": "充值系统API接口说明文件",