Selaa lähdekoodia

- 和小程序接口对接工作完成一大半
- WPS初步对接完

Huanyi 3 kuukautta sitten
vanhempi
sitoutus
49c0472571
17 muutettua tiedostoa jossa 217 lisäystä ja 6 poistoa
  1. 12 0
      ruoyi-modules/ruoyi-system/src/main/java/com/yingpaipay/system/domain/vo/SysUserSignatureVo.java
  2. 6 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
  3. 2 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java
  4. 3 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java
  5. 8 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
  6. 18 5
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/WpsController.java
  7. 26 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/applet/AppletHomeController.java
  8. 24 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/applet/AppletMineController.java
  9. 4 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/applet/TextInController.java
  10. 10 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/bo/AppletRecentDocumentBo.java
  11. 2 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/bo/DocumentAuditBo.java
  12. 12 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/vo/AppletMineCountVo.java
  13. 16 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/vo/AppletRecentDocumentVo.java
  14. 4 0
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/service/IDocumentService.java
  15. 57 1
      ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/service/impl/DocumentServiceImpl.java
  16. 7 0
      ruoyi-modules/yingpaipay-setting/src/main/java/com/yingpaipay/setting/controller/CarouselSettingController.java
  17. 6 0
      ruoyi-modules/yingpaipay-setting/src/main/java/com/yingpaipay/setting/service/impl/CarouselSettingServiceImpl.java

+ 12 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/yingpaipay/system/domain/vo/SysUserSignatureVo.java

@@ -0,0 +1,12 @@
+package com.yingpaipay.system.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@AllArgsConstructor
+@Data
+public class SysUserSignatureVo {
+
+    private Long id;
+
+}

+ 6 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.crypto.digest.BCrypt;
 import com.yingpaipay.system.domain.bo.ListOnNameNotJoinProjectBo;
+import com.yingpaipay.system.domain.vo.SysUserSignatureVo;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.NotNull;
 import lombok.RequiredArgsConstructor;
@@ -316,4 +317,9 @@ public class SysUserController extends BaseController {
         return R.ok(userService.selectUserListByDept(deptId));
     }
 
+    @GetMapping("/getSignature")
+    public R<SysUserSignatureVo> getSignature() {
+        return R.ok(userService.getSignature());
+    }
+
 }

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java

@@ -73,5 +73,7 @@ public class SysOssVo implements Serializable {
      */
     private String service;
 
+    private Date updateTime;
+
 
 }

+ 3 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java

@@ -2,6 +2,7 @@ package org.dromara.system.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yingpaipay.system.domain.bo.ListOnNameNotJoinProjectBo;
+import com.yingpaipay.system.domain.vo.SysUserSignatureVo;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.domain.SysUser;
@@ -240,4 +241,6 @@ public interface ISysUserService {
     int updateUserAppletStatus(Long userId, Integer appletStatus);
 
     IPage<SysUser> selectPageByNameAndIds(String name, List<Long> userIds, PageQuery pageQuery);
+
+    SysUserSignatureVo getSignature();
 }

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yingpaipay.system.domain.SysUserProjects;
 import com.yingpaipay.system.domain.bo.ListOnNameNotJoinProjectBo;
+import com.yingpaipay.system.domain.vo.SysUserSignatureVo;
 import com.yingpaipay.system.mapper.SysUserProjectsMapper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -643,6 +644,13 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
         );
     }
 
