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.RecLoginHistory;
import cn.toesbieya.jxc.common.model.entity.RecUserAction;
@ -10,7 +9,7 @@ import java.util.List;
public interface RecordApi {
List<RecAttachment> getAttachmentByPid(String pid);
void handleAttachment(AttachmentOperation vo);
void handleAttachment(List<RecAttachment> upload, List<String> delete);
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.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.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.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;

@ -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.LocalDateTime;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils;
package cn.toesbieya.jxc.common.util;
import com.google.common.io.ByteStreams;
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.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.ExpressionParser;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.common.utils;
package cn.toesbieya.jxc.common.util;
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.constant.SocketConstant;

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

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

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

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

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

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

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

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

@ -1,8 +1,8 @@
package cn.toesbieya.jxc.schedule.task;
import cn.toesbieya.jxc.common.constant.DocConstant;
import cn.toesbieya.jxc.common.utils.DateUtil;
import cn.toesbieya.jxc.common.utils.RedisUtil;
import cn.toesbieya.jxc.common.util.DateUtil;
import cn.toesbieya.jxc.common.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
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.SocketConstant;
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 lombok.extern.slf4j.Slf4j;
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.StatProfitGoods;
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 lombok.extern.slf4j.Slf4j;
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>
<module>web-modules</module>
<module>web-common</module>
<module>file</module>
</modules>
<modelVersion>4.0.0</modelVersion>
@ -41,7 +42,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>

@ -18,27 +18,13 @@
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</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>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
</dependency>
</dependencies>
</project>

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

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

@ -1,12 +1,12 @@
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.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.enumeration.UserActionEnum;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil;
import cn.toesbieya.jxc.web.common.util.ThreadUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.Reference;
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;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil;
import cn.toesbieya.jxc.web.common.utils.WebUtil;
import cn.toesbieya.jxc.common.util.SessionUtil;
import cn.toesbieya.jxc.web.common.util.ThreadUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
@ -16,15 +14,8 @@ public class SecurityInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
UserVo user = SessionUtil.get(request);
if (user == null) {
WebUtil.responseJson(response, Result.requireLogin());
ThreadUtil.clearAll();
return false;
}
ThreadUtil.setUser(user);
if (user == null) ThreadUtil.clearAll();
else ThreadUtil.setUser(user);
return true;
}
}

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.web.common.interceptor;
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 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 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.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.JSONArray;
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;

