cloud版更新

master
toesbieya 6 years ago
parent 4d563a11cf
commit 18495e0f37
  1. 15
      java/cloud/api/src/main/java/cn/toesbieya/jxc/api/FileApi.java
  2. 5
      java/cloud/api/src/main/java/cn/toesbieya/jxc/api/RecordApi.java
  3. 2
      java/cloud/api/src/main/java/cn/toesbieya/jxc/api/StockApi.java
  4. 2
      java/cloud/api/src/main/java/cn/toesbieya/jxc/api/system/DepartmentApi.java
  5. 2
      java/cloud/api/src/main/java/cn/toesbieya/jxc/api/system/ResourceApi.java
  6. 2
      java/cloud/api/src/main/java/cn/toesbieya/jxc/api/system/RoleApi.java
  7. 18
      java/cloud/api/src/main/java/cn/toesbieya/jxc/api/vo/AttachmentOperation.java
  8. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/util/DateUtil.java
  9. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/util/RedisUtil.java
  10. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/util/SessionUtil.java
  11. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/util/SpringUtil.java
  12. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/util/Util.java
  13. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/util/WebSocketUtil.java
  14. 4
      java/cloud/gateway/src/main/java/cn/toesbieya/jxc/gateway/filter/SecurityFilter.java
  15. 2
      java/cloud/nacos-config/jxc-common-database.yml
  16. 5
      java/cloud/nacos-config/jxc-gateway.yml
  17. 3
      java/cloud/nacos-config/jxc-web-file.yml
  18. 2
      java/cloud/nacos-config/jxc-web-message.yml
  19. 2
      java/cloud/nacos-config/jxc-web-record.yml
  20. 2
      java/cloud/nacos-config/jxc-web-statistic.yml
  21. 2
      java/cloud/nacos-config/jxc-web-stock.yml
  22. 2
      java/cloud/nacos-config/jxc-web-system.yml
  23. 4
      java/cloud/schedule/src/main/java/cn/toesbieya/jxc/schedule/task/DocTask.java
  24. 2
      java/cloud/schedule/src/main/java/cn/toesbieya/jxc/schedule/task/SessionTask.java
  25. 2
      java/cloud/schedule/src/main/java/cn/toesbieya/jxc/schedule/task/StatisticTask.java
  26. 20
      java/cloud/web/file/pom.xml
  27. 11
      java/cloud/web/file/src/main/java/cn/toesbieya/jxc/file/FileApplication.java
  28. 16
      java/cloud/web/file/src/main/java/cn/toesbieya/jxc/file/config/QiniuConfig.java
  29. 45
      java/cloud/web/file/src/main/java/cn/toesbieya/jxc/file/config/QiniuProperty.java
  30. 54
      java/cloud/web/file/src/main/java/cn/toesbieya/jxc/file/config/QiniuTemplate.java
  31. 33
      java/cloud/web/file/src/main/java/cn/toesbieya/jxc/file/controller/FileController.java
  32. 34
      java/cloud/web/file/src/main/java/cn/toesbieya/jxc/file/service/FileService.java
  33. 22
      java/cloud/web/file/src/main/resources/bootstrap.yml
  34. 2
      java/cloud/web/pom.xml
  35. 22
      java/cloud/web/web-common/pom.xml
  36. 4
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/LockAspect.java
  37. 13
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/RestExceptionAspect.java
  38. 6
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/UserActionAspect.java
  39. 24
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/config/QiniuConfig.java
  40. 17
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/SecurityInterceptor.java
  41. 2
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/UserActionInterceptor.java
  42. 2
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/ExcelUtil.java
  43. 2
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/HttpUtil.java
  44. 4
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/IpUtil.java
  45. 2
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/SecurityUtil.java
  46. 4
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/SessionUtil.java
  47. 4
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/ThreadUtil.java
  48. 3
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/WebUtil.java
  49. 76
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/QiniuUtil.java
  50. 4
      java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java
  51. 20
      java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java
  52. 3
      java/cloud/web/web-modules/account/src/main/resources/bootstrap.yml
  53. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseInboundController.java
  54. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseOrderController.java
  55. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOrderController.java
  56. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOutboundController.java
  57. 7
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/DocHistorySearch.java
  58. 8
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/DocHistoryService.java
  59. 13
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseInboundService.java
  60. 9
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseOrderService.java
  61. 11
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOrderService.java
  62. 13
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOutboundService.java
  63. 4
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/util/DocUtil.java
  64. 2
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/ManageController.java
  65. 2
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/UserController.java
  66. 2
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/service/ManageService.java
  67. 34
      java/cloud/web/web-modules/record/src/main/java/cn/toesbieya/jxc/record/service/RecordService.java
  68. 5
      java/cloud/web/web-modules/record/src/main/resources/bootstrap.yml
  69. 4
      java/cloud/web/web-modules/statistic/src/main/java/cn/toesbieya/jxc/statistic/service/StatisticService.java
  70. 4
      java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/service/StockService.java
  71. 2
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/RoleController.java
  72. 2
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/UserController.java
  73. 2
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/CustomerService.java
  74. 4
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/DepartmentService.java
  75. 2
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/ResourceService.java
  76. 2
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/RoleService.java
  77. 2
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SupplierService.java
  78. 4
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/UserService.java
  79. 4
      java/cloud/websocket/src/main/java/cn/toesbieya/jxc/socket/config/RedisEventListenerConfig.java
  80. 4
      java/cloud/websocket/src/main/java/cn/toesbieya/jxc/socket/server/WebSocketServer.java

@ -0,0 +1,15 @@
package cn.toesbieya.jxc.api;
import java.util.List;
public interface FileApi {
String getToken();
void delete(String key);
void deleteBatch(String... key);
default void deleteBatch(List<String> key) {
deleteBatch(key.toArray(new String[0]));
}
}