+    @Override
+    public SysUserSignatureVo getSignature() {
+        return new SysUserSignatureVo(
+            baseMapper.selectById(LoginHelper.getUserId()).getAvatar()
+        );
+    }
+
     /**
      * 通过用户ID查询用户账户
      *

+ 18 - 5
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/WpsController.java

@@ -4,11 +4,9 @@ import com.yingpaipay.business.domain.Document;
 import com.yingpaipay.business.domain.dto.WpsR;
 import com.yingpaipay.business.service.impl.CommonDocumentService;
 import jakarta.servlet.http.HttpServletRequest;
-import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
-import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.domain.R;
 import org.dromara.common.web.core.BaseController;
 import org.dromara.system.domain.vo.SysOssVo;
 import org.dromara.system.domain.vo.SysUserVo;
@@ -33,7 +31,7 @@ import java.util.concurrent.ConcurrentHashMap;
 @Slf4j
 public class WpsController extends BaseController {
 
-    private static final Map<Long, String> DOCUMENT_MAP = new ConcurrentHashMap<>();
+    private static final Map<Long, Long> DOCUMENT_MAP = new ConcurrentHashMap<>();
 
     private final ISysOssService ossService;
     private final CommonDocumentService documentService;
@@ -56,7 +54,7 @@ public class WpsController extends BaseController {
             }
 
             SysOssVo vo = ossService.upload(tempFile);
-            DOCUMENT_MAP.put(documentId, vo.getUrl());
+            DOCUMENT_MAP.put(documentId, vo.getOssId());
 
         } catch (IOException e) {
             log.error("文件写入失败, documentId={}", documentId, e);
@@ -164,6 +162,9 @@ public class WpsController extends BaseController {
 
     @GetMapping("/files/{documentId}/download")
     public WpsR getUrl(@PathVariable Long documentId) {
+        if (DOCUMENT_MAP.containsKey(documentId)) {
+            return WpsR.ok(new WpsGetUrlDto(ossService.getById(DOCUMENT_MAP.get(documentId)).getUrl()));
+        }
         Document document = documentService.getById(documentId);
         SysOssVo ossVo = ossService.getById(document.getOssId());
         String url = ossVo.getUrl();
@@ -194,4 +195,16 @@ public class WpsController extends BaseController {
         return WpsR.ok(dtos);
     }
 
+    @GetMapping("/{documentId}")
+    public R<Long> getOssId(@PathVariable Long documentId) {
+        return R.ok(DOCUMENT_MAP.remove(documentId));
+    }
+
+    @PutMapping("/refresh/{documentId}")
+    public R<Void> refresh(@PathVariable Long documentId) {
+        Document document = documentService.getById(documentId);
+        DOCUMENT_MAP.put(documentId, document.getOssId());
+        return R.ok();
+    }
+
 }

+ 26 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/applet/AppletHomeController.java

@@ -0,0 +1,26 @@
+package com.yingpaipay.business.controller.applet;
+
+import com.yingpaipay.business.domain.bo.AppletRecentDocumentBo;
+import com.yingpaipay.business.domain.vo.AppletRecentDocumentVo;
+import com.yingpaipay.business.service.IDocumentService;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("/applet/home")
+@RestController
+@RequiredArgsConstructor
+public class AppletHomeController extends BaseController {
+
+    private final IDocumentService documentService;
+
+    @GetMapping("/listRecent")
+    public TableDataInfo<AppletRecentDocumentVo> listRecent(AppletRecentDocumentBo bo, PageQuery pageQuery) {
+        return documentService.listRecentOnApplet(bo, pageQuery);
+    }
+
+}

+ 24 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/applet/AppletMineController.java

@@ -0,0 +1,24 @@
+package com.yingpaipay.business.controller.applet;
+
+import com.yingpaipay.business.domain.vo.AppletMineCountVo;
+import com.yingpaipay.business.service.IDocumentService;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.web.core.BaseController;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/applet/mine")
+@RequiredArgsConstructor
+public class AppletMineController extends BaseController {
+
+    private final IDocumentService documentService;
+
+    @GetMapping("/count")
+    public R<AppletMineCountVo> getCount() {
+        return R.ok(documentService.getCount());
+    }
+
+}

+ 4 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/controller/applet/TextInController.java

@@ -0,0 +1,4 @@
+package com.yingpaipay.business.controller.applet;
+
+public class TextInController {
+}

+ 10 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/bo/AppletRecentDocumentBo.java

@@ -0,0 +1,10 @@
+package com.yingpaipay.business.domain.bo;
+
+import lombok.Data;
+
+@Data
+public class AppletRecentDocumentBo {
+
+    private String name;
+
+}

+ 2 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/bo/DocumentAuditBo.java

@@ -11,4 +11,6 @@ public class DocumentAuditBo {
 
     private String rejectReason;
 
+    private Long ossId;
+
 }

+ 12 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/vo/AppletMineCountVo.java

@@ -0,0 +1,12 @@
+package com.yingpaipay.business.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class AppletMineCountVo {
+
+    private Integer toSubmit;
+
+    private Integer toAudit;
+
+}

+ 16 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/domain/vo/AppletRecentDocumentVo.java

@@ -0,0 +1,16 @@
+package com.yingpaipay.business.domain.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class AppletRecentDocumentVo {
+
+    private Long id;
+
+    private String name;
+
+    private Date createTime;
+
+}

+ 4 - 0
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/service/IDocumentService.java

@@ -91,4 +91,8 @@ public interface IDocumentService {
     boolean send(DocumentSendBo bo);
 
     TableDataInfo<TaskCenterFilingListVo> listOnFiling(TaskCenterFilingListBo bo, PageQuery pageQuery);
+
+    AppletMineCountVo getCount();
+
+    TableDataInfo<AppletRecentDocumentVo> listRecentOnApplet(AppletRecentDocumentBo bo, PageQuery pageQuery);
 }

+ 57 - 1
ruoyi-modules/yingpaipay-business/src/main/java/com/yingpaipay/business/service/impl/DocumentServiceImpl.java

@@ -477,6 +477,62 @@ public class DocumentServiceImpl implements IDocumentService {
         }));
     }
 
+    @Override
+    public AppletMineCountVo getCount() {
+        AppletMineCountVo vo = new AppletMineCountVo();
+        List<Document> documentList = baseMapper.selectList(
+            Wrappers.lambdaQuery(Document.class)
+                .and(wrapper -> wrapper
+                    .eq(Document::getCreateBy, LoginHelper.getUserId()))
+                .or()
+                .eq(Document::getSubmitterId, LoginHelper.getUserId()
+                )
+                .in(Document::getStatus, List.of(DocumentStatusConst.UN_UPLOAD, DocumentStatusConst.UN_AUDIT))
+        );
+        vo.setToSubmit(
+            documentList
+                .stream()
+                .filter(e ->
+                    e.getSubmitterId().equals(LoginHelper.getUserId())
+                    &&
+                    (e.getStatus().equals(DocumentStatusConst.UN_UPLOAD) || e.getStatus().equals(DocumentStatusConst.AUDIT_REJECT))
+                ).toList().size()
+        );
+        vo.setToAudit(
+            documentList
+                .stream()
+                .filter(e ->
+                    e.getCreateBy().equals(LoginHelper.getUserId())
+                    &&
+                    e.getStatus().equals(DocumentStatusConst.UN_AUDIT)
+                ).toList().size()
+        );
+        return vo;
+    }
+
+    @Override
+    public TableDataInfo<AppletRecentDocumentVo> listRecentOnApplet(AppletRecentDocumentBo bo, PageQuery pageQuery) {
+        IPage<Document> page = baseMapper.selectPage(
+            pageQuery.build(),
+            Wrappers.lambdaQuery(Document.class)
+                .like(StringUtils.isNotBlank(bo.getName()), Document::getName, bo.getName())
+                .and(
+                    wrapper -> wrapper
+                        .eq(Document::getSubmitterId, LoginHelper.getUserId())
+                        .or()
+                        .eq(Document::getCreateBy, LoginHelper.getUserId())
+                )
+                .orderByDesc(Document::getId)
+        );
+        return TableDataInfo.build(page.convert(e -> {
+            AppletRecentDocumentVo vo = new AppletRecentDocumentVo();
+            vo.setId(e.getId());
+            vo.setName(e.getName());
+            vo.setCreateTime(e.getCreateTime());
+            return vo;
+        }));
+    }
+
     private LambdaQueryWrapper<Document> buildFilingListWrapper(TaskCenterFilingListBo bo, List<Long> folderIds) {
         return Wrappers.lambdaQuery(Document.class)
             .like(StringUtils.isNotBlank(bo.getName()), Document::getName, bo.getName())
@@ -521,7 +577,7 @@ public class DocumentServiceImpl implements IDocumentService {
     private DocumentAuditLog buildLog(Document document, String type, DocumentAuditBo bo) {
         DocumentAuditLog log = new DocumentAuditLog();
         log.setDocumentId(document.getId());
-        log.setOssId(document.getOssId());
+        log.setOssId(bo.getOssId());
         log.setAuditorType(type);
         log.setAuditorId(LoginHelper.getUserId());
         log.setResult(bo.getResult());

+ 7 - 0
ruoyi-modules/yingpaipay-setting/src/main/java/com/yingpaipay/setting/controller/CarouselSettingController.java

@@ -1,5 +1,6 @@
 package com.yingpaipay.setting.controller;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import lombok.RequiredArgsConstructor;
@@ -102,4 +103,10 @@ public class CarouselSettingController extends BaseController {
                           @PathVariable Long[] ids) {
         return toAjax(carouselSettingService.deleteWithValidByIds(List.of(ids), true));
     }
+
+    @GetMapping("/listOnApplet")
+    public R<List<CarouselSettingVo>> listOnApplet() {
+        return R.ok(carouselSettingService.queryList(new CarouselSettingBo()));
+    }
+
 }

+ 6 - 0
ruoyi-modules/yingpaipay-setting/src/main/java/com/yingpaipay/setting/service/impl/CarouselSettingServiceImpl.java

@@ -1,5 +1,6 @@
 package com.yingpaipay.setting.service.impl;
 
+import org.dromara.common.core.constant.CacheNames;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -9,6 +10,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import com.yingpaipay.setting.domain.bo.CarouselSettingBo;
 import com.yingpaipay.setting.domain.vo.CarouselSettingVo;
@@ -64,6 +67,7 @@ public class CarouselSettingServiceImpl implements ICarouselSettingService {
      * @param bo 查询条件
      * @return 轮播图设置列表
      */
+    @Cacheable(cacheNames = CacheNames.SETTING, key = "'carousel'")
     @Override
     public List<CarouselSettingVo> queryList(CarouselSettingBo bo) {
         LambdaQueryWrapper<CarouselSetting> lqw = buildQueryWrapper(bo);
@@ -83,6 +87,7 @@ public class CarouselSettingServiceImpl implements ICarouselSettingService {
      * @param bo 轮播图设置
      * @return 是否新增成功
      */
+    @CacheEvict(cacheNames = CacheNames.SETTING, key = "'carousel'")
     @Override
     public Boolean insertByBo(CarouselSettingBo bo) {
         CarouselSetting add = MapstructUtils.convert(bo, CarouselSetting.class);
@@ -100,6 +105,7 @@ public class CarouselSettingServiceImpl implements ICarouselSettingService {
      * @param bo 轮播图设置
      * @return 是否修改成功
      */
+    @CacheEvict(cacheNames = CacheNames.SETTING, key = "'carousel'")
     @Override
     public Boolean updateByBo(CarouselSettingBo bo) {
         CarouselSetting update = MapstructUtils.convert(bo, CarouselSetting.class);