@ -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;
public class SessionUtil extends cn.toesbieya.jxc.common.utils.SessionUtil {
public class SessionUtil extends cn.toesbieya.jxc.common.util.SessionUtil {
public static UserVo get() {
UserVo user = ThreadUtil.getUser();
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.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.common.util.SessionUtil;
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 com.alibaba.fastjson.JSON;
@ -14,7 +14,6 @@ public class WebUtil {
public static void responseJson(HttpServletResponse response, Result result) throws IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
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.vo.UserVo;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.web.common.utils.IpUtil;
import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import cn.toesbieya.jxc.web.common.util.IpUtil;
import cn.toesbieya.jxc.web.common.util.SessionUtil;
import org.springframework.util.StringUtils;
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.PasswordUpdateParam;
import cn.toesbieya.jxc.account.vo.RegisterParam;
import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.service.system.DepartmentApi;
import cn.toesbieya.jxc.api.service.system.ResourceApi;
import cn.toesbieya.jxc.api.service.system.RoleApi;
import cn.toesbieya.jxc.api.FileApi;
import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.system.DepartmentApi;
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.model.entity.RecLoginHistory;
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.Result;
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.UserAction;
import cn.toesbieya.jxc.web.common.utils.QiniuUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.Reference;
@ -36,8 +36,8 @@ import java.util.*;
public class AccountService {
@Resource
private SysUserMapper userMapper;
@Resource
private QiniuUtil qiniuUtil;
@Reference
private FileApi fileApi;
@Reference
private RecordApi recordApi;
@Reference
@ -210,7 +210,7 @@ public class AccountService {
if (rows > 0) {
String oldAvatar = user.getAvatar();
if (!StringUtils.isEmpty(oldAvatar)) {
qiniuUtil.delete(oldAvatar);
fileApi.delete(oldAvatar);
}
user.setAvatar(avatar);
SessionUtil.save(user);
@ -218,7 +218,7 @@ public class AccountService {
}
//否则删除此次上传至云的头像
qiniuUtil.delete(avatar);
fileApi.delete(avatar);
return Result.fail("上传头像失败");
}

@ -10,7 +10,6 @@ spring:
shared-configs:
- data-id: jxc-common-database.yml
- data-id: jxc-common-redis.yml
- data-id: jxc-common-qiniu.yml
discovery:
server-addr: 127.0.0.1:8848
@ -18,4 +17,4 @@ dubbo:
registry:
address: nacos://127.0.0.1:8848
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.PurchaseInboundVo;
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.StringUtils;
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.PurchaseOrderVo;
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.StringUtils;
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.SellOrderVo;
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.StringUtils;
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.SellOutboundVo;
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.StringUtils;
import org.springframework.web.bind.annotation.*;

@ -1,9 +1,14 @@
package cn.toesbieya.jxc.doc.model.vo;
import cn.toesbieya.jxc.common.model.vo.BaseSearch;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@Data
public class DocHistorySearch {
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class DocHistorySearch extends BaseSearch {
private String pid;
private String type;
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.doc.mapper.DocHistoryMapper;
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.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.List;
@Service
public class DocHistoryService {
@Resource
private DocHistoryMapper mapper;
public List<BizDocHistory> search(DocHistorySearch vo) {
public PageResult<BizDocHistory> search(DocHistorySearch vo) {
String pid = vo.getPid();
String type = vo.getType();
String uid = vo.getUid();
@ -29,6 +30,7 @@ public class DocHistoryService {
.like(!StringUtils.isEmpty(uname), BizDocHistory::getUname, uname)
.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;
import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.StockApi;
import cn.toesbieya.jxc.common.exception.JsonResultException;
import cn.toesbieya.jxc.common.model.entity.*;
import cn.toesbieya.jxc.common.model.vo.Result;
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.DocHistoryEnum;
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.UserAction;
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.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
@ -312,7 +311,7 @@ public class PurchaseInboundService {
attachment.setPid(id);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null));
recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id);
}
@ -347,7 +346,7 @@ public class PurchaseInboundService {
attachment.setPid(docId);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList()));
recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
return Result.success("修改成功");
}

@ -1,7 +1,6 @@
package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.common.model.entity.BizDocHistory;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder;
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.UserAction;
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.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
@ -247,7 +246,7 @@ public class PurchaseOrderService {
attachment.setPid(id);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null));
recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id);
}
@ -285,7 +284,7 @@ public class PurchaseOrderService {
attachment.setPid(docId);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList()));
recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
return Result.success("修改成功");
}

@ -1,8 +1,7 @@
package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.StockApi;
import cn.toesbieya.jxc.common.model.entity.*;
import cn.toesbieya.jxc.common.model.vo.Result;
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.UserAction;
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.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
@ -252,7 +251,7 @@ public class SellOrderService {
attachment.setPid(id);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null));
recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id);
}
@ -291,7 +290,7 @@ public class SellOrderService {
attachment.setPid(docId);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList()));
recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
return Result.success("修改成功");
}