@ -1,6 +1,5 @@
package cn.toesbieya.jxc.api.service; package cn.toesbieya.jxc.api;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.common.model.entity.RecAttachment; import cn.toesbieya.jxc.common.model.entity.RecAttachment;
import cn.toesbieya.jxc.common.model.entity.RecLoginHistory; import cn.toesbieya.jxc.common.model.entity.RecLoginHistory;
import cn.toesbieya.jxc.common.model.entity.RecUserAction; import cn.toesbieya.jxc.common.model.entity.RecUserAction;
@ -10,7 +9,7 @@ import java.util.List;
public interface RecordApi { public interface RecordApi {
List<RecAttachment> getAttachmentByPid(String pid); List<RecAttachment> getAttachmentByPid(String pid);
void handleAttachment(AttachmentOperation vo); void handleAttachment(List<RecAttachment> upload, List<String> delete);
void delAttachmentByPid(String pid); void delAttachmentByPid(String pid);

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.api.service; package cn.toesbieya.jxc.api;
import cn.toesbieya.jxc.common.model.entity.BizStock; import cn.toesbieya.jxc.common.model.entity.BizStock;
import cn.toesbieya.jxc.common.model.vo.StockOutboundVo; import cn.toesbieya.jxc.common.model.vo.StockOutboundVo;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.api.service.system; package cn.toesbieya.jxc.api.system;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.DepartmentVo; import cn.toesbieya.jxc.common.model.vo.DepartmentVo;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.api.service.system; package cn.toesbieya.jxc.api.system;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.vo.ResourceVo; import cn.toesbieya.jxc.common.model.vo.ResourceVo;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.api.service.system; package cn.toesbieya.jxc.api.system;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;

@ -1,18 +0,0 @@
package cn.toesbieya.jxc.api.vo;
import cn.toesbieya.jxc.common.model.entity.RecAttachment;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AttachmentOperation implements Serializable {
private static final long serialVersionUID = 1L;
private List<RecAttachment> uploadImageList;
private List<String> deleteImageList;
}

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils; package cn.toesbieya.jxc.common.util;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDateTime; import java.time.LocalDateTime;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils; package cn.toesbieya.jxc.common.util;
import com.google.common.io.ByteStreams; import com.google.common.io.ByteStreams;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils; package cn.toesbieya.jxc.common.util;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils; package cn.toesbieya.jxc.common.util;
import org.springframework.expression.EvaluationContext; import org.springframework.expression.EvaluationContext;
import org.springframework.expression.ExpressionParser; import org.springframework.expression.ExpressionParser;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils; package cn.toesbieya.jxc.common.util;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils; package cn.toesbieya.jxc.common.util;
import cn.toesbieya.jxc.common.model.vo.SocketEventVo; import cn.toesbieya.jxc.common.model.vo.SocketEventVo;
import cn.toesbieya.jxc.common.constant.SocketConstant; import cn.toesbieya.jxc.common.constant.SocketConstant;

@ -6,8 +6,8 @@ import cn.toesbieya.jxc.gateway.config.ResourceConfig;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import cn.toesbieya.jxc.common.constant.SessionConstant; import cn.toesbieya.jxc.common.constant.SessionConstant;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.common.util.SessionUtil;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.cloud.gateway.filter.GlobalFilter;

@ -11,7 +11,7 @@ mybatis-plus:
configuration: configuration:
local-cache-scope: STATEMENT local-cache-scope: STATEMENT
cache-enabled: false cache-enabled: false
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config: global-config:
banner: false banner: false
db-config: db-config:

@ -27,6 +27,11 @@ spring:
predicates: predicates:
- Path=/doc/** - Path=/doc/**
- id: jxc-web-file
uri: lb://jxc-web-file
predicates:
- Path=/file/**
- id: jxc-web-message - id: jxc-web-message
uri: lb://jxc-web-message uri: lb://jxc-web-message
predicates: predicates:

@ -1,3 +1,6 @@
server:
port: 8002
qiniu: qiniu:
access-key: access-key:
secret-key: secret-key:

@ -1,4 +1,4 @@
server: server:
port: 8002 port: 8003
servlet: servlet:
context-path: /message context-path: /message

@ -1,2 +1,2 @@
server: server:
port: 8003 port: 8004

@ -1,2 +1,2 @@
server: server:
port: 8004 port: 8005

@ -1,2 +1,2 @@
server: server:
port: 8005 port: 8006

@ -1,4 +1,4 @@
server: server:
port: 8006 port: 8007
servlet: servlet:
context-path: /system context-path: /system

@ -1,8 +1,8 @@
package cn.toesbieya.jxc.schedule.task; package cn.toesbieya.jxc.schedule.task;
import cn.toesbieya.jxc.common.constant.DocConstant; import cn.toesbieya.jxc.common.constant.DocConstant;
import cn.toesbieya.jxc.common.utils.DateUtil; import cn.toesbieya.jxc.common.util.DateUtil;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.util.RedisUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.DependsOn;

@ -3,7 +3,7 @@ package cn.toesbieya.jxc.schedule.task;
import cn.toesbieya.jxc.common.constant.SessionConstant; import cn.toesbieya.jxc.common.constant.SessionConstant;
import cn.toesbieya.jxc.common.constant.SocketConstant; import cn.toesbieya.jxc.common.constant.SocketConstant;
import cn.toesbieya.jxc.common.model.vo.SocketOfflineVo; import cn.toesbieya.jxc.common.model.vo.SocketOfflineVo;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.util.RedisUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;

@ -3,7 +3,7 @@ package cn.toesbieya.jxc.schedule.task;
import cn.toesbieya.jxc.common.model.entity.StatFinishOrder; import cn.toesbieya.jxc.common.model.entity.StatFinishOrder;
import cn.toesbieya.jxc.common.model.entity.StatProfitGoods; import cn.toesbieya.jxc.common.model.entity.StatProfitGoods;
import cn.toesbieya.jxc.common.model.entity.StatProfitTotal; import cn.toesbieya.jxc.common.model.entity.StatProfitTotal;
import cn.toesbieya.jxc.common.utils.DateUtil; import cn.toesbieya.jxc.common.util.DateUtil;
import cn.toesbieya.jxc.schedule.mapper.StatisticMapper; import cn.toesbieya.jxc.schedule.mapper.StatisticMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>web</artifactId>
<groupId>cn.toesbieya</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>file</artifactId>
<dependencies>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,11 @@
package cn.toesbieya.jxc.file;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = "cn.toesbieya.jxc")
public class FileApplication {
public static void main(String[] args) {
SpringApplication.run(FileApplication.class, args);
}
}

@ -0,0 +1,16 @@
package cn.toesbieya.jxc.file.config;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
@Configuration
@EnableConfigurationProperties(QiniuProperty.class)
@DependsOn("redisUtil")
public class QiniuConfig {
@Bean
public QiniuTemplate qiniuTemplate(QiniuProperty property) {
return new QiniuTemplate(property);
}
}

@ -0,0 +1,45 @@
package cn.toesbieya.jxc.file.config;
import com.qiniu.storage.Region;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
@Data
@ConfigurationProperties("qiniu")
@RefreshScope
public class QiniuProperty {
private String accessKey;
private String secretKey;
private String bucket;
//机房区域,默认为自动
private QiniuRegion region = QiniuRegion.auto;
//临时上传凭证的有效期,单位秒
private Integer tokenExpire = 3600;
//临时上传凭证的redis键名
private String redisCacheKey = "qiniu-token";
enum QiniuRegion {
auto(Region.autoRegion()),
huadong(Region.huadong()),
huabei(Region.huabei()),
huanan(Region.huanan()),
beimei(Region.beimei()),
xinjiapo(Region.xinjiapo());
private final Region region;
QiniuRegion(Region region) {
this.region = region;
}
public Region getRegion() {
return this.region;
}
}
}

@ -0,0 +1,54 @@
package cn.toesbieya.jxc.file.config;
import cn.toesbieya.jxc.common.util.RedisUtil;
import com.qiniu.common.QiniuException;
import com.qiniu.storage.BucketManager;
import com.qiniu.storage.Configuration;
import com.qiniu.util.Auth;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class QiniuTemplate {
private final QiniuProperty property;
private final Auth auth;
private final BucketManager bucketManager;
public QiniuTemplate(QiniuProperty property) {
this.property = property;
this.auth = Auth.create(property.getAccessKey(), property.getSecretKey());
this.bucketManager = new BucketManager(this.auth, new Configuration(property.getRegion().getRegion()));
}
public String getToken() {
String key = property.getRedisCacheKey();
String token = (String) RedisUtil.get(key);
if (token == null) {
token = auth.uploadToken(property.getBucket());
RedisUtil.set(key, token, property.getTokenExpire());
}
return token;
}
public void delete(String key) {
try {
bucketManager.delete(property.getBucket(), key);
}
catch (QiniuException e) {
log.info("七牛云删除单个文件失败,{}", e.getMessage());
}
}
public void deleteBatch(String... key) {
BucketManager.BatchOperations batchOperations = new BucketManager.BatchOperations();
batchOperations.addDeleteOp(property.getBucket(), key);
try {
bucketManager.batch(batchOperations);
}
catch (QiniuException e) {
log.info("七牛云批量删除文件失败,{}", e.getMessage());
}
}
}

@ -0,0 +1,33 @@
package cn.toesbieya.jxc.file.controller;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.file.service.FileService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
@Controller
@RequestMapping("file")
public class FileController {
@Resource
private FileService service;
@GetMapping("delete")
@ResponseBody
public Result delete(@RequestParam String url) throws UnsupportedEncodingException {
service.delete(URLDecoder.decode(url, "utf-8"));
return Result.success("删除成功");
}
@GetMapping("getToken")
@ResponseBody
public Result getToken() {
return Result.success(null, service.getToken());
}
}

@ -0,0 +1,34 @@
package cn.toesbieya.jxc.file.service;
import cn.toesbieya.jxc.api.FileApi;
import cn.toesbieya.jxc.file.config.QiniuTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
@org.apache.dubbo.config.annotation.Service
public class FileService implements FileApi {
@Resource
private QiniuTemplate template;
@Override
public String getToken() {
return template.getToken();
}
@Override
public void delete(String key) {
template.delete(key);
}
@Override
public void deleteBatch(String... key) {
template.deleteBatch(key);
}
/*@Override
public void deleteBatch(List<String> key) {
deleteBatch(key.toArray(new String[0]));
}*/
}

@ -0,0 +1,22 @@
spring:
application:
name: jxc-web-file
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
shared-configs:
- data-id: jxc-common-redis.yml
discovery:
server-addr: 127.0.0.1:8848
dubbo:
protocol:
port: -1
name: dubbo
scan:
base-packages: cn.toesbieya.jxc.file.service
registry:
address: nacos://127.0.0.1:8848

@ -11,6 +11,7 @@
<modules> <modules>
<module>web-modules</module> <module>web-modules</module>
<module>web-common</module> <module>web-common</module>
<module>file</module>
</modules> </modules>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -41,7 +42,6 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId> <artifactId>spring-cloud-starter-dubbo</artifactId>

@ -18,27 +18,13 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>easyexcel</artifactId> <artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.alibaba</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId> <artifactId>easyexcel</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,8 +1,8 @@
package cn.toesbieya.jxc.web.common.aspect; package cn.toesbieya.jxc.web.common.aspect;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.util.RedisUtil;
import cn.toesbieya.jxc.common.utils.SpringUtil; import cn.toesbieya.jxc.common.util.SpringUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;

@ -1,12 +1,13 @@
package cn.toesbieya.jxc.web.common.aspect; package cn.toesbieya.jxc.web.common.aspect;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.common.exception.JsonResultException; import cn.toesbieya.jxc.common.exception.JsonResultException;
import cn.toesbieya.jxc.common.model.entity.RecUserAction; import cn.toesbieya.jxc.common.model.entity.RecUserAction;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.web.common.enumeration.UserActionEnum; import cn.toesbieya.jxc.web.common.enumeration.UserActionEnum;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil; import cn.toesbieya.jxc.web.common.util.ThreadUtil;
import cn.toesbieya.jxc.web.common.util.WebUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.Reference; import org.apache.dubbo.config.annotation.Reference;
import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotReadableException;
@ -39,14 +40,14 @@ public class RestExceptionAspect {
//@RequestParam没有匹配到值 //@RequestParam没有匹配到值
@ExceptionHandler(MissingServletRequestParameterException.class) @ExceptionHandler(MissingServletRequestParameterException.class)
public Result handle(MissingServletRequestParameterException e) { public Result handle(MissingServletRequestParameterException e) {
log.error(e.getMessage(), e); log.error(e.getMessage());
return Result.fail("get参数有误"); return Result.fail("get参数有误");
} }
//@RequestBody没有匹配到值 //@RequestBody没有匹配到值
@ExceptionHandler(HttpMessageNotReadableException.class) @ExceptionHandler(HttpMessageNotReadableException.class)
public Result handle(HttpMessageNotReadableException e) { public Result handle(HttpMessageNotReadableException e) {
log.error(e.getMessage(), e); log.error(e.getMessage());
return Result.fail("post参数有误"); return Result.fail("post参数有误");
} }
@ -61,7 +62,7 @@ public class RestExceptionAspect {
//最终捕获 //最终捕获
@ExceptionHandler(Exception.class) @ExceptionHandler(Exception.class)
public Result handle(Exception e) { public Result handle(Exception e) {
log.error("服务运行异常", e); log.error(String.format("服务运行异常,访问路径:%s", WebUtil.getRequest().getServletPath()), e);
recordUserAction(e); recordUserAction(e);
return Result.fail("服务运行异常"); return Result.fail("服务运行异常");
} }

@ -1,12 +1,12 @@
package cn.toesbieya.jxc.web.common.aspect; package cn.toesbieya.jxc.web.common.aspect;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.common.model.entity.RecUserAction; import cn.toesbieya.jxc.common.model.entity.RecUserAction;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.SpringUtil; import cn.toesbieya.jxc.common.util.SpringUtil;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.enumeration.UserActionEnum; import cn.toesbieya.jxc.web.common.enumeration.UserActionEnum;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil; import cn.toesbieya.jxc.web.common.util.ThreadUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.Reference; import org.apache.dubbo.config.annotation.Reference;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;

@ -1,24 +0,0 @@
package cn.toesbieya.jxc.web.common.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties("qiniu")
@RefreshScope
@Data
public class QiniuConfig {
private String accessKey;
private String secretKey;
private String bucket;
//临时上传凭证的有效期,单位秒
private Integer tokenExpire = 3600;
//临时上传凭证的redis键名
private String redisCacheKey = "qiniu-token";
}

@ -1,10 +1,8 @@
package cn.toesbieya.jxc.web.common.interceptor; package cn.toesbieya.jxc.web.common.interceptor;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.common.util.SessionUtil;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil; import cn.toesbieya.jxc.web.common.util.ThreadUtil;
import cn.toesbieya.jxc.web.common.utils.WebUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
@ -16,15 +14,8 @@ public class SecurityInterceptor implements HandlerInterceptor {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get(request);
if (user == null) ThreadUtil.clearAll();
if (user == null) { else ThreadUtil.setUser(user);
WebUtil.responseJson(response, Result.requireLogin());
ThreadUtil.clearAll();
return false;
}
ThreadUtil.setUser(user);
return true; return true;
} }
} }

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.web.common.interceptor; package cn.toesbieya.jxc.web.common.interceptor;
import cn.toesbieya.jxc.web.common.interceptor.predicate.UserActionPredicate; import cn.toesbieya.jxc.web.common.interceptor.predicate.UserActionPredicate;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil; import cn.toesbieya.jxc.web.common.util.ThreadUtil;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.web.common.utils; package cn.toesbieya.jxc.web.common.util;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.web.common.utils; package cn.toesbieya.jxc.web.common.util;
import okhttp3.Call; import okhttp3.Call;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;

@ -1,6 +1,6 @@
package cn.toesbieya.jxc.web.common.utils; package cn.toesbieya.jxc.web.common.util;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.util.RedisUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.web.common.utils; package cn.toesbieya.jxc.web.common.util;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;

@ -1,8 +1,8 @@
package cn.toesbieya.jxc.web.common.utils; package cn.toesbieya.jxc.web.common.util;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
public class SessionUtil extends cn.toesbieya.jxc.common.utils.SessionUtil { public class SessionUtil extends cn.toesbieya.jxc.common.util.SessionUtil {
public static UserVo get() { public static UserVo get() {
UserVo user = ThreadUtil.getUser(); UserVo user = ThreadUtil.getUser();
return user == null ? get(WebUtil.getRequest()) : user; return user == null ? get(WebUtil.getRequest()) : user;

@ -1,8 +1,8 @@
package cn.toesbieya.jxc.web.common.utils; package cn.toesbieya.jxc.web.common.util;
import cn.toesbieya.jxc.common.model.entity.RecUserAction; import cn.toesbieya.jxc.common.model.entity.RecUserAction;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.common.util.SessionUtil;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.web.common.utils; package cn.toesbieya.jxc.web.common.util;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@ -14,7 +14,6 @@ public class WebUtil {
public static void responseJson(HttpServletResponse response, Result result) throws IOException { public static void responseJson(HttpServletResponse response, Result result) throws IOException {
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8"); response.setContentType("application/json; charset=utf-8");
response.getWriter().print(JSON.toJSONString(result)); response.getWriter().print(JSON.toJSONString(result));
} }

@ -1,76 +0,0 @@
package cn.toesbieya.jxc.web.common.utils;
import cn.toesbieya.jxc.common.utils.RedisUtil;
import cn.toesbieya.jxc.web.common.config.QiniuConfig;
import com.qiniu.common.QiniuException;
import com.qiniu.storage.BucketManager;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.util.Auth;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.List;
@Slf4j
@Component
@DependsOn("redisUtil")
public class QiniuUtil {
private final QiniuConfig config;
private final Auth auth;
private final BucketManager bucketManager;
@Autowired
public QiniuUtil(QiniuConfig config) {
this.config = config;
if (StringUtils.isEmpty(config.getAccessKey())) {
this.auth = null;
this.bucketManager = null;
return;
}
this.auth = Auth.create(config.getAccessKey(), config.getSecretKey());
this.bucketManager = new BucketManager(this.auth, new Configuration(Region.huadong()));
}
public String getToken() {
String key = config.getRedisCacheKey();
String token = (String) RedisUtil.get(key);
if (token == null) {
token = auth.uploadToken(config.getBucket());
RedisUtil.set(key, token, config.getTokenExpire());
}
return token;
}
public void delete(String key) {
try {
bucketManager.delete(config.getBucket(), key);
}
catch (QiniuException e) {
log.info("七牛云删除单个文件失败,{}", e.getMessage());
}
}
public void deleteBatch(String... key) {
BucketManager.BatchOperations batchOperations = new BucketManager.BatchOperations();
batchOperations.addDeleteOp(config.getBucket(), key);
try {
bucketManager.batch(batchOperations);
}
catch (QiniuException e) {
log.info("七牛云批量删除文件失败,{}", e.getMessage());
}
}
public void deleteBatch(List<String> key) {
deleteBatch(key.toArray(new String[0]));
}
}

@ -7,8 +7,8 @@ import cn.toesbieya.jxc.account.vo.RegisterParam;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.web.common.utils.IpUtil; import cn.toesbieya.jxc.web.common.util.IpUtil;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

@ -6,10 +6,11 @@ import cn.toesbieya.jxc.account.vo.LoginParam;
import cn.toesbieya.jxc.account.vo.LoginSuccessInfo; import cn.toesbieya.jxc.account.vo.LoginSuccessInfo;
import cn.toesbieya.jxc.account.vo.PasswordUpdateParam; import cn.toesbieya.jxc.account.vo.PasswordUpdateParam;
import cn.toesbieya.jxc.account.vo.RegisterParam; import cn.toesbieya.jxc.account.vo.RegisterParam;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.FileApi;
import cn.toesbieya.jxc.api.service.system.DepartmentApi; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.service.system.ResourceApi; import cn.toesbieya.jxc.api.system.DepartmentApi;
import cn.toesbieya.jxc.api.service.system.RoleApi; import cn.toesbieya.jxc.api.system.ResourceApi;
import cn.toesbieya.jxc.api.system.RoleApi;
import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum;
import cn.toesbieya.jxc.common.model.entity.RecLoginHistory; import cn.toesbieya.jxc.common.model.entity.RecLoginHistory;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
@ -18,10 +19,9 @@ import cn.toesbieya.jxc.common.model.vo.DepartmentVo;
import cn.toesbieya.jxc.common.model.vo.ResourceVo; import cn.toesbieya.jxc.common.model.vo.ResourceVo;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.common.util.SessionUtil;
import cn.toesbieya.jxc.web.common.annoation.TimeCost; import cn.toesbieya.jxc.web.common.annoation.TimeCost;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.utils.QiniuUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.Reference; import org.apache.dubbo.config.annotation.Reference;
@ -36,8 +36,8 @@ import java.util.*;
public class AccountService { public class AccountService {
@Resource @Resource
private SysUserMapper userMapper; private SysUserMapper userMapper;
@Resource @Reference
private QiniuUtil qiniuUtil; private FileApi fileApi;
@Reference @Reference
private RecordApi recordApi; private RecordApi recordApi;
@Reference @Reference
@ -210,7 +210,7 @@ public class AccountService {
if (rows > 0) { if (rows > 0) {
String oldAvatar = user.getAvatar(); String oldAvatar = user.getAvatar();
if (!StringUtils.isEmpty(oldAvatar)) { if (!StringUtils.isEmpty(oldAvatar)) {
qiniuUtil.delete(oldAvatar); fileApi.delete(oldAvatar);
} }
user.setAvatar(avatar); user.setAvatar(avatar);
SessionUtil.save(user); SessionUtil.save(user);
@ -218,7 +218,7 @@ public class AccountService {
} }
//否则删除此次上传至云的头像 //否则删除此次上传至云的头像
qiniuUtil.delete(avatar); fileApi.delete(avatar);
return Result.fail("上传头像失败"); return Result.fail("上传头像失败");
} }

@ -10,7 +10,6 @@ spring:
shared-configs: shared-configs:
- data-id: jxc-common-database.yml - data-id: jxc-common-database.yml
- data-id: jxc-common-redis.yml - data-id: jxc-common-redis.yml
- data-id: jxc-common-qiniu.yml
discovery: discovery:
server-addr: 127.0.0.1:8848 server-addr: 127.0.0.1:8848
@ -18,4 +17,4 @@ dubbo:
registry: registry:
address: nacos://127.0.0.1:8848 address: nacos://127.0.0.1:8848
cloud: cloud:
subscribed-services: jxc-web-record,jxc-web-system subscribed-services: jxc-web-file,jxc-web-record,jxc-web-system

@ -9,7 +9,7 @@ import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundSearch; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundSearch;
import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundVo; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundVo;
import cn.toesbieya.jxc.doc.service.PurchaseInboundService; import cn.toesbieya.jxc.doc.service.PurchaseInboundService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

@ -10,7 +10,7 @@ import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderSearch; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderSearch;
import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderVo; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderVo;
import cn.toesbieya.jxc.doc.service.PurchaseOrderService; import cn.toesbieya.jxc.doc.service.PurchaseOrderService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

@ -9,7 +9,7 @@ import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.doc.model.vo.SellOrderSearch; import cn.toesbieya.jxc.doc.model.vo.SellOrderSearch;
import cn.toesbieya.jxc.doc.model.vo.SellOrderVo; import cn.toesbieya.jxc.doc.model.vo.SellOrderVo;
import cn.toesbieya.jxc.doc.service.SellOrderService; import cn.toesbieya.jxc.doc.service.SellOrderService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

@ -9,7 +9,7 @@ import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.doc.model.vo.SellOutboundSearch; import cn.toesbieya.jxc.doc.model.vo.SellOutboundSearch;
import cn.toesbieya.jxc.doc.model.vo.SellOutboundVo; import cn.toesbieya.jxc.doc.model.vo.SellOutboundVo;
import cn.toesbieya.jxc.doc.service.SellOutboundService; import cn.toesbieya.jxc.doc.service.SellOutboundService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

@ -1,9 +1,14 @@
package cn.toesbieya.jxc.doc.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import cn.toesbieya.jxc.common.model.vo.BaseSearch;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Data @Data
public class DocHistorySearch { @ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class DocHistorySearch extends BaseSearch {
private String pid; private String pid;
private String type; private String type;
private String uid; private String uid;

@ -3,20 +3,21 @@ package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.common.model.entity.BizDocHistory; import cn.toesbieya.jxc.common.model.entity.BizDocHistory;
import cn.toesbieya.jxc.doc.mapper.DocHistoryMapper; import cn.toesbieya.jxc.doc.mapper.DocHistoryMapper;
import cn.toesbieya.jxc.doc.model.vo.DocHistorySearch; import cn.toesbieya.jxc.doc.model.vo.DocHistorySearch;
import cn.toesbieya.jxc.web.common.model.vo.PageResult;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
@Service @Service
public class DocHistoryService { public class DocHistoryService {
@Resource @Resource
private DocHistoryMapper mapper; private DocHistoryMapper mapper;
public List<BizDocHistory> search(DocHistorySearch vo) { public PageResult<BizDocHistory> search(DocHistorySearch vo) {
String pid = vo.getPid(); String pid = vo.getPid();
String type = vo.getType(); String type = vo.getType();
String uid = vo.getUid(); String uid = vo.getUid();
@ -29,6 +30,7 @@ public class DocHistoryService {
.like(!StringUtils.isEmpty(uname), BizDocHistory::getUname, uname) .like(!StringUtils.isEmpty(uname), BizDocHistory::getUname, uname)
.orderByDesc(BizDocHistory::getId); .orderByDesc(BizDocHistory::getId);
return mapper.selectList(wrapper); PageHelper.startPage(vo.getPage(), vo.getPageSize());
return new PageResult<>(mapper.selectList(wrapper));
} }
} }

@ -1,13 +1,12 @@
package cn.toesbieya.jxc.doc.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi; import cn.toesbieya.jxc.api.StockApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.common.exception.JsonResultException; import cn.toesbieya.jxc.common.exception.JsonResultException;
import cn.toesbieya.jxc.common.model.entity.*; import cn.toesbieya.jxc.common.model.entity.*;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.doc.enumeration.DocFinishEnum; import cn.toesbieya.jxc.doc.enumeration.DocFinishEnum;
import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum;
import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
@ -20,7 +19,7 @@ import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
import cn.toesbieya.jxc.web.common.utils.ExcelUtil; import cn.toesbieya.jxc.web.common.util.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -312,7 +311,7 @@ public class PurchaseInboundService {
attachment.setPid(id); attachment.setPid(id);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null)); recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id); return Result.success("添加成功", id);
} }
@ -347,7 +346,7 @@ public class PurchaseInboundService {
attachment.setPid(docId); attachment.setPid(docId);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList())); recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
return Result.success("修改成功"); return Result.success("修改成功");
} }

@ -1,7 +1,6 @@
package cn.toesbieya.jxc.doc.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.common.model.entity.BizDocHistory; import cn.toesbieya.jxc.common.model.entity.BizDocHistory;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub;
@ -21,7 +20,7 @@ import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
import cn.toesbieya.jxc.web.common.utils.ExcelUtil; import cn.toesbieya.jxc.web.common.util.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -247,7 +246,7 @@ public class PurchaseOrderService {
attachment.setPid(id); attachment.setPid(id);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null)); recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id); return Result.success("添加成功", id);
} }
@ -285,7 +284,7 @@ public class PurchaseOrderService {
attachment.setPid(docId); attachment.setPid(docId);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList())); recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
return Result.success("修改成功"); return Result.success("修改成功");
} }

@ -1,8 +1,7 @@
package cn.toesbieya.jxc.doc.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi; import cn.toesbieya.jxc.api.StockApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.common.model.entity.*; import cn.toesbieya.jxc.common.model.entity.*;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.StockSearch; import cn.toesbieya.jxc.common.model.vo.StockSearch;
@ -21,7 +20,7 @@ import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
import cn.toesbieya.jxc.web.common.utils.ExcelUtil; import cn.toesbieya.jxc.web.common.util.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -252,7 +251,7 @@ public class SellOrderService {
attachment.setPid(id); attachment.setPid(id);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null)); recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id); return Result.success("添加成功", id);
} }
@ -291,7 +290,7 @@ public class SellOrderService {
attachment.setPid(docId); attachment.setPid(docId);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList())); recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
return Result.success("修改成功"); return Result.success("修改成功");
} }

@ -1,14 +1,13 @@
package cn.toesbieya.jxc.doc.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi; import cn.toesbieya.jxc.api.StockApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.common.exception.JsonResultException; import cn.toesbieya.jxc.common.exception.JsonResultException;
import cn.toesbieya.jxc.common.model.entity.*; import cn.toesbieya.jxc.common.model.entity.*;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.StockOutboundVo; import cn.toesbieya.jxc.common.model.vo.StockOutboundVo;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.doc.enumeration.DocFinishEnum; import cn.toesbieya.jxc.doc.enumeration.DocFinishEnum;
import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum;
import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
@ -21,7 +20,7 @@ import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
import cn.toesbieya.jxc.web.common.utils.ExcelUtil; import cn.toesbieya.jxc.web.common.util.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -315,7 +314,7 @@ public class SellOutboundService {
attachment.setPid(id); attachment.setPid(id);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null)); recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id); return Result.success("添加成功", id);
} }
@ -350,7 +349,7 @@ public class SellOutboundService {
attachment.setPid(docId); attachment.setPid(docId);
attachment.setTime(time); attachment.setTime(time);
} }
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList())); recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
return Result.success("修改成功"); return Result.success("修改成功");
} }

@ -2,8 +2,8 @@ package cn.toesbieya.jxc.doc.util;
import cn.toesbieya.jxc.common.constant.DocConstant; import cn.toesbieya.jxc.common.constant.DocConstant;
import cn.toesbieya.jxc.common.model.entity.BizDoc; import cn.toesbieya.jxc.common.model.entity.BizDoc;
import cn.toesbieya.jxc.common.utils.DateUtil; import cn.toesbieya.jxc.common.util.DateUtil;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.util.RedisUtil;
import cn.toesbieya.jxc.doc.model.vo.DocSearch; import cn.toesbieya.jxc.doc.model.vo.DocSearch;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;

@ -6,7 +6,7 @@ import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.message.constant.MsgConstant; import cn.toesbieya.jxc.message.constant.MsgConstant;
import cn.toesbieya.jxc.message.model.vo.MsgSearch; import cn.toesbieya.jxc.message.model.vo.MsgSearch;
import cn.toesbieya.jxc.message.service.ManageService; import cn.toesbieya.jxc.message.service.ManageService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

@ -4,7 +4,7 @@ import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.message.model.vo.MsgPersonalSearch; import cn.toesbieya.jxc.message.model.vo.MsgPersonalSearch;
import cn.toesbieya.jxc.message.service.UserService; import cn.toesbieya.jxc.message.service.UserService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;

@ -4,7 +4,7 @@ import cn.toesbieya.jxc.common.constant.SocketConstant;
import cn.toesbieya.jxc.common.model.entity.Msg; import cn.toesbieya.jxc.common.model.entity.Msg;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.SocketEventVo; import cn.toesbieya.jxc.common.model.vo.SocketEventVo;
import cn.toesbieya.jxc.common.utils.WebSocketUtil; import cn.toesbieya.jxc.common.util.WebSocketUtil;
import cn.toesbieya.jxc.message.constant.MsgConstant; import cn.toesbieya.jxc.message.constant.MsgConstant;
import cn.toesbieya.jxc.message.mapper.MsgMapper; import cn.toesbieya.jxc.message.mapper.MsgMapper;
import cn.toesbieya.jxc.message.model.vo.MsgSearch; import cn.toesbieya.jxc.message.model.vo.MsgSearch;

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.record.service; package cn.toesbieya.jxc.record.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.FileApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation; import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.common.model.entity.RecAttachment; import cn.toesbieya.jxc.common.model.entity.RecAttachment;
import cn.toesbieya.jxc.common.model.entity.RecLoginHistory; import cn.toesbieya.jxc.common.model.entity.RecLoginHistory;
import cn.toesbieya.jxc.common.model.entity.RecUserAction; import cn.toesbieya.jxc.common.model.entity.RecUserAction;
@ -11,11 +11,11 @@ import cn.toesbieya.jxc.record.mapper.RecUserActionMapper;
import cn.toesbieya.jxc.record.model.vo.LoginHistorySearch; import cn.toesbieya.jxc.record.model.vo.LoginHistorySearch;
import cn.toesbieya.jxc.record.model.vo.UserActionSearch; import cn.toesbieya.jxc.record.model.vo.UserActionSearch;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
import cn.toesbieya.jxc.web.common.utils.IpUtil; import cn.toesbieya.jxc.web.common.util.IpUtil;
import cn.toesbieya.jxc.web.common.utils.QiniuUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -36,8 +36,8 @@ public class RecordService implements RecordApi {
private RecUserActionMapper userActionMapper; private RecUserActionMapper userActionMapper;
@Resource @Resource
private RecAttachmentMapper attachmentMapper; private RecAttachmentMapper attachmentMapper;
@Resource @Reference
private QiniuUtil qiniuUtil; private FileApi fileApi;
public PageResult<RecLoginHistory> searchLoginHistory(LoginHistorySearch vo) { public PageResult<RecLoginHistory> searchLoginHistory(LoginHistorySearch vo) {
Integer uid = vo.getUid(); Integer uid = vo.getUid();
@ -87,6 +87,7 @@ public class RecordService implements RecordApi {
return new PageResult<>(userActionMapper.selectList(wrapper)); return new PageResult<>(userActionMapper.selectList(wrapper));
} }
@Override
public List<RecAttachment> getAttachmentByPid(String pid) { public List<RecAttachment> getAttachmentByPid(String pid) {
if (StringUtils.isEmpty(pid)) { if (StringUtils.isEmpty(pid)) {
return Collections.emptyList(); return Collections.emptyList();
@ -99,23 +100,22 @@ public class RecordService implements RecordApi {
); );
} }
@Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void handleAttachment(AttachmentOperation vo) { public void handleAttachment(List<RecAttachment> upload, List<String> delete) {
List<RecAttachment> uploadImageList = vo.getUploadImageList(); if (!CollectionUtils.isEmpty(upload)) {
List<String> deleteImageList = vo.getDeleteImageList(); attachmentMapper.insertBatch(upload);
if (!CollectionUtils.isEmpty(uploadImageList)) {
attachmentMapper.insertBatch(uploadImageList);
} }
if (!CollectionUtils.isEmpty(deleteImageList)) { if (!CollectionUtils.isEmpty(delete)) {
attachmentMapper.delete( attachmentMapper.delete(
Wrappers.lambdaQuery(RecAttachment.class) Wrappers.lambdaQuery(RecAttachment.class)
.in(RecAttachment::getUrl, deleteImageList) .in(RecAttachment::getUrl, delete)
); );
qiniuUtil.deleteBatch(deleteImageList.toArray(new String[0])); fileApi.deleteBatch(delete);
} }
} }
@Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delAttachmentByPid(String pid) { public void delAttachmentByPid(String pid) {
List<RecAttachment> list = attachmentMapper.selectList( List<RecAttachment> list = attachmentMapper.selectList(
@ -128,9 +128,10 @@ public class RecordService implements RecordApi {
attachmentMapper.delete(Wrappers.lambdaQuery(RecAttachment.class).eq(RecAttachment::getPid, pid)); attachmentMapper.delete(Wrappers.lambdaQuery(RecAttachment.class).eq(RecAttachment::getPid, pid));
List<String> urls = list.stream().map(RecAttachment::getUrl).collect(Collectors.toList()); List<String> urls = list.stream().map(RecAttachment::getUrl).collect(Collectors.toList());
qiniuUtil.deleteBatch(urls); fileApi.deleteBatch(urls);
} }
@Override
@Async("dbInsertExecutor") @Async("dbInsertExecutor")
public void insertLoginHistory(RecLoginHistory history) { public void insertLoginHistory(RecLoginHistory history) {
if (StringUtils.isEmpty(history.getAddress())) { if (StringUtils.isEmpty(history.getAddress())) {
@ -140,6 +141,7 @@ public class RecordService implements RecordApi {
loginHistoryMapper.insert(history); loginHistoryMapper.insert(history);
} }
@Override
@Async("dbInsertExecutor") @Async("dbInsertExecutor")
public void insertUserAction(RecUserAction action) { public void insertUserAction(RecUserAction action) {
action.setId(null); action.setId(null);

@ -10,7 +10,6 @@ spring:
shared-configs: shared-configs:
- data-id: jxc-common-database.yml - data-id: jxc-common-database.yml
- data-id: jxc-common-redis.yml - data-id: jxc-common-redis.yml
- data-id: jxc-common-qiniu.yml
discovery: discovery:
server-addr: 127.0.0.1:8848 server-addr: 127.0.0.1:8848
@ -21,4 +20,6 @@ dubbo:
scan: scan:
base-packages: cn.toesbieya.jxc.record.service base-packages: cn.toesbieya.jxc.record.service
registry: registry:
address: nacos://127.0.0.1:8848 address: nacos://127.0.0.1:8848
cloud:
subscribed-services: jxc-web-file

@ -3,8 +3,8 @@ package cn.toesbieya.jxc.statistic.service;
import cn.toesbieya.jxc.common.model.entity.StatFinishOrder; import cn.toesbieya.jxc.common.model.entity.StatFinishOrder;
import cn.toesbieya.jxc.common.model.entity.StatProfitGoods; import cn.toesbieya.jxc.common.model.entity.StatProfitGoods;
import cn.toesbieya.jxc.common.model.entity.StatProfitTotal; import cn.toesbieya.jxc.common.model.entity.StatProfitTotal;
import cn.toesbieya.jxc.common.utils.DateUtil; import cn.toesbieya.jxc.common.util.DateUtil;
import cn.toesbieya.jxc.common.utils.WebSocketUtil; import cn.toesbieya.jxc.common.util.WebSocketUtil;
import cn.toesbieya.jxc.statistic.mapper.StatisticMapper; import cn.toesbieya.jxc.statistic.mapper.StatisticMapper;
import cn.toesbieya.jxc.statistic.model.vo.FourBlockStat; import cn.toesbieya.jxc.statistic.model.vo.FourBlockStat;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

@ -1,6 +1,6 @@
package cn.toesbieya.jxc.stock.service; package cn.toesbieya.jxc.stock.service;
import cn.toesbieya.jxc.api.service.StockApi; import cn.toesbieya.jxc.api.StockApi;
import cn.toesbieya.jxc.common.exception.JsonResultException; import cn.toesbieya.jxc.common.exception.JsonResultException;
import cn.toesbieya.jxc.common.model.entity.BizStock; import cn.toesbieya.jxc.common.model.entity.BizStock;
import cn.toesbieya.jxc.common.model.vo.StockOutboundVo; import cn.toesbieya.jxc.common.model.vo.StockOutboundVo;
@ -9,7 +9,7 @@ import cn.toesbieya.jxc.common.model.vo.StockSearchResult;
import cn.toesbieya.jxc.stock.mapper.StockMapper; import cn.toesbieya.jxc.stock.mapper.StockMapper;
import cn.toesbieya.jxc.stock.model.vo.StockExport; import cn.toesbieya.jxc.stock.model.vo.StockExport;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
import cn.toesbieya.jxc.web.common.utils.ExcelUtil; import cn.toesbieya.jxc.web.common.util.ExcelUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;

@ -5,7 +5,7 @@ import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.model.vo.RoleSearch; import cn.toesbieya.jxc.system.model.vo.RoleSearch;
import cn.toesbieya.jxc.system.service.RoleService; import cn.toesbieya.jxc.system.service.RoleService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil; import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

@ -5,7 +5,7 @@ import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.model.vo.UserSearch; import cn.toesbieya.jxc.system.model.vo.UserSearch;
import cn.toesbieya.jxc.system.service.UserService; import cn.toesbieya.jxc.system.service.UserService;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil; import cn.toesbieya.jxc.web.common.util.ThreadUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;

@ -3,7 +3,7 @@ package cn.toesbieya.jxc.system.service;
import cn.toesbieya.jxc.common.model.entity.SysCustomer; import cn.toesbieya.jxc.common.model.entity.SysCustomer;
import cn.toesbieya.jxc.common.model.entity.SysRegion; import cn.toesbieya.jxc.common.model.entity.SysRegion;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.system.mapper.SysCustomerMapper; import cn.toesbieya.jxc.system.mapper.SysCustomerMapper;
import cn.toesbieya.jxc.system.mapper.SysRegionMapper; import cn.toesbieya.jxc.system.mapper.SysRegionMapper;
import cn.toesbieya.jxc.system.model.vo.CustomerSearch; import cn.toesbieya.jxc.system.model.vo.CustomerSearch;

@ -1,13 +1,13 @@
package cn.toesbieya.jxc.system.service; package cn.toesbieya.jxc.system.service;
import cn.toesbieya.jxc.api.service.system.DepartmentApi; import cn.toesbieya.jxc.api.system.DepartmentApi;
import cn.toesbieya.jxc.common.enumeration.DataScopeEnum; import cn.toesbieya.jxc.common.enumeration.DataScopeEnum;
import cn.toesbieya.jxc.common.model.entity.SysDepartment; import cn.toesbieya.jxc.common.model.entity.SysDepartment;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.DepartmentVo; import cn.toesbieya.jxc.common.model.vo.DepartmentVo;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.system.mapper.SysDepartmentMapper; import cn.toesbieya.jxc.system.mapper.SysDepartmentMapper;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;

@ -1,6 +1,6 @@
package cn.toesbieya.jxc.system.service; package cn.toesbieya.jxc.system.service;
import cn.toesbieya.jxc.api.service.system.ResourceApi; import cn.toesbieya.jxc.api.system.ResourceApi;
import cn.toesbieya.jxc.common.model.entity.SysResource; import cn.toesbieya.jxc.common.model.entity.SysResource;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.vo.ResourceVo; import cn.toesbieya.jxc.common.model.vo.ResourceVo;

@ -1,6 +1,6 @@
package cn.toesbieya.jxc.system.service; package cn.toesbieya.jxc.system.service;
import cn.toesbieya.jxc.api.service.system.RoleApi; import cn.toesbieya.jxc.api.system.RoleApi;
import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;

@ -4,7 +4,7 @@ import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum;
import cn.toesbieya.jxc.common.model.entity.SysRegion; import cn.toesbieya.jxc.common.model.entity.SysRegion;
import cn.toesbieya.jxc.common.model.entity.SysSupplier; import cn.toesbieya.jxc.common.model.entity.SysSupplier;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.system.mapper.SysRegionMapper; import cn.toesbieya.jxc.system.mapper.SysRegionMapper;
import cn.toesbieya.jxc.system.mapper.SysSupplierMapper; import cn.toesbieya.jxc.system.mapper.SysSupplierMapper;
import cn.toesbieya.jxc.system.model.vo.RegionValueResult; import cn.toesbieya.jxc.system.model.vo.RegionValueResult;

@ -4,8 +4,8 @@ import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.common.utils.WebSocketUtil; import cn.toesbieya.jxc.common.util.WebSocketUtil;
import cn.toesbieya.jxc.system.mapper.SysRoleMapper; import cn.toesbieya.jxc.system.mapper.SysRoleMapper;
import cn.toesbieya.jxc.system.mapper.SysUserMapper; import cn.toesbieya.jxc.system.mapper.SysUserMapper;
import cn.toesbieya.jxc.system.model.vo.UserSearch; import cn.toesbieya.jxc.system.model.vo.UserSearch;

@ -3,8 +3,8 @@ package cn.toesbieya.jxc.socket.config;
import cn.toesbieya.jxc.common.constant.SessionConstant; import cn.toesbieya.jxc.common.constant.SessionConstant;
import cn.toesbieya.jxc.common.constant.SocketConstant; import cn.toesbieya.jxc.common.constant.SocketConstant;
import cn.toesbieya.jxc.common.model.vo.SocketEventVo; import cn.toesbieya.jxc.common.model.vo.SocketEventVo;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.util.RedisUtil;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.common.util.SessionUtil;
import cn.toesbieya.jxc.socket.server.WebSocketServer; import cn.toesbieya.jxc.socket.server.WebSocketServer;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

@ -3,8 +3,8 @@ package cn.toesbieya.jxc.socket.server;
import cn.toesbieya.jxc.common.constant.SessionConstant; import cn.toesbieya.jxc.common.constant.SessionConstant;
import cn.toesbieya.jxc.common.constant.SocketConstant; import cn.toesbieya.jxc.common.constant.SocketConstant;
import cn.toesbieya.jxc.common.model.vo.SocketOfflineVo; import cn.toesbieya.jxc.common.model.vo.SocketOfflineVo;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.util.RedisUtil;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.common.util.SessionUtil;
import com.corundumstudio.socketio.AckRequest; import com.corundumstudio.socketio.AckRequest;
import com.corundumstudio.socketio.SocketIOClient; import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.SocketIOServer; import com.corundumstudio.socketio.SocketIOServer;

Loading…
Cancel
Save