jiangping
2025-02-19 dfafe88917bd344d570277f14b7ea7bf03fa93d4
jtt808初始化
已修改4个文件
117 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/LocksController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Locks.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/LocksService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/LocksController.java
@@ -99,7 +99,12 @@
        }
        locksService.exportImages(id,response);
    }
    @ApiOperation("导出电车小程序码")
    @PostMapping("/exportEbikeImages")
    @RequiresPermissions("business:locks:exportExcel")
    public void exportEbikeImages(@RequestParam String bikeid,HttpServletResponse response) {
        locksService.exportEbikeImages(bikeid,response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:locks:query")
@@ -115,14 +120,20 @@
    @ApiOperation("获取锁止器小程序二维码")
    @GetMapping("/findLockBase")
    public ApiResponse<List<Locks>> findLockBase64List(@RequestParam String siteId){
    public ApiResponse<List<Locks>> findLockBase64List(@RequestParam String siteId,@RequestParam  Integer fouce){
        Locks locks = new Locks();
        locks.setSiteId(siteId);
        locks.setFource(fouce);
        return ApiResponse.success(locksService.findLockBase64List(locks));
    }
    @ApiOperation("获取电车小程序二维码")
    @GetMapping("/findBikeBase")
    public ApiResponse<Bikes> findBikeBase(@RequestParam String bikeId){
        return ApiResponse.success(locksService.findBikeBase(bikeId));
    public ApiResponse<Bikes> findBikeBase(@RequestParam String bikeId,@RequestParam  Integer fouce){
        return ApiResponse.success(locksService.findBikeBase(bikeId,fouce));
    }
    @ApiOperation("获取所有电车小程序码")
    @GetMapping("/findAllBikeBase")
    public ApiResponse<List<Bikes>> findAllBikeBase( @RequestParam  Integer fouce){
        return ApiResponse.success(locksService.findAllBikeBase( fouce));
    }
}
server/services/src/main/java/com/doumee/dao/business/model/Locks.java
@@ -88,4 +88,7 @@
    @ApiModelProperty(value = "备注")
    @TableField(exist  = false)
    private String imgfullurl;
    @ApiModelProperty(value = "是否强制刷新小程序码")
    @TableField(exist  = false)
    private Integer fource;
}
server/services/src/main/java/com/doumee/service/business/LocksService.java
@@ -109,5 +109,9 @@
    void exportImages(String siteid, HttpServletResponse response);
    Bikes findBikeBase(String bikeId);
    Bikes findBikeBase(String bikeId,Integer force);
    List<Bikes> findAllBikeBase(Integer fouce);
    void exportEbikeImages(String bikeid, HttpServletResponse response);
}
server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java
@@ -26,6 +26,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.service.business.SitesService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.lang3.StringUtils;
@@ -143,7 +144,7 @@
        if (!CollectionUtils.isEmpty(locksList)){
            // 检查是否有图片信息没有更新保存图片
            locksList.forEach(s-> {
                if (StringUtils.isBlank(s.getInfo())){
                if (Constants.equalsInteger(locks.getFource(),Constants.ONE) ||StringUtils.isBlank(s.getInfo())){
                    try {
                        wxMiniUtilService.generateWXMiniCode(s, WxMiniConfig.wxMaService.getAccessToken(),prePath,code);
                    }catch (Exception e){
@@ -158,21 +159,59 @@
        }
        return new ArrayList<>();
    }
    /**
     * 获取所有电测小程序二维码
     * @param force 0不强制刷新 1强制刷新
     * @return
     */
    @Override
    public    Bikes findBikeBase(String bikeId) {
        Locks re = new Locks();
    public     List<Bikes> findAllBikeBase(Integer force) {
        List<Bikes> bikesList = bikesMapper.selectList(new QueryWrapper<Bikes>().lambda()
                .eq(Bikes::getIsdeleted,Constants.ZERO)
                .eq(Bikes::getType,Constants.ONE)
        );
        if(bikesList!=null && bikesList.size()>0){
        LoginUserInfo loginUserInfo =  (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        String fullPath = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode() +
                systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode() ;
            String code = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
            String prePath = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.IMG_DIR).getCode();
            bikesList.forEach(bikes-> {
                if (Constants.equalsInteger(force,Constants.ONE) || StringUtils.isBlank(bikes.getImgurl())){
                    try {
                        wxMiniUtilService.generateEbikeWXMiniCode(bikes, WxMiniConfig.wxMaService.getAccessToken(),prePath,code);
                    }catch (Exception e){
                    }
                    if (StringUtils.isNotBlank(bikes.getImgurl())){
                        bikes.setEditor(loginUserInfo.getId());
                        bikes.setEditDate(new Date());
                        bikesMapper.updateById(bikes);
                    }
                    if (StringUtils.isNotBlank(bikes.getImgurl())){
                        bikes.setImgurl(fullPath+bikes.getImgurl());
                    }
                }
            });
        }
        return bikesList;
    }
    @Override
    public    Bikes findBikeBase(String bikeId, Integer force) {
       Bikes bikes = bikesMapper.selectById(bikeId);
       if(bikes == null){
       if(bikes == null
               || Constants.equalsInteger(bikes.getIsdeleted(),Constants.ONE)
               || !Constants.equalsInteger(bikes.getType(),Constants.ONE)){
           throw new BusinessException(ResponseStatus.DATA_EMPTY);
       }
        LoginUserInfo loginUserInfo =  (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        String fullPath = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode() +
                systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode() ;
        String code = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
        String prePath = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.IMG_DIR).getCode();
            // 检查是否有图片信息没有更新保存图片
        if (StringUtils.isBlank(bikes.getImgurl())){
        if (Constants.equalsInteger(force,Constants.ONE) || StringUtils.isBlank(bikes.getImgurl())){
            try {
                wxMiniUtilService.generateEbikeWXMiniCode(bikes, WxMiniConfig.wxMaService.getAccessToken(),prePath,code);
            }catch (Exception e){
@@ -183,9 +222,10 @@
                bikesMapper.updateById(bikes);
            }
        }
        if (StringUtils.isNotBlank(bikes.getImgurl())){
            bikes.setImgurl(fullPath+bikes.getInfo());
        if (StringUtils.isBlank(bikes.getImgurl())){
            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"获取小程序码失败,请稍后重试!");
        }
        bikes.setImgurl(fullPath+bikes.getImgurl());
        return bikes;
    }
@@ -267,6 +307,41 @@
            throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
        }
    }
    @Override
    public void exportEbikeImages(String bikeid, HttpServletResponse response){
        try {
            List<File> fileList = new ArrayList<>();
            List<Bikes> bikesList = bikesMapper.selectList(new QueryWrapper<Bikes>().lambda()
                    .eq(Bikes::getIsdeleted,Constants.ZERO)
                    .eq(StringUtils.isNotBlank(bikeid) ,Bikes::getId,bikeid)
                    .eq(Bikes::getType,Constants.ONE)
            );
            if(bikesList== null || bikesList.size() == 0){
                throw  new BusinessException(ResponseStatus.DATA_EMPTY);
            }
            String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.IMG_DIR).getCode()+systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode();
            for(Bikes l : bikesList){
                if(StringUtils.isNotBlank(l.getInfo())){
                    File file = new File(path + l.getImgurl());
                    if(file!=null && file.isFile()){
                        fileList.add(file);
                    }
                }
            }
            if(fileList == null || fileList.size() == 0){
                throw  new BusinessException(ResponseStatus.DATA_EMPTY);
            }
            String fileName =  "电车小程序码批量导出_"+System.currentTimeMillis()+".zip" ;
            String encodeFileName = URLEncoder.encode(fileName);
            response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName);
            response.setContentType("application/octet-stream");
            response.setHeader("eva-opera-type", "download");
            response.setHeader("eva-download-filename", encodeFileName);
            packFilesToZip(fileList,response.getOutputStream());
        } catch (IOException e) {
            throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
        }
    }
}