@ -1,14 +1,13 @@
package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation;
import cn.toesbieya.jxc.api.RecordApi;
import cn.toesbieya.jxc.api.StockApi;
import cn.toesbieya.jxc.common.exception.JsonResultException;
import cn.toesbieya.jxc.common.model.entity.*;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.StockOutboundVo;
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.DocHistoryEnum;
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.UserAction;
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.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
@ -315,7 +314,7 @@ public class SellOutboundService {
attachment.setPid(id);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, null));
recordApi.handleAttachment(uploadImageList, null);
return Result.success("添加成功", id);
}
@ -350,7 +349,7 @@ public class SellOutboundService {
attachment.setPid(docId);
attachment.setTime(time);
}
recordApi.handleAttachment(new AttachmentOperation(uploadImageList, doc.getDeleteImageList()));
recordApi.handleAttachment(uploadImageList, doc.getDeleteImageList());
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.model.entity.BizDoc;
import cn.toesbieya.jxc.common.utils.DateUtil;
import cn.toesbieya.jxc.common.utils.RedisUtil;
import cn.toesbieya.jxc.common.util.DateUtil;
import cn.toesbieya.jxc.common.util.RedisUtil;
import cn.toesbieya.jxc.doc.model.vo.DocSearch;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.model.vo.MsgSearch;
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.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.message.model.vo.MsgPersonalSearch;
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 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.vo.Result;
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.mapper.MsgMapper;
import cn.toesbieya.jxc.message.model.vo.MsgSearch;

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

@ -10,7 +10,6 @@ spring:
shared-configs:
- data-id: jxc-common-database.yml
- data-id: jxc-common-redis.yml
- data-id: jxc-common-qiniu.yml
discovery:
server-addr: 127.0.0.1:8848
@ -21,4 +20,6 @@ dubbo:
scan:
base-packages: cn.toesbieya.jxc.record.service
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.StatProfitGoods;
import cn.toesbieya.jxc.common.model.entity.StatProfitTotal;
import cn.toesbieya.jxc.common.utils.DateUtil;
import cn.toesbieya.jxc.common.utils.WebSocketUtil;
import cn.toesbieya.jxc.common.util.DateUtil;
import cn.toesbieya.jxc.common.util.WebSocketUtil;
import cn.toesbieya.jxc.statistic.mapper.StatisticMapper;
import cn.toesbieya.jxc.statistic.model.vo.FourBlockStat;
import lombok.extern.slf4j.Slf4j;

@ -1,6 +1,6 @@
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.model.entity.BizStock;
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.model.vo.StockExport;
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.toolkit.Wrappers;
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.system.model.vo.RoleSearch;
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.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.system.model.vo.UserSearch;
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.web.bind.annotation.PostMapping;
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.SysRegion;
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.SysRegionMapper;
import cn.toesbieya.jxc.system.model.vo.CustomerSearch;

@ -1,13 +1,13 @@
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.model.entity.SysDepartment;
import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.DepartmentVo;
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.web.common.annoation.UserAction;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;

@ -1,6 +1,6 @@
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.SysRole;
import cn.toesbieya.jxc.common.model.vo.ResourceVo;

@ -1,6 +1,6 @@
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.model.entity.SysRole;
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.SysSupplier;
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.SysSupplierMapper;
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.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.Util;
import cn.toesbieya.jxc.common.utils.WebSocketUtil;
import cn.toesbieya.jxc.common.util.Util;
import cn.toesbieya.jxc.common.util.WebSocketUtil;
import cn.toesbieya.jxc.system.mapper.SysRoleMapper;
import cn.toesbieya.jxc.system.mapper.SysUserMapper;
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.SocketConstant;
import cn.toesbieya.jxc.common.model.vo.SocketEventVo;
import cn.toesbieya.jxc.common.utils.RedisUtil;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.common.util.RedisUtil;
import cn.toesbieya.jxc.common.util.SessionUtil;
import cn.toesbieya.jxc.socket.server.WebSocketServer;
import com.alibaba.fastjson.JSON;
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.SocketConstant;
import cn.toesbieya.jxc.common.model.vo.SocketOfflineVo;
import cn.toesbieya.jxc.common.utils.RedisUtil;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.common.util.RedisUtil;
import cn.toesbieya.jxc.common.util.SessionUtil;
import com.corundumstudio.socketio.AckRequest;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.SocketIOServer;

Loading…
Cancel
Save