From f450f31300daeed000f17f0e82fe4cc4d9975889 Mon Sep 17 00:00:00 2001 From: toesbieya <1647775459@qq.com> Date: Fri, 31 Jul 2020 16:35:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=88=92=E7=BA=BF=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E9=A9=BC=E5=B3=B0=E5=BD=A2=E5=BC=8F=20?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9A=94=E7=A6=BB=E5=88=9D=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxc/api/service/system/DepartmentApi.java | 14 +++ .../jxc/common/constant/DocumentConstant.java | 8 +- .../jxc/common/constant/SessionConstant.java | 12 +-- .../jxc/common/constant/SocketConstant.java | 18 ++-- .../jxc/common/enumeration/DataScopeEnum.java | 15 +++ .../common/model/entity/BizDocHistory.java | 4 +- .../model/entity/BizPurchaseOrderSub.java | 2 +- .../jxc/common/model/entity/BizSellOrder.java | 8 +- .../common/model/entity/BizSellOrderSub.java | 2 +- .../jxc/common/model/entity/SysResource.java | 6 +- .../jxc/common/model/entity/SysRole.java | 5 +- .../jxc/common/model/entity/SysUser.java | 3 +- .../jxc/common/model/vo/DepartmentVo.java | 22 +++++ .../jxc/common/model/vo/ResourceVo.java | 4 +- .../common/model/vo/StockSearchResult.java | 4 +- .../toesbieya/jxc/common/model/vo/UserVo.java | 8 +- java/cloud/gateway/pom.xml | 10 +- .../jxc/gateway/config/ResourceConfig.java | 6 +- java/cloud/pom.xml | 33 +++---- java/cloud/schedule/pom.xml | 1 - java/cloud/web/pom.xml | 1 - java/cloud/web/web-common/pom.xml | 1 - .../jxc/web/common/config/WebConfig.java | 2 + .../interceptor/SecurityInterceptor.java | 30 ++++++ .../interceptor/UserActionInterceptor.java | 3 +- .../jxc/web/common/utils/SecurityUtil.java | 17 ++++ .../jxc/web/common/utils/ThreadUtil.java | 6 +- .../account/controller/AccountController.java | 8 +- .../jxc/account/service/AccountService.java | 39 ++++++-- .../jxc/account/vo/LoginSuccessInfo.java | 7 +- .../jxc/account/vo/PasswordUpdateParam.java | 4 +- .../controller/SellOrderController.java | 8 +- .../jxc/document/model/vo/DocSearch.java | 2 +- .../model/vo/PurchaseInboundSearch.java | 2 +- .../document/model/vo/SellOrderExport.java | 2 +- .../document/model/vo/SellOrderSearch.java | 4 +- .../document/model/vo/SellOutboundSearch.java | 2 +- .../service/PurchaseInboundService.java | 34 +++---- .../service/PurchaseOrderService.java | 20 ++-- .../document/service/SellOrderService.java | 34 +++---- .../document/service/SellOutboundService.java | 34 +++---- .../toesbieya/jxc/document/util/DocUtil.java | 4 +- .../resources/mapper/BizPurchaseOrderSub.xml | 2 +- .../main/resources/mapper/BizSellOrderSub.xml | 2 +- .../jxc/message/constant/MsgConstant.java | 16 ++-- java/cloud/web/web-modules/pom.xml | 1 - .../jxc/stock/model/vo/StockExport.java | 10 +- .../jxc/stock/service/StockService.java | 2 +- .../controller/SysDepartmentController.java | 19 ++-- .../system/mapper/SysDepartmentMapper.java | 7 ++ .../jxc/system/model/vo/CustomerVo.java | 2 +- .../jxc/system/model/vo/SupplierVo.java | 2 +- .../system/service/SysCustomerService.java | 2 +- .../system/service/SysDepartmentService.java | 76 +++++++++++++-- .../system/service/SysResourceService.java | 12 +-- .../jxc/system/service/SysRoleService.java | 4 +- .../system/service/SysSupplierService.java | 2 +- .../jxc/system/service/SysUserService.java | 7 +- .../main/resources/mapper/SysDepartment.xml | 37 ++++++++ java/local/pom.xml | 60 +++++------- .../java/cn/toesbieya/jxc/MyApplication.java | 4 +- .../cn/toesbieya/jxc/aspect/LockAspect.java | 4 +- .../jxc/aspect/UserActionAspect.java | 4 +- .../jxc/constant/DocumentConstant.java | 8 +- .../toesbieya/jxc/constant/MsgConstant.java | 16 ++-- .../jxc/constant/SessionConstant.java | 12 +-- .../jxc/constant/SocketConstant.java | 18 ++-- .../jxc/controller/AccountController.java | 10 +- .../BizDocumentHistoryController.java | 2 +- .../BizPurchaseInboundController.java | 2 +- .../BizPurchaseOrderController.java | 2 +- .../controller/BizSellOrderController.java | 10 +- .../controller/BizSellOutboundController.java | 2 +- .../jxc/controller/BizStockController.java | 2 +- .../jxc/controller/FileController.java | 2 +- .../jxc/controller/MsgController.java | 2 +- .../jxc/controller/RecController.java | 2 +- .../jxc/controller/StatisticController.java | 2 +- .../jxc/controller/SysCategoryController.java | 2 +- .../jxc/controller/SysCustomerController.java | 2 +- .../controller/SysDepartmentController.java | 22 +++-- .../jxc/controller/SysResourceController.java | 6 +- .../jxc/controller/SysRoleController.java | 2 +- .../jxc/controller/SysSupplierController.java | 2 +- .../jxc/controller/SysUserController.java | 2 +- .../jxc/controller/TestController.java | 2 +- .../jxc/enumeration/DataScopeEnum.java | 15 +++ .../jxc/handler/GlobalExceptionHandler.java | 2 +- .../interceptor/RateControlInterceptor.java | 3 +- .../jxc/interceptor/SecurityInterceptor.java | 8 +- .../jxc/mapper/BizSellOrderMapper.java | 2 +- .../jxc/mapper/SysDepartmentMapper.java | 7 +- .../toesbieya/jxc/mapper/SysRoleMapper.java | 4 +- .../toesbieya/jxc/mapper/SysUserMapper.java | 4 +- .../jxc/model/entity/BizDocumentHistory.java | 4 +- .../jxc/model/entity/BizPurchaseOrderSub.java | 2 +- .../jxc/model/entity/BizSellOrder.java | 4 +- .../jxc/model/entity/BizSellOrderSub.java | 2 +- .../jxc/model/entity/SysCustomer.java | 2 +- .../jxc/model/entity/SysResource.java | 8 +- .../toesbieya/jxc/model/entity/SysRole.java | 11 +-- .../jxc/model/entity/SysSupplier.java | 2 +- .../toesbieya/jxc/model/entity/SysUser.java | 3 +- .../toesbieya/jxc/model/vo/DepartmentVo.java | 22 +++++ .../jxc/model/vo/LoginSuccessInfo.java | 7 +- .../jxc/model/vo/PasswordUpdateParam.java | 4 +- .../jxc/{utils => model/vo}/Result.java | 2 +- .../cn/toesbieya/jxc/model/vo/UserVo.java | 10 +- .../jxc/model/vo/export/SellOrderExport.java | 2 +- .../jxc/model/vo/export/StockExport.java | 10 +- .../model/vo/result/StockSearchResult.java | 4 +- .../jxc/model/vo/search/DocumentSearch.java | 2 +- .../vo/search/PurchaseInboundSearch.java | 2 +- .../jxc/model/vo/search/SellOrderSearch.java | 4 +- .../model/vo/search/SellOutboundSearch.java | 2 +- .../jxc/module/PermissionModule.java | 6 +- .../jxc/module/request/RateLimiterHelper.java | 4 +- .../jxc/module/request/RequestModule.java | 4 +- .../toesbieya/jxc/service/AccountService.java | 60 +++++++++--- .../service/BizPurchaseInboundService.java | 30 +++--- .../jxc/service/BizPurchaseOrderService.java | 22 ++--- .../jxc/service/BizSellOrderService.java | 24 ++--- .../jxc/service/BizSellOutboundService.java | 28 +++--- .../jxc/service/BizStockService.java | 5 +- .../cn/toesbieya/jxc/service/MsgService.java | 2 +- .../jxc/service/SysCategoryService.java | 2 +- .../jxc/service/SysCustomerService.java | 2 +- .../jxc/service/SysDepartmentService.java | 78 ++++++++++++++-- .../jxc/service/SysResourceService.java | 10 +- .../toesbieya/jxc/service/SysRoleService.java | 4 +- .../jxc/service/SysSupplierService.java | 2 +- .../toesbieya/jxc/service/SysUserService.java | 6 +- .../cn/toesbieya/jxc/utils/ExcelUtil.java | 1 + .../cn/toesbieya/jxc/utils/SecurityUtil.java | 17 ++++ .../cn/toesbieya/jxc/utils/ThreadUtil.java | 6 +- .../java/cn/toesbieya/jxc/utils/WebUtil.java | 1 + java/local/src/main/resources/application.yml | 6 +- .../resources/mapper/BizDocumentHistory.xml | 2 +- .../resources/mapper/BizPurchaseInbound.xml | 4 +- .../resources/mapper/BizPurchaseOrder.xml | 4 +- .../main/resources/mapper/BizSellOrder.xml | 14 +-- .../main/resources/mapper/BizSellOutbound.xml | 4 +- .../src/main/resources/mapper/BizStock.xml | 10 +- .../main/resources/mapper/SysDepartment.xml | 52 ++++++++--- .../src/main/resources/mapper/SysResource.xml | 4 +- .../src/main/resources/mapper/SysRole.xml | 62 +++++++++---- .../src/main/resources/mapper/SysUser.xml | 92 +++++++++++++------ 147 files changed, 1026 insertions(+), 552 deletions(-) create mode 100644 java/cloud/api/src/main/java/cn/toesbieya/jxc/api/service/system/DepartmentApi.java create mode 100644 java/cloud/common/src/main/java/cn/toesbieya/jxc/common/enumeration/DataScopeEnum.java create mode 100644 java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/DepartmentVo.java create mode 100644 java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/SecurityInterceptor.java create mode 100644 java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/SecurityUtil.java create mode 100644 java/cloud/web/web-modules/system/src/main/resources/mapper/SysDepartment.xml create mode 100644 java/local/src/main/java/cn/toesbieya/jxc/enumeration/DataScopeEnum.java create mode 100644 java/local/src/main/java/cn/toesbieya/jxc/model/vo/DepartmentVo.java rename java/local/src/main/java/cn/toesbieya/jxc/{utils => model/vo}/Result.java (98%) create mode 100644 java/local/src/main/java/cn/toesbieya/jxc/utils/SecurityUtil.java diff --git a/java/cloud/api/src/main/java/cn/toesbieya/jxc/api/service/system/DepartmentApi.java b/java/cloud/api/src/main/java/cn/toesbieya/jxc/api/service/system/DepartmentApi.java new file mode 100644 index 0000000..34bb452 --- /dev/null +++ b/java/cloud/api/src/main/java/cn/toesbieya/jxc/api/service/system/DepartmentApi.java @@ -0,0 +1,14 @@ +package cn.toesbieya.jxc.api.service.system; + +import cn.toesbieya.jxc.common.model.entity.SysUser; +import cn.toesbieya.jxc.common.model.vo.DepartmentVo; + +import java.util.Set; + +public interface DepartmentApi { + //获取用户的数据范围(部门ID集合),返回null说明无需限制 + Set getUserDataScope(SysUser user); + + //获取带有全名的部门 + DepartmentVo getById(int id); +} diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/DocumentConstant.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/DocumentConstant.java index 123e20f..498ab03 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/DocumentConstant.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/DocumentConstant.java @@ -1,12 +1,12 @@ package cn.toesbieya.jxc.common.constant; -public class DocumentConstant { +public interface DocumentConstant { //更新单据ID时的redis锁的键 - public static final String UPDATE_DOCUMENTS_LOCK_KEY = "UPDATE_DOCUMENTS"; + String UPDATE_DOCUMENTS_LOCK_KEY = "UPDATE_DOCUMENTS"; //单据ID的redis缓存的键 - public static final String DOCUMENT_TYPE_REDIS_KEY = "documentsID"; + String DOCUMENT_TYPE_REDIS_KEY = "documentsID"; //单据类型 - public static final String[] DOCUMENT_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"}; + String[] DOCUMENT_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"}; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SessionConstant.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SessionConstant.java index 49d16ab..92c889e 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SessionConstant.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SessionConstant.java @@ -1,18 +1,18 @@ package cn.toesbieya.jxc.common.constant; -public class SessionConstant { +public interface SessionConstant { //session过期时间,单位秒 - public static long EXPIRE = 3600 * 8; + long EXPIRE = 3600 * 8; //存储用户信息的键的前缀 - public static String REDIS_NAMESPACE = "sessions:"; + String REDIS_NAMESPACE = "sessions:"; //key过期事件的前缀 - public static String REDIS_EXPIRE_TOPIC_PREFIX = "__keyspace@0__:"; + String REDIS_EXPIRE_TOPIC_PREFIX = "__keyspace@0__:"; //http headers中token的字段名 - public static String TOKEN_KEY = "X-Token"; + String TOKEN_KEY = "X-Token"; //区别无活动用户的时间间隔,单位秒 - public static long NO_ACTION_INTERVAL = 1800; + long NO_ACTION_INTERVAL = 1800; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SocketConstant.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SocketConstant.java index f9a60fe..47e7f50 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SocketConstant.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/SocketConstant.java @@ -1,23 +1,23 @@ package cn.toesbieya.jxc.common.constant; -public class SocketConstant { +public interface SocketConstant { //web-socket服务端订阅的redis主题名称 - public static String REDIS_EVENT_TOPIC_SEND = "socket-event-send"; + String REDIS_EVENT_TOPIC_SEND = "socket-event-send"; //指定用户 - public static int REDIS_EVENT_SPECIFIC = 0; + int REDIS_EVENT_SPECIFIC = 0; //广播 - public static int REDIS_EVENT_BROADCAST = 1; + int REDIS_EVENT_BROADCAST = 1; //登出 - public static int REDIS_EVENT_LOGOUT = 2; + int REDIS_EVENT_LOGOUT = 2; //存放于redis中的在线用户的ID集合的键 - public static String REDIS_ONLINE_USER = "socket:online-user"; + String REDIS_ONLINE_USER = "socket:online-user"; //存放于redis中的离线用户的离线时间的键 - public static String REDIS_OFFLINE_USER = "socket:offline-user"; + String REDIS_OFFLINE_USER = "socket:offline-user"; //登出事件 - public static final String EVENT_LOGOUT = "logout"; + String EVENT_LOGOUT = "logout"; //新消息事件 - public static final String EVENT_NEW_MESSAGE = "new-message"; + String EVENT_NEW_MESSAGE = "new-message"; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/enumeration/DataScopeEnum.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/enumeration/DataScopeEnum.java new file mode 100644 index 0000000..84f744d --- /dev/null +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/enumeration/DataScopeEnum.java @@ -0,0 +1,15 @@ +package cn.toesbieya.jxc.common.enumeration; + +public enum DataScopeEnum { + ALL(1), SELF(2), SPECIFIC(3); + + private final int code; + + DataScopeEnum(int code) { + this.code = code; + } + + public int getCode() { + return code; + } +} diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizDocHistory.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizDocHistory.java index b404057..81f5c58 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizDocHistory.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizDocHistory.java @@ -18,8 +18,8 @@ public class BizDocHistory implements Serializable { private Integer type; private Integer uid; private String uname; - private Integer status_before; - private Integer status_after; + private Integer statusBefore; + private Integer statusAfter; private Long time; private String info; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizPurchaseOrderSub.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizPurchaseOrderSub.java index 6e95a44..a66a00d 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizPurchaseOrderSub.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizPurchaseOrderSub.java @@ -11,5 +11,5 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) public class BizPurchaseOrderSub extends BizDocSub { private BigDecimal price; - private BigDecimal remain_num; + private BigDecimal remainNum; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrder.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrder.java index 0101504..ffe06f6 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrder.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrder.java @@ -12,16 +12,16 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) @NoArgsConstructor public class BizSellOrder extends BizDoc { - private Integer customer_id; - private String customer_name; + private Integer customerId; + private String customerName; private Integer finish; private Long ftime; private BigDecimal total; public BizSellOrder(BizSellOrder obj) { super(obj); - this.customer_id = obj.getCustomer_id(); - this.customer_name = obj.getCustomer_name(); + this.customerId = obj.getCustomerId(); + this.customerName = obj.getCustomerName(); this.finish = obj.getFinish(); this.ftime = obj.getFtime(); this.total = obj.getTotal(); diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrderSub.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrderSub.java index 9608bec..afebf5d 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrderSub.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrderSub.java @@ -11,5 +11,5 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) public class BizSellOrderSub extends BizDocSub { private BigDecimal price; - private BigDecimal remain_num; + private BigDecimal remainNum; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysResource.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysResource.java index bca5eb6..232837f 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysResource.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysResource.java @@ -11,7 +11,7 @@ public class SysResource implements Serializable { private Integer pid; private String name; private String url; - private Integer admin; - private Long total_rate; - private Long ip_rate; + private boolean admin = false; + private Long totalRate; + private Long ipRate; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysRole.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysRole.java index 666790d..1646b51 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysRole.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysRole.java @@ -1,5 +1,6 @@ package cn.toesbieya.jxc.common.model.entity; +import cn.toesbieya.jxc.common.enumeration.DataScopeEnum; import lombok.Data; import java.io.Serializable; @@ -9,9 +10,11 @@ public class SysRole implements Serializable { private static final long serialVersionUID = 1L; private Integer id; private String name; - private String resource_id; private Integer cid; private String cname; private Long ctime; private Integer status; + private int scope = DataScopeEnum.ALL.getCode(); + private String departmentId; + private String resourceId; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java index 77e6be1..a566d8d 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java @@ -17,6 +17,7 @@ public class SysUser implements Serializable { private Integer role; private String avatar; private Long ctime; - private Integer admin; + private boolean admin = false; private Integer status; + private Integer dept; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/DepartmentVo.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/DepartmentVo.java new file mode 100644 index 0000000..fdea55a --- /dev/null +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/DepartmentVo.java @@ -0,0 +1,22 @@ +package cn.toesbieya.jxc.common.model.vo; + +import cn.toesbieya.jxc.common.model.entity.SysDepartment; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@Data +@NoArgsConstructor +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class DepartmentVo extends SysDepartment { + String fullname; + + public DepartmentVo(SysDepartment parent) { + this.setId(parent.getId()); + this.setPid(parent.getPid()); + this.setName(parent.getName()); + this.setStatus(parent.getStatus()); + } +} diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/ResourceVo.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/ResourceVo.java index 8c8c926..d305b31 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/ResourceVo.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/ResourceVo.java @@ -11,13 +11,13 @@ import lombok.ToString; @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class ResourceVo extends SysResource { - private String fullName; + private String fullname; public ResourceVo(SysResource parent) { this.setId(parent.getId()); this.setPid(parent.getPid()); this.setName(parent.getName()); this.setUrl(parent.getUrl()); - this.setAdmin(parent.getAdmin()); + this.setAdmin(parent.isAdmin()); } } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/StockSearchResult.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/StockSearchResult.java index bda01e4..d17535b 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/StockSearchResult.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/StockSearchResult.java @@ -10,6 +10,6 @@ public class StockSearchResult implements Serializable { private static final long serialVersionUID = 1L; private Integer cid; private String cname; - private BigDecimal total_num; - private BigDecimal total_price; + private BigDecimal totalNum; + private BigDecimal totalPrice; } diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/UserVo.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/UserVo.java index c736726..71f3425 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/UserVo.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/vo/UserVo.java @@ -14,9 +14,11 @@ import java.util.Set; @EqualsAndHashCode(callSuper = true) public class UserVo extends SysUser { private String token; - private String role_name; + private String roleName; + private String deptName; private boolean online = false; - private Set resource_ids; + private Set departmentIds; + private Set resourceIds; public UserVo(SysUser parent) { this.setId(parent.getId()); @@ -25,7 +27,7 @@ public class UserVo extends SysUser { this.setRole(parent.getRole()); this.setAvatar(parent.getAvatar()); this.setCtime(parent.getCtime()); - this.setAdmin(parent.getAdmin()); + this.setAdmin(parent.isAdmin()); this.setStatus(parent.getStatus()); } } diff --git a/java/cloud/gateway/pom.xml b/java/cloud/gateway/pom.xml index 76847d6..4925fe1 100644 --- a/java/cloud/gateway/pom.xml +++ b/java/cloud/gateway/pom.xml @@ -21,22 +21,20 @@ org.springframework.boot spring-boot-starter + + org.springframework.cloud + spring-cloud-starter-gateway + mysql mysql-connector-java - org.springframework.boot spring-boot-starter-jdbc - - org.springframework.cloud - spring-cloud-starter-gateway - - [7.2.0, 7.2.99] - - 2.2.5 + com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery - com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config + org.projectlombok lombok @@ -61,18 +56,17 @@ + cn.toesbieya common ${project.version} - cn.toesbieya web-common ${project.version} - cn.toesbieya api @@ -87,6 +81,7 @@ import --> + org.springframework.cloud spring-cloud-dependencies @@ -94,7 +89,6 @@ pom import - com.alibaba.cloud spring-cloud-alibaba-dependencies @@ -103,42 +97,41 @@ import + com.baomidou mybatis-plus-boot-starter ${mybatis-plus.version} - com.github.pagehelper pagehelper-spring-boot-starter ${pagehelper.version} + + + com.corundumstudio.socketio + netty-socketio + ${socketio.version} + + + com.alibaba easyexcel ${easyexcel.version} - com.qiniu qiniu-java-sdk ${qiniu.version} - - - com.corundumstudio.socketio - netty-socketio - ${socketio.version} - - com.google.guava guava ${guava.version} - com.alibaba fastjson diff --git a/java/cloud/schedule/pom.xml b/java/cloud/schedule/pom.xml index 7043ae2..4278d2f 100644 --- a/java/cloud/schedule/pom.xml +++ b/java/cloud/schedule/pom.xml @@ -26,7 +26,6 @@ mysql mysql-connector-java - com.baomidou mybatis-plus-boot-starter diff --git a/java/cloud/web/pom.xml b/java/cloud/web/pom.xml index 32395de..3b1da8b 100644 --- a/java/cloud/web/pom.xml +++ b/java/cloud/web/pom.xml @@ -21,7 +21,6 @@ cn.toesbieya common - cn.toesbieya api diff --git a/java/cloud/web/web-common/pom.xml b/java/cloud/web/web-common/pom.xml index 25c6d35..a05761e 100644 --- a/java/cloud/web/web-common/pom.xml +++ b/java/cloud/web/web-common/pom.xml @@ -21,7 +21,6 @@ com.alibaba easyexcel - com.qiniu qiniu-java-sdk diff --git a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/config/WebConfig.java b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/config/WebConfig.java index 55cb267..2a8c16f 100644 --- a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/config/WebConfig.java +++ b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/config/WebConfig.java @@ -1,6 +1,7 @@ package cn.toesbieya.jxc.web.common.config; import cn.toesbieya.jxc.common.config.FastJsonConfigFactory; +import cn.toesbieya.jxc.web.common.interceptor.SecurityInterceptor; import cn.toesbieya.jxc.web.common.interceptor.UserActionInterceptor; import cn.toesbieya.jxc.web.common.interceptor.predicate.UserActionPredicate; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; @@ -37,6 +38,7 @@ public class WebConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(new SecurityInterceptor()).addPathPatterns("/**"); registry.addInterceptor(new UserActionInterceptor(userActionPredicate)).addPathPatterns("/**"); } diff --git a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/SecurityInterceptor.java b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/SecurityInterceptor.java new file mode 100644 index 0000000..6f2da73 --- /dev/null +++ b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/SecurityInterceptor.java @@ -0,0 +1,30 @@ +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 lombok.extern.slf4j.Slf4j; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@Slf4j +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); + + return true; + } +} diff --git a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/UserActionInterceptor.java b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/UserActionInterceptor.java index 8ae41e2..fadc78a 100644 --- a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/UserActionInterceptor.java +++ b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/interceptor/UserActionInterceptor.java @@ -6,12 +6,13 @@ import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; public class UserActionInterceptor implements HandlerInterceptor { private final UserActionPredicate predicate; @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException { if (predicate.allowed(request)) { ThreadUtil.quicklySetAction(request); } diff --git a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/SecurityUtil.java b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/SecurityUtil.java new file mode 100644 index 0000000..c33b697 --- /dev/null +++ b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/SecurityUtil.java @@ -0,0 +1,17 @@ +package cn.toesbieya.jxc.web.common.utils; + +import cn.toesbieya.jxc.common.model.vo.UserVo; + +import java.util.Set; +import java.util.stream.Collectors; + +public class SecurityUtil { + //获取字符串形式的数据范围,sql中使用 in (${param}) 拼接 + public static String getScopeParam() { + UserVo user = ThreadUtil.getUser(); + if (user == null) return "''"; + Set deptIds = user.getDepartmentIds(); + if (deptIds == null) return null; + return deptIds.isEmpty() ? "''" : deptIds.stream().map(String::valueOf).collect(Collectors.joining(",")); + } +} diff --git a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/ThreadUtil.java b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/ThreadUtil.java index 8a44ae7..434283d 100644 --- a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/ThreadUtil.java +++ b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/ThreadUtil.java @@ -11,9 +11,9 @@ public class ThreadUtil { private static final ThreadLocal THREAD_LOCAL_USER = new ThreadLocal<>(); public static void quicklySetAction(HttpServletRequest request) { - UserVo user = SessionUtil.get(request); - - if (null == user) return; + UserVo user = getUser(); + if (user == null) user = SessionUtil.get(request); + if (user == null) return; RecUserAction userAction = RecUserAction.builder() .uid(user.getId()) diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java index 104d2e2..59f5adb 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java @@ -81,10 +81,10 @@ public class AccountController { private String validateUpdatePwdParam(PasswordUpdateParam vo) { if (vo.getId() == null) return "修改失败,参数错误"; - if (StringUtils.isEmpty(vo.getOld_pwd())) return "修改失败,原密码不能为空"; - if (StringUtils.isEmpty(vo.getNew_pwd())) return "修改失败,新密码不能为空"; - if (vo.getOld_pwd().equals(vo.getNew_pwd())) return "修改失败,新密码不得与旧密码相同"; - if (vo.getNew_pwd().length() != 32) return "修改失败,密码参数有误"; + if (StringUtils.isEmpty(vo.getOldPwd())) return "修改失败,原密码不能为空"; + if (StringUtils.isEmpty(vo.getNewPwd())) return "修改失败,新密码不能为空"; + if (vo.getOldPwd().equals(vo.getNewPwd())) return "修改失败,新密码不得与旧密码相同"; + if (vo.getNewPwd().length() != 32) return "修改失败,密码参数有误"; return null; } } diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java index d9810e2..3c0a0b0 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java @@ -7,12 +7,14 @@ 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.common.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.common.model.entity.RecLoginHistory; 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.ResourceVo; import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.UserVo; @@ -43,6 +45,8 @@ public class AccountService { private ResourceApi resourceApi; @Reference private RoleApi roleApi; + @Reference + public DepartmentApi departmentApi; @TimeCost public Result login(LoginParam param, String ip) { @@ -60,10 +64,11 @@ public class AccountService { return Result.fail("该用户已被禁用,请联系管理员"); } Integer roleId = user.getRole(); - if (user.getAdmin() != 1 && roleId == null) { + if (!user.isAdmin() && roleId == null) { return Result.fail("该用户尚未被分配角色,请联系管理员"); } + //设置token String token = SessionUtil.generateToken(user); //存入redis的数据 @@ -75,18 +80,17 @@ public class AccountService { info.setToken(token); Map userResourcesUrlMap = null; - Set userResourcesIdSet = null; - //获取用户的所有权限url if (roleId != null) { //获取用户的角色 SysRole role = roleApi.getRoleById(roleId); if (role != null) { - String role_name = role.getName(); - userVo.setRole_name(role_name); - info.setRole_name(role_name); + //设置角色名称 + String roleName = role.getName(); + userVo.setRoleName(roleName); + info.setRoleName(roleName); //获取用户的权限列表 List resources = resourceApi.getResourceByRole(role); @@ -102,8 +106,25 @@ public class AccountService { } } - userVo.setResource_ids(userResourcesIdSet); + //获取用户部门 + Integer deptId = user.getDept(); + if (deptId != null) { + DepartmentVo dept = departmentApi.getById(deptId); + if (dept != null) { + //设置用户的部门名称 + String deptName = dept.getFullname(); + userVo.setDeptName(deptName); + info.setDeptName(deptName); + } + } + + //用户的数据范围 + userVo.setDepartmentIds(departmentApi.getUserDataScope(user)); + + //用户的权限ID集合 + userVo.setResourceIds(userResourcesIdSet); + //返回给前端的用户权限表 info.setResources(userResourcesUrlMap); //用户信息插入redis @@ -164,9 +185,9 @@ public class AccountService { int rows = userMapper.update( null, Wrappers.lambdaUpdate(SysUser.class) - .set(SysUser::getPwd, param.getNew_pwd()) + .set(SysUser::getPwd, param.getNewPwd()) .eq(SysUser::getId, param.getId()) - .eq(SysUser::getPwd, param.getOld_pwd()) + .eq(SysUser::getPwd, param.getOldPwd()) ); return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请检查原密码是否正确"); } diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java index 9054879..bc99572 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java @@ -11,9 +11,10 @@ import java.util.Map; public class LoginSuccessInfo { private Integer id; private String name; - private String role_name; + private String roleName; + private String deptName; private String avatar; - private Integer admin; + private boolean admin; private String token; private Map resources; @@ -21,6 +22,6 @@ public class LoginSuccessInfo { this.id = user.getId(); this.name = user.getName(); this.avatar = user.getAvatar(); - this.admin = user.getAdmin(); + this.admin = user.isAdmin(); } } diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/PasswordUpdateParam.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/PasswordUpdateParam.java index c1caa7d..a10bdde 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/PasswordUpdateParam.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/PasswordUpdateParam.java @@ -5,6 +5,6 @@ import lombok.Data; @Data public class PasswordUpdateParam { private Integer id; - private String new_pwd; - private String old_pwd; + private String newPwd; + private String oldPwd; } diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/controller/SellOrderController.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/controller/SellOrderController.java index 1e1da02..2d5ba28 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/controller/SellOrderController.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/controller/SellOrderController.java @@ -51,8 +51,8 @@ public class SellOrderController { @PostMapping("add") public Result add(HttpServletRequest request, @RequestBody SellOrderVo vo) { - if (vo.getCustomer_id() == null - || StringUtils.isEmpty(vo.getCustomer_name()) + if (vo.getCustomerId() == null + || StringUtils.isEmpty(vo.getCustomerName()) || vo.getTotal() == null) { return Result.fail("参数错误"); } @@ -122,8 +122,8 @@ public class SellOrderController { private String validateUpdate(BizSellOrder main) { if (StringUtils.isEmpty(main.getId()) - || StringUtils.isEmpty(main.getCustomer_id()) - || StringUtils.isEmpty(main.getCustomer_name()) + || StringUtils.isEmpty(main.getCustomerId()) + || StringUtils.isEmpty(main.getCustomerName()) || StringUtils.isEmpty(main.getCid()) || StringUtils.isEmpty(main.getCname()) || StringUtils.isEmpty(main.getCtime()) diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/DocSearch.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/DocSearch.java index 406c63f..0060760 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/DocSearch.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/DocSearch.java @@ -10,7 +10,7 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class DocSearch extends BaseSearch { private String id; - private String id_fuzzy; + private String idFuzzy; private Integer cid; private String cname; private Integer vid; diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/PurchaseInboundSearch.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/PurchaseInboundSearch.java index 8365e60..3f58186 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/PurchaseInboundSearch.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/PurchaseInboundSearch.java @@ -9,5 +9,5 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class PurchaseInboundSearch extends DocSearch { private String pid; - private String pid_fuzzy; + private String pidFuzzy; } diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderExport.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderExport.java index 0cc9707..6a38ce8 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderExport.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderExport.java @@ -12,7 +12,7 @@ public class SellOrderExport { @ExcelProperty(value = "客户", index = 1) @ColumnWidth(30) - private String customer_name; + private String customerName; @ExcelProperty(value = "创建人", index = 2) @ColumnWidth(20) diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderSearch.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderSearch.java index c4a9b41..b8fac3e 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderSearch.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOrderSearch.java @@ -8,8 +8,8 @@ import lombok.ToString; @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class SellOrderSearch extends DocSearch { - private Integer customer_id; - private String customer_name; + private Integer customerId; + private String customerName; private String finish; private Long ftimeStart; private Long ftimeEnd; diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOutboundSearch.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOutboundSearch.java index ba1edd8..f5414c1 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOutboundSearch.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/model/vo/SellOutboundSearch.java @@ -9,5 +9,5 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class SellOutboundSearch extends DocSearch { private String pid; - private String pid_fuzzy; + private String pidFuzzy; } diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseInboundService.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseInboundService.java index 752eaa8..5f377e2 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseInboundService.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseInboundService.java @@ -111,8 +111,8 @@ public class PurchaseInboundService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -138,8 +138,8 @@ public class PurchaseInboundService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -183,7 +183,7 @@ public class PurchaseInboundService { //生成需要入库的商品列表 for (BizPurchaseOrderSub orderSub : orderSubList) { - if (orderSub.getRemain_num().equals(BigDecimal.ZERO)) { + if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { continue; } @@ -198,18 +198,18 @@ public class PurchaseInboundService { .build() ); - BigDecimal gap = orderSub.getRemain_num().subtract(inboundSub.getNum()); + BigDecimal gap = orderSub.getRemainNum().subtract(inboundSub.getNum()); - //如果有任意一个采购商品的remain_num大于采购商品的num,则完成情况为进行中,否则为已完成 + //如果有任意一个采购商品的remainNum大于采购商品的num,则完成情况为进行中,否则为已完成 if (gap.compareTo(BigDecimal.ZERO) > 0) { finish = DocFinishEnum.UNDERWAY; } - //更新采购订单子表的remain_num + //更新采购订单子表的remainNum orderSubMapper.update( null, Wrappers.lambdaUpdate(BizPurchaseOrderSub.class) - .set(BizPurchaseOrderSub::getRemain_num, gap) + .set(BizPurchaseOrderSub::getRemainNum, gap) .eq(BizPurchaseOrderSub::getId, orderSub.getId()) ); } @@ -234,8 +234,8 @@ public class PurchaseInboundService { .builder() .pid(id).type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()).uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now).info(info) .build() ); @@ -260,8 +260,8 @@ public class PurchaseInboundService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -383,10 +383,10 @@ public class PurchaseInboundService { if (orderSub == null) { return String.format("入库商品【%s】不在采购订单中", inboundSub.getCname()); } - if (orderSub.getRemain_num().compareTo(BigDecimal.ZERO) <= 0) { + if (orderSub.getRemainNum().compareTo(BigDecimal.ZERO) <= 0) { return String.format("入库商品【%s】已全部入库", inboundSub.getCname()); } - if (orderSub.getRemain_num().compareTo(inboundSub.getNum()) < 0) { + if (orderSub.getRemainNum().compareTo(inboundSub.getNum()) < 0) { return String.format("入库商品【%s】的数量超出订单数量", inboundSub.getCname()); } } @@ -422,10 +422,10 @@ public class PurchaseInboundService { private Wrapper getSearchCondition(PurchaseInboundSearch vo) { String pid = vo.getPid(); - String pid_fuzzy = vo.getPid_fuzzy(); + String pidFuzzy = vo.getPidFuzzy(); return DocUtil.baseCondition(BizPurchaseInbound.class, vo) .eq(pid != null, BizPurchaseInbound::getPid, pid) - .like(!StringUtils.isEmpty(pid_fuzzy), BizPurchaseInbound::getPid, pid_fuzzy); + .like(!StringUtils.isEmpty(pidFuzzy), BizPurchaseInbound::getPid, pidFuzzy); } } diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseOrderService.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseOrderService.java index 9d079c4..cd9cfdc 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseOrderService.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/PurchaseOrderService.java @@ -103,8 +103,8 @@ public class PurchaseOrderService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -131,8 +131,8 @@ public class PurchaseOrderService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -168,8 +168,8 @@ public class PurchaseOrderService { .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) .info(info) .build() @@ -195,8 +195,8 @@ public class PurchaseOrderService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -234,7 +234,7 @@ public class PurchaseOrderService { //设置子表的pid、剩余未出库数量 for (BizPurchaseOrderSub sub : subList) { sub.setPid(id); - sub.setRemain_num(sub.getNum()); + sub.setRemainNum(sub.getNum()); } //插入主表和子表 @@ -276,7 +276,7 @@ public class PurchaseOrderService { //插入新的子表 List subList = doc.getData(); - subList.forEach(sub -> sub.setRemain_num(sub.getNum())); + subList.forEach(sub -> sub.setRemainNum(sub.getNum())); subMapper.insertBatch(subList); //附件增删 diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOrderService.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOrderService.java index c20333f..1e5f7f5 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOrderService.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOrderService.java @@ -106,8 +106,8 @@ public class SellOrderService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -133,8 +133,8 @@ public class SellOrderService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -170,8 +170,8 @@ public class SellOrderService { .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) .info(info) .build() @@ -197,8 +197,8 @@ public class SellOrderService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -238,7 +238,7 @@ public class SellOrderService { for (BizSellOrderSub sub : subList) { sub.setPid(id); - sub.setRemain_num(sub.getNum()); + sub.setRemainNum(sub.getNum()); } //插入主表和子表 @@ -268,8 +268,8 @@ public class SellOrderService { mainMapper.update( null, Wrappers.lambdaUpdate(BizSellOrder.class) - .set(BizSellOrder::getCustomer_id, doc.getCustomer_id()) - .set(BizSellOrder::getCustomer_name, doc.getCustomer_name()) + .set(BizSellOrder::getCustomerId, doc.getCustomerId()) + .set(BizSellOrder::getCustomerName, doc.getCustomerName()) .set(BizSellOrder::getStatus, doc.getStatus()) .set(BizSellOrder::getTotal, doc.getTotal()) .set(BizSellOrder::getRemark, doc.getRemark()) @@ -281,7 +281,7 @@ public class SellOrderService { //插入新的子表 List subList = doc.getData(); - subList.forEach(sub->sub.setRemain_num(sub.getNum())); + subList.forEach(sub->sub.setRemainNum(sub.getNum())); subMapper.insertBatch(subList); //附件增删 @@ -344,7 +344,7 @@ public class SellOrderService { for (int i = 0; i < subListLength; i++) { BizSellOrderSub sub = list.get(i); StockSearchResult stock = stockList.get(i); - if (sub.getNum().compareTo(stock.getTotal_num()) > 0) { + if (sub.getNum().compareTo(stock.getTotalNum()) > 0) { return String.format("商品【%s】库存不足", sub.getCname()); } } @@ -353,15 +353,15 @@ public class SellOrderService { } private Wrapper getSearchCondition(SellOrderSearch vo) { - Integer customer_id = vo.getCustomer_id(); - String customer_name = vo.getCustomer_name(); + Integer customerId = vo.getCustomerId(); + String customerName = vo.getCustomerName(); String finish = vo.getFinish(); Long ftimeStart = vo.getFtimeStart(); Long ftimeEnd = vo.getFtimeEnd(); return DocUtil.baseCondition(BizSellOrder.class, vo) - .eq(customer_id != null, BizSellOrder::getCustomer_id, customer_id) - .like(!StringUtils.isEmpty(customer_name), BizSellOrder::getCustomer_name, customer_name) + .eq(customerId != null, BizSellOrder::getCustomerId, customerId) + .like(!StringUtils.isEmpty(customerName), BizSellOrder::getCustomerName, customerName) .inSql(!StringUtils.isEmpty(finish), BizSellOrder::getFinish, finish) .ge(ftimeStart != null, BizSellOrder::getCtime, ftimeStart) .le(ftimeEnd != null, BizSellOrder::getCtime, ftimeEnd); diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOutboundService.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOutboundService.java index 13a2829..b0aa49b 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOutboundService.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/service/SellOutboundService.java @@ -114,8 +114,8 @@ public class SellOutboundService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -141,8 +141,8 @@ public class SellOutboundService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -193,7 +193,7 @@ public class SellOutboundService { List orderSubList = this.getOrderSubListByPid(pid); for (BizSellOrderSub orderSub : orderSubList) { - if (orderSub.getRemain_num().equals(BigDecimal.ZERO)) { + if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { continue; } @@ -201,18 +201,18 @@ public class SellOutboundService { if (outboundNum == null) continue; - BigDecimal gap = orderSub.getRemain_num().subtract(outboundNum); + BigDecimal gap = orderSub.getRemainNum().subtract(outboundNum); - //如果有任意一个采购商品的remain_num大于采购商品的num,则完成情况为进行中,否则为已完成 + //如果有任意一个采购商品的remainNum大于采购商品的num,则完成情况为进行中,否则为已完成 if (gap.compareTo(BigDecimal.ZERO) > 0) { finish = DocFinishEnum.UNDERWAY; } - //更新采购订单子表的remain_num + //更新采购订单子表的remainNum orderSubMapper.update( null, Wrappers.lambdaUpdate(BizSellOrderSub.class) - .set(BizSellOrderSub::getRemain_num, gap) + .set(BizSellOrderSub::getRemainNum, gap) .eq(BizSellOrderSub::getId, orderSub.getId()) ); } @@ -238,8 +238,8 @@ public class SellOutboundService { .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) .info(info) .build() @@ -265,8 +265,8 @@ public class SellOutboundService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -395,10 +395,10 @@ public class SellOutboundService { if (orderSub == null) { return "未在销售订单中找到对应的出库商品"; } - if (orderSub.getRemain_num().equals(BigDecimal.ZERO)) { + if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { return String.format("出库商品【%s】已全部出库", orderSub.getCname()); } - if (orderSub.getRemain_num().compareTo(outboundCount.get(cid)) < 0) { + if (orderSub.getRemainNum().compareTo(outboundCount.get(cid)) < 0) { return String.format("出库商品【%s】的数量超出订单数量", orderSub.getCname()); } cids[index] = String.valueOf(cid); @@ -445,11 +445,11 @@ public class SellOutboundService { private Wrapper getSearchCondition(SellOutboundSearch vo) { String pid = vo.getPid(); - String pid_fuzzy = vo.getPid_fuzzy(); + String pidFuzzy = vo.getPidFuzzy(); return DocUtil.baseCondition(BizSellOutbound.class, vo) .eq(pid != null, BizSellOutbound::getPid, pid) - .like(!StringUtils.isEmpty(pid_fuzzy), BizSellOutbound::getPid, pid_fuzzy); + .like(!StringUtils.isEmpty(pidFuzzy), BizSellOutbound::getPid, pidFuzzy); } private Map getOutboundCount(List list) { diff --git a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/util/DocUtil.java b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/util/DocUtil.java index 0beed17..c41a6c3 100644 --- a/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/util/DocUtil.java +++ b/java/cloud/web/web-modules/document/src/main/java/cn/toesbieya/jxc/document/util/DocUtil.java @@ -54,7 +54,7 @@ public class DocUtil { public static LambdaQueryWrapper baseCondition(Class c, DocSearch vo) { String id = vo.getId(); - String id_fuzzy = vo.getId_fuzzy(); + String idFuzzy = vo.getIdFuzzy(); Integer cid = vo.getCid(); String cname = vo.getCname(); Integer vid = vo.getVid(); @@ -67,7 +67,7 @@ public class DocUtil { return Wrappers.lambdaQuery(c) .eq(!StringUtils.isEmpty(id), BizDoc::getId, id) - .like(!StringUtils.isEmpty(id_fuzzy), BizDoc::getId, id_fuzzy) + .like(!StringUtils.isEmpty(idFuzzy), BizDoc::getId, idFuzzy) .eq(cid != null, BizDoc::getCid, cid) .like(!StringUtils.isEmpty(cname), BizDoc::getCname, cname) .eq(vid != null, BizDoc::getVid, vid) diff --git a/java/cloud/web/web-modules/document/src/main/resources/mapper/BizPurchaseOrderSub.xml b/java/cloud/web/web-modules/document/src/main/resources/mapper/BizPurchaseOrderSub.xml index c14ec6d..474eaa4 100644 --- a/java/cloud/web/web-modules/document/src/main/resources/mapper/BizPurchaseOrderSub.xml +++ b/java/cloud/web/web-modules/document/src/main/resources/mapper/BizPurchaseOrderSub.xml @@ -4,7 +4,7 @@ INSERT INTO biz_purchase_order_sub(pid, cid, cname, num, price, remain_num) VALUES - (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remain_num}) + (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum}) \ No newline at end of file diff --git a/java/cloud/web/web-modules/document/src/main/resources/mapper/BizSellOrderSub.xml b/java/cloud/web/web-modules/document/src/main/resources/mapper/BizSellOrderSub.xml index 8000dc4..5920282 100644 --- a/java/cloud/web/web-modules/document/src/main/resources/mapper/BizSellOrderSub.xml +++ b/java/cloud/web/web-modules/document/src/main/resources/mapper/BizSellOrderSub.xml @@ -4,7 +4,7 @@ INSERT INTO biz_sell_order_sub(pid, cid, cname, num, price, remain_num) VALUES - (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remain_num}) + (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum}) \ No newline at end of file diff --git a/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/constant/MsgConstant.java b/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/constant/MsgConstant.java index 8f51dba..ce707fc 100644 --- a/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/constant/MsgConstant.java +++ b/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/constant/MsgConstant.java @@ -1,11 +1,11 @@ package cn.toesbieya.jxc.message.constant; -public class MsgConstant { - public static final Integer TYPE_NOTICE = 0; //通知提醒 - public static final Integer TYPE_ANNOUNCEMENT = 1; //系统公告 - public static final Integer STATUS_DRAFT = 0; //拟定 - public static final Integer STATUS_PUBLISHED = 1; //已发布 - public static final Integer STATUS_WITHDREW = 2; //已撤回 - public static final Integer TO_ALL = 1; //发送给全体用户 - public static final Integer TO_RANGE = 0; //已发送给指定用户 +public interface MsgConstant { + Integer TYPE_NOTICE = 0; //通知提醒 + Integer TYPE_ANNOUNCEMENT = 1; //系统公告 + Integer STATUS_DRAFT = 0; //拟定 + Integer STATUS_PUBLISHED = 1; //已发布 + Integer STATUS_WITHDREW = 2; //已撤回 + Integer TO_ALL = 1; //发送给全体用户 + Integer TO_RANGE = 0; //已发送给指定用户 } diff --git a/java/cloud/web/web-modules/pom.xml b/java/cloud/web/web-modules/pom.xml index 15bde8f..6e15c85 100644 --- a/java/cloud/web/web-modules/pom.xml +++ b/java/cloud/web/web-modules/pom.xml @@ -36,7 +36,6 @@ mysql mysql-connector-java - com.baomidou mybatis-plus-boot-starter diff --git a/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/model/vo/StockExport.java b/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/model/vo/StockExport.java index 67dc815..54170b0 100644 --- a/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/model/vo/StockExport.java +++ b/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/model/vo/StockExport.java @@ -22,11 +22,11 @@ public class StockExport { @ExcelProperty(value = "库存总数", index = 2) @ColumnWidth(20) - private BigDecimal total_num; + private BigDecimal totalNum; @ExcelProperty(value = "库存总值", index = 3) @ColumnWidth(20) - private BigDecimal total_price; + private BigDecimal totalPrice; @ExcelProperty(value = "采购订单号", index = 4) @ColumnWidth(20) @@ -34,11 +34,11 @@ public class StockExport { @ExcelProperty(value = "采购单价", index = 5) @ColumnWidth(20) - private BigDecimal cg_price; + private BigDecimal cgPrice; @ExcelProperty(value = "采购数量", index = 6) @ColumnWidth(20) - private BigDecimal cg_num; + private BigDecimal cgNum; @ExcelProperty(value = "采购入库单号", index = 7) @ColumnWidth(20) @@ -50,5 +50,5 @@ public class StockExport { @ExcelProperty(value = "入库数量", index = 9) @ColumnWidth(20) - private BigDecimal rk_num; + private BigDecimal rkNum; } diff --git a/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/service/StockService.java b/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/service/StockService.java index eb63ed0..b9e89b4 100644 --- a/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/service/StockService.java +++ b/java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/service/StockService.java @@ -32,7 +32,7 @@ public class StockService implements StockApi { private final ExcelUtil.CommonMergeOptions mergeOptions = new ExcelUtil.CommonMergeOptions( - new String[]{"id", "cname", "total_num", "total_price", "cgddid", "cg_price", "cg_num"}, + new String[]{"id", "cname", "totalNum", "totalPrice", "cgddid", "cgPrice", "cgNum"}, "cid", "id" ); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/SysDepartmentController.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/SysDepartmentController.java index 7674b24..17c8977 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/SysDepartmentController.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/SysDepartmentController.java @@ -1,5 +1,6 @@ package cn.toesbieya.jxc.system.controller; +import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.common.model.entity.SysDepartment; import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.system.service.SysDepartmentService; @@ -7,6 +8,8 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("department") @@ -15,13 +18,15 @@ public class SysDepartmentController { private SysDepartmentService departmentService; @GetMapping("get") - public Result get() { - return Result.success(departmentService.get()); - } - - @GetMapping("getAll") - public Result getAll() { - return Result.success(departmentService.getAll()); + public Result get(boolean all) { + List list = departmentService.getAll(); + if (!all) { + list = list + .stream() + .filter(i -> i.getStatus().equals(GeneralStatusEnum.ENABLED.getCode())) + .collect(Collectors.toList()); + } + return Result.success(list); } @PostMapping("add") diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/mapper/SysDepartmentMapper.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/mapper/SysDepartmentMapper.java index ab51402..c9a8ef8 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/mapper/SysDepartmentMapper.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/mapper/SysDepartmentMapper.java @@ -1,7 +1,14 @@ package cn.toesbieya.jxc.system.mapper; import cn.toesbieya.jxc.common.model.entity.SysDepartment; +import cn.toesbieya.jxc.common.model.vo.DepartmentVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface SysDepartmentMapper extends BaseMapper { + List selectChildrenById(@Param("id") int id); + + List selectParentsById(@Param("id") int id); } diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/CustomerVo.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/CustomerVo.java index 4ca338a..faa59a2 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/CustomerVo.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/CustomerVo.java @@ -11,7 +11,7 @@ import lombok.ToString; @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class CustomerVo extends SysCustomer { - private String region_name; + private String regionName; public CustomerVo(SysCustomer parent) { this.setId(parent.getId()); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/SupplierVo.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/SupplierVo.java index cae483b..f72584a 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/SupplierVo.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/SupplierVo.java @@ -11,7 +11,7 @@ import lombok.ToString; @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class SupplierVo extends SysSupplier { - private String region_name; + private String regionName; public SupplierVo(SysSupplier parent) { this.setId(parent.getId()); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysCustomerService.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysCustomerService.java index a77250a..d2e2210 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysCustomerService.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysCustomerService.java @@ -78,7 +78,7 @@ public class SysCustomerService { SysRegion matched = Util.find(regions, item -> customerVo.getRegion().equals(item.getId())); if (matched != null) { - customerVo.setRegion_name(matched.getName()); + customerVo.setRegionName(matched.getName()); } }); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysDepartmentService.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysDepartmentService.java index 63a2d01..8f4efdb 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysDepartmentService.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysDepartmentService.java @@ -1,29 +1,89 @@ package cn.toesbieya.jxc.system.service; +import cn.toesbieya.jxc.api.service.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.system.mapper.SysDepartmentMapper; import cn.toesbieya.jxc.web.common.annoation.UserAction; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import javax.annotation.Resource; +import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; @Service -public class SysDepartmentService { +@org.apache.dubbo.config.annotation.Service +public class SysDepartmentService implements DepartmentApi { @Resource private SysDepartmentMapper departmentMapper; + @Resource + private SysRoleService roleService; - public List get() { - return departmentMapper.selectList( - Wrappers.lambdaQuery(SysDepartment.class) - .eq(SysDepartment::getStatus, 1) - ); + public List getAll() { + return departmentMapper.selectChildrenById(1); + } + + @Override + public DepartmentVo getById(int id) { + List list = departmentMapper.selectParentsById(id); + DepartmentVo parent = Util.find(list, i -> i.getPid().equals(0)); + DepartmentVo child = Util.find(list, i -> i.getId().equals(id)); + if (parent == null || child == null) { + return null; + } + child.setFullname(parent.getFullname()); + return child; } - public List getAll() { - return departmentMapper.selectList(null); + @Override + public Set getUserDataScope(SysUser user) { + if (user.isAdmin()) return null; + + SysRole role = roleService.getRoleById(user.getRole()); + + if (role == null) return Collections.emptySet(); + + int scope = role.getScope(); + + //全部 + if (scope == DataScopeEnum.ALL.getCode()) { + return null; + } + + //本部门 + if (scope == DataScopeEnum.SELF.getCode()) { + Integer dept = user.getDept(); + if (dept == null) return Collections.emptySet(); + return departmentMapper + .selectChildrenById(dept) + .stream() + .map(DepartmentVo::getId) + .collect(Collectors.toSet()); + } + + //指定部门 + if (scope == DataScopeEnum.SPECIFIC.getCode()) { + String deptIds = role.getDepartmentId(); + if (StringUtils.isEmpty(deptIds)) { + return Collections.emptySet(); + } + return Arrays + .stream(deptIds.split(",")) + .map(Integer::valueOf) + .collect(Collectors.toSet()); + } + + return Collections.emptySet(); } @UserAction("'添加部门:'+#department.name") diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysResourceService.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysResourceService.java index 34867fa..57ec3d9 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysResourceService.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysResourceService.java @@ -24,7 +24,7 @@ public class SysResourceService implements ResourceApi { public List get() { List list = resourceMapper.selectList( Wrappers.lambdaQuery(SysResource.class) - .eq(SysResource::getAdmin, 0) + .eq(SysResource::isAdmin, false) ); return completeNode(list); @@ -41,7 +41,7 @@ public class SysResourceService implements ResourceApi { return Collections.emptyList(); } - String ids = role.getResource_id(); + String ids = role.getResourceId(); if (StringUtils.isEmpty(ids)) { return Collections.emptyList(); @@ -69,7 +69,7 @@ public class SysResourceService implements ResourceApi { //跳过顶级节点 if (resource.getPid() == 0) { - vo.setFullName(name); + vo.setFullname(name); urlMap.put(id, url); nameMap.put(id, name); @@ -83,13 +83,13 @@ public class SysResourceService implements ResourceApi { assert !StringUtils.isEmpty(parentUrl) && !StringUtils.isEmpty(parentName); - String fullName = parentName + " - " + name; + String fullname = parentName + " - " + name; vo.setUrl(parentUrl + url); - vo.setFullName(fullName); + vo.setFullname(fullname); urlMap.put(id, url); - nameMap.put(id, fullName); + nameMap.put(id, fullname); } result.add(vo); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysRoleService.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysRoleService.java index 56bd25c..a1bb2be 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysRoleService.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysRoleService.java @@ -83,8 +83,10 @@ public class SysRoleService implements RoleApi { null, Wrappers.lambdaUpdate(SysRole.class) .set(SysRole::getName, name) - .set(SysRole::getResource_id, role.getResource_id()) .set(SysRole::getStatus, role.getStatus()) + .set(SysRole::getScope, role.getScope()) + .set(SysRole::getDepartmentId, role.getDepartmentId()) + .set(SysRole::getResourceId, role.getResourceId()) .eq(SysRole::getId, id) ); return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新重试"); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysSupplierService.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysSupplierService.java index c3a9bf8..0e538f2 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysSupplierService.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysSupplierService.java @@ -77,7 +77,7 @@ public class SysSupplierService { list.forEach(supplierVo -> { SysRegion matched = Util.find(regions, item -> supplierVo.getRegion().equals(item.getId())); if (matched != null) { - supplierVo.setRegion_name(matched.getName()); + supplierVo.setRegionName(matched.getName()); } }); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysUserService.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysUserService.java index a0f3ddb..7f5fbe9 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysUserService.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SysUserService.java @@ -41,7 +41,7 @@ public class SysUserService { Wrapper wrapper = Wrappers.lambdaQuery(SysUser.class) - .eq(SysUser::getAdmin, 0) + .eq(SysUser::isAdmin, false) .eq(id != null, SysUser::getId, id) .like(!StringUtils.isEmpty(name), SysUser::getName, name) .inSql(!StringUtils.isEmpty(roleIds), SysUser::getRole, roleIds) @@ -84,7 +84,7 @@ public class SysUserService { //设置用户的角色名称 SysRole matched = Util.find(roles, i -> i.getId().equals(userRoleId)); if (matched != null) { - userVo.setRole_name(matched.getName()); + userVo.setRoleName(matched.getName()); } } }); @@ -120,6 +120,7 @@ public class SysUserService { Wrappers.lambdaUpdate(SysUser.class) .set(SysUser::getName, name) .set(SysUser::getRole, user.getRole()) + .set(SysUser::getDept, user.getDept()) .set(SysUser::getStatus, user.getStatus()) .eq(SysUser::getId, id) ); @@ -133,7 +134,7 @@ public class SysUserService { int rows = userMapper.delete( Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::getId, user.getId()) - .eq(SysUser::getAdmin, 0) + .eq(SysUser::isAdmin, false) ); WebSocketUtil.sendLogoutEvent(Collections.singletonList(user.getId()), "该用户已删除"); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); diff --git a/java/cloud/web/web-modules/system/src/main/resources/mapper/SysDepartment.xml b/java/cloud/web/web-modules/system/src/main/resources/mapper/SysDepartment.xml new file mode 100644 index 0000000..5fb6199 --- /dev/null +++ b/java/cloud/web/web-modules/system/src/main/resources/mapper/SysDepartment.xml @@ -0,0 +1,37 @@ + + + + + + + \ No newline at end of file diff --git a/java/local/pom.xml b/java/local/pom.xml index 30cc8c4..8ebd324 100644 --- a/java/local/pom.xml +++ b/java/local/pom.xml @@ -21,39 +21,35 @@ 1.7.18 28.1-jre 1.2.60 - - - 5.5.0 - 4.3.0 - - [7.2.0, 7.2.99] - - 2.2.5 + org.springframework.boot spring-boot-starter - org.springframework.boot spring-boot-starter-web - org.springframework.boot spring-boot-starter-aop + + org.springframework.boot + spring-boot-configuration-processor + true + + org.springframework.boot spring-boot-starter-data-redis - org.apache.commons commons-pool2 @@ -75,35 +71,13 @@ ${pagehelper.version} + com.corundumstudio.socketio netty-socketio ${socketio.version} - - org.projectlombok - lombok - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - - com.google.guava - guava - ${guava.version} - - - - com.alibaba - fastjson - ${fastjson.version} - - com.qiniu @@ -121,12 +95,28 @@ compile - + + + com.alibaba + fastjson + ${fastjson.version} + com.alibaba easyexcel ${easyexcel.version} + + com.google.guava + guava + ${guava.version} + + + + + org.projectlombok + lombok + diff --git a/java/local/src/main/java/cn/toesbieya/jxc/MyApplication.java b/java/local/src/main/java/cn/toesbieya/jxc/MyApplication.java index fa15805..797ea2c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/MyApplication.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/MyApplication.java @@ -5,9 +5,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; -@SpringBootApplication -@MapperScan("cn.toesbieya.jxc.mapper") @EnableScheduling +@MapperScan("cn.toesbieya.jxc.mapper") +@SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/aspect/LockAspect.java b/java/local/src/main/java/cn/toesbieya/jxc/aspect/LockAspect.java index 90577c0..8573cf2 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/aspect/LockAspect.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/aspect/LockAspect.java @@ -1,7 +1,7 @@ package cn.toesbieya.jxc.aspect; import cn.toesbieya.jxc.annoation.Lock; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.RedisUtil; import cn.toesbieya.jxc.utils.SpringUtil; import lombok.extern.slf4j.Slf4j; @@ -22,7 +22,7 @@ import java.util.ArrayList; public class LockAspect { private final ThreadLocal> lockerThreadLocal = new ThreadLocal<>(); - @Pointcut("@annotation(cn.toesbieya.jxc.annoation.Lock)&&execution(cn.toesbieya.jxc.utils.Result cn.toesbieya.jxc..*.*(..))") + @Pointcut("@annotation(cn.toesbieya.jxc.annoation.Lock)&&execution(cn.toesbieya.jxc.model.vo.Result cn.toesbieya.jxc..*.*(..))") public void pointCut() { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java b/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java index 48948da..f2fd662 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java @@ -4,7 +4,7 @@ import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.enumeration.UserActionEnum; import cn.toesbieya.jxc.model.entity.RecUserAction; import cn.toesbieya.jxc.service.RecService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.SpringUtil; import cn.toesbieya.jxc.utils.ThreadUtil; import lombok.extern.slf4j.Slf4j; @@ -28,7 +28,7 @@ public class UserActionAspect { @Resource private RecService recService; - @Pointcut("@annotation(cn.toesbieya.jxc.annoation.UserAction)&&execution(cn.toesbieya.jxc.utils.Result cn.toesbieya.jxc..*.*(..))") + @Pointcut("@annotation(cn.toesbieya.jxc.annoation.UserAction)&&execution(cn.toesbieya.jxc.model.vo.Result cn.toesbieya.jxc..*.*(..))") public void pointCut() { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/constant/DocumentConstant.java b/java/local/src/main/java/cn/toesbieya/jxc/constant/DocumentConstant.java index dfd133c..4241946 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/constant/DocumentConstant.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/constant/DocumentConstant.java @@ -1,7 +1,7 @@ package cn.toesbieya.jxc.constant; -public class DocumentConstant { - public static final String UPDATE_DOCUMENTS_LOCK_KEY = "UPDATE_DOCUMENTS"; - public static final String[] DOCUMENT_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"}; - public static final String DOCUMENT_TYPE_REDIS_KEY = "documentsID"; +public interface DocumentConstant { + String UPDATE_DOCUMENTS_LOCK_KEY = "UPDATE_DOCUMENTS"; + String[] DOCUMENT_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"}; + String DOCUMENT_TYPE_REDIS_KEY = "documentsID"; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/constant/MsgConstant.java b/java/local/src/main/java/cn/toesbieya/jxc/constant/MsgConstant.java index 980c045..b1562ae 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/constant/MsgConstant.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/constant/MsgConstant.java @@ -1,11 +1,11 @@ package cn.toesbieya.jxc.constant; -public class MsgConstant { - public static final Integer TYPE_NOTICE = 0; //通知提醒 - public static final Integer TYPE_ANNOUNCEMENT = 1; //系统公告 - public static final Integer STATUS_DRAFT = 0; //拟定 - public static final Integer STATUS_PUBLISHED = 1; //已发布 - public static final Integer STATUS_WITHDREW = 2; //已撤回 - public static final Integer TO_ALL = 1; //发送给全体用户 - public static final Integer TO_RANGE = 0; //已发送给指定用户 +public interface MsgConstant { + Integer TYPE_NOTICE = 0; //通知提醒 + Integer TYPE_ANNOUNCEMENT = 1; //系统公告 + Integer STATUS_DRAFT = 0; //拟定 + Integer STATUS_PUBLISHED = 1; //已发布 + Integer STATUS_WITHDREW = 2; //已撤回 + Integer TO_ALL = 1; //发送给全体用户 + Integer TO_RANGE = 0; //已发送给指定用户 } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/constant/SessionConstant.java b/java/local/src/main/java/cn/toesbieya/jxc/constant/SessionConstant.java index bd53d51..ebaafad 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/constant/SessionConstant.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/constant/SessionConstant.java @@ -1,18 +1,18 @@ package cn.toesbieya.jxc.constant; -public class SessionConstant { +public interface SessionConstant { //session过期时间,单位秒 - public static long EXPIRE = 3600 * 8; + long EXPIRE = 3600 * 8; //存储用户信息的键的前缀 - public static String REDIS_NAMESPACE = "sessions:"; + String REDIS_NAMESPACE = "sessions:"; //key过期事件的前缀 - public static String REDIS_EXPIRE_TOPIC_PREFIX = "__keyspace@0__:"; + String REDIS_EXPIRE_TOPIC_PREFIX = "__keyspace@0__:"; //http headers中token的字段名 - public static String TOKEN_KEY = "X-Token"; + String TOKEN_KEY = "X-Token"; //区别无活动用户的时间间隔,单位秒 - public static long NO_ACTION_INTERVAL = 1800; + long NO_ACTION_INTERVAL = 1800; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/constant/SocketConstant.java b/java/local/src/main/java/cn/toesbieya/jxc/constant/SocketConstant.java index c2d4898..95529da 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/constant/SocketConstant.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/constant/SocketConstant.java @@ -1,23 +1,23 @@ package cn.toesbieya.jxc.constant; -public class SocketConstant { +public interface SocketConstant { //web-socket服务端订阅的redis主题名称 - public static String REDIS_EVENT_TOPIC_SEND = "socket-event-send"; + String REDIS_EVENT_TOPIC_SEND = "socket-event-send"; //指定用户 - public static int REDIS_EVENT_SPECIFIC = 0; + int REDIS_EVENT_SPECIFIC = 0; //广播 - public static int REDIS_EVENT_BROADCAST = 1; + int REDIS_EVENT_BROADCAST = 1; //登出 - public static int REDIS_EVENT_LOGOUT = 2; + int REDIS_EVENT_LOGOUT = 2; //存放于redis中的在线用户的ID集合的键 - public static String REDIS_ONLINE_USER = "socket:online-user"; + String REDIS_ONLINE_USER = "socket:online-user"; //存放于redis中的离线用户的离线时间的键 - public static String REDIS_OFFLINE_USER = "socket:offline-user"; + String REDIS_OFFLINE_USER = "socket:offline-user"; //登出事件 - public static final String EVENT_LOGOUT = "logout"; + String EVENT_LOGOUT = "logout"; //新消息事件 - public static final String EVENT_NEW_MESSAGE = "new-message"; + String EVENT_NEW_MESSAGE = "new-message"; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java index f02fc95..bac5e40 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java @@ -7,7 +7,7 @@ import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.service.AccountService; import cn.toesbieya.jxc.utils.SessionUtil; import cn.toesbieya.jxc.utils.IpUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -80,10 +80,10 @@ public class AccountController { private String validateUpdatePwdParam(PasswordUpdateParam vo) { if (vo.getId() == null) return "修改失败,参数错误"; - if (StringUtils.isEmpty(vo.getOld_pwd())) return "修改失败,原密码不能为空"; - if (StringUtils.isEmpty(vo.getNew_pwd())) return "修改失败,新密码不能为空"; - if (vo.getOld_pwd().equals(vo.getNew_pwd())) return "修改失败,新密码不得与旧密码相同"; - if (vo.getNew_pwd().length() != 32) return "修改失败,密码参数有误"; + if (StringUtils.isEmpty(vo.getOldPwd())) return "修改失败,原密码不能为空"; + if (StringUtils.isEmpty(vo.getNewPwd())) return "修改失败,新密码不能为空"; + if (vo.getOldPwd().equals(vo.getNewPwd())) return "修改失败,新密码不得与旧密码相同"; + if (vo.getNewPwd().length() != 32) return "修改失败,密码参数有误"; return null; } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizDocumentHistoryController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizDocumentHistoryController.java index 01f7d58..4e75f07 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizDocumentHistoryController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizDocumentHistoryController.java @@ -2,7 +2,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.model.vo.search.DocumentHistorySearch; import cn.toesbieya.jxc.service.BizDocumentHistoryService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseInboundController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseInboundController.java index 8730583..3425021 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseInboundController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseInboundController.java @@ -8,7 +8,7 @@ import cn.toesbieya.jxc.model.vo.search.PurchaseInboundSearch; import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; import cn.toesbieya.jxc.utils.SessionUtil; import cn.toesbieya.jxc.service.BizPurchaseInboundService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseOrderController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseOrderController.java index 8305a07..4c83dba 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseOrderController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseOrderController.java @@ -7,7 +7,7 @@ import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.PurchaseOrderSearch; import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; import cn.toesbieya.jxc.service.BizPurchaseOrderService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.SessionUtil; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOrderController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOrderController.java index e26f435..2dcaa62 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOrderController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOrderController.java @@ -8,7 +8,7 @@ import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.SellOrderSearch; import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; import cn.toesbieya.jxc.service.BizSellOrderService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -49,8 +49,8 @@ public class BizSellOrderController { @PostMapping("add") public Result add(@RequestBody BizSellOrder vo) { - if (vo.getCustomer_id() == null - || StringUtils.isEmpty(vo.getCustomer_name()) + if (vo.getCustomerId() == null + || StringUtils.isEmpty(vo.getCustomerName()) || vo.getTotal() == null) { return Result.fail("参数错误"); } @@ -120,8 +120,8 @@ public class BizSellOrderController { private String validateUpdate(BizSellOrder main) { if (StringUtils.isEmpty(main.getId()) - || StringUtils.isEmpty(main.getCustomer_id()) - || StringUtils.isEmpty(main.getCustomer_name()) + || StringUtils.isEmpty(main.getCustomerId()) + || StringUtils.isEmpty(main.getCustomerName()) || StringUtils.isEmpty(main.getCid()) || StringUtils.isEmpty(main.getCname()) || StringUtils.isEmpty(main.getCtime()) diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOutboundController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOutboundController.java index bceac14..09b1895 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOutboundController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOutboundController.java @@ -8,7 +8,7 @@ import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.SellOutboundSearch; import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; import cn.toesbieya.jxc.service.BizSellOutboundService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizStockController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizStockController.java index 3b67be2..236b751 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizStockController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizStockController.java @@ -2,7 +2,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.model.vo.search.StockSearch; import cn.toesbieya.jxc.service.BizStockService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/FileController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/FileController.java index 12a0418..24c00d7 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/FileController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/FileController.java @@ -1,7 +1,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.utils.QiniuUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/MsgController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/MsgController.java index 040cdb6..bf892ef 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/MsgController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/MsgController.java @@ -7,7 +7,7 @@ import cn.toesbieya.jxc.model.vo.search.MsgSearch; import cn.toesbieya.jxc.utils.SessionUtil; import cn.toesbieya.jxc.constant.MsgConstant; import cn.toesbieya.jxc.service.MsgService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java index 0613b71..6acb996 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java @@ -6,7 +6,7 @@ import cn.toesbieya.jxc.model.vo.search.UserActionSearch; import cn.toesbieya.jxc.utils.SessionUtil; import cn.toesbieya.jxc.service.RecService; import cn.toesbieya.jxc.utils.DateUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java index 393af44..f5fc3ec 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java @@ -1,7 +1,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.service.StatisticService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCategoryController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCategoryController.java index e714757..835fb93 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCategoryController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCategoryController.java @@ -3,7 +3,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.model.entity.SysCategory; import cn.toesbieya.jxc.model.vo.search.CategorySearch; import cn.toesbieya.jxc.service.SysCategoryService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCustomerController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCustomerController.java index 8bb840b..6890205 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCustomerController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCustomerController.java @@ -3,7 +3,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.model.entity.SysCustomer; import cn.toesbieya.jxc.model.vo.search.CustomerSearch; import cn.toesbieya.jxc.service.SysCustomerService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysDepartmentController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysDepartmentController.java index 965641e..92de04c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysDepartmentController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysDepartmentController.java @@ -1,12 +1,16 @@ package cn.toesbieya.jxc.controller; +import cn.toesbieya.jxc.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.model.entity.SysDepartment; +import cn.toesbieya.jxc.model.vo.DepartmentVo; import cn.toesbieya.jxc.service.SysDepartmentService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("system/department") @@ -15,13 +19,15 @@ public class SysDepartmentController { private SysDepartmentService departmentService; @GetMapping("get") - public Result get() { - return Result.success(departmentService.get()); - } - - @GetMapping("getAll") - public Result getAll() { - return Result.success(departmentService.getAll()); + public Result get(boolean all) { + List list = departmentService.getAll(); + if (!all) { + list = list + .stream() + .filter(i -> i.getStatus().equals(GeneralStatusEnum.ENABLED.getCode())) + .collect(Collectors.toList()); + } + return Result.success(list); } @PostMapping("add") diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysResourceController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysResourceController.java index 7f7954e..4bc10b8 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysResourceController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysResourceController.java @@ -2,7 +2,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.model.entity.SysResource; import cn.toesbieya.jxc.service.SysResourceService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -26,8 +26,8 @@ public class SysResourceController { @PostMapping("update") public Result update(@RequestBody SysResource resource) { if (resource.getId() == null - || resource.getTotal_rate() == null - || resource.getIp_rate() == null) { + || resource.getTotalRate() == null + || resource.getIpRate() == null) { return Result.fail("参数错误"); } return resourceService.update(resource); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysRoleController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysRoleController.java index 6270535..832379f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysRoleController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysRoleController.java @@ -5,7 +5,7 @@ import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.RoleSearch; import cn.toesbieya.jxc.utils.SessionUtil; import cn.toesbieya.jxc.service.SysRoleService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysSupplierController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysSupplierController.java index 2aed554..96764eb 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysSupplierController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysSupplierController.java @@ -3,7 +3,7 @@ package cn.toesbieya.jxc.controller; import cn.toesbieya.jxc.model.entity.SysSupplier; import cn.toesbieya.jxc.model.vo.search.SupplierSearch; import cn.toesbieya.jxc.service.SysSupplierService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysUserController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysUserController.java index fa616b1..84ae2bd 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysUserController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/SysUserController.java @@ -5,7 +5,7 @@ import cn.toesbieya.jxc.model.entity.SysUser; import cn.toesbieya.jxc.model.vo.search.UserSearch; import cn.toesbieya.jxc.utils.ThreadUtil; import cn.toesbieya.jxc.service.SysUserService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/TestController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/TestController.java index 20f71e9..ac84a18 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/TestController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/TestController.java @@ -1,6 +1,6 @@ package cn.toesbieya.jxc.controller; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/enumeration/DataScopeEnum.java b/java/local/src/main/java/cn/toesbieya/jxc/enumeration/DataScopeEnum.java new file mode 100644 index 0000000..2a0b100 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/enumeration/DataScopeEnum.java @@ -0,0 +1,15 @@ +package cn.toesbieya.jxc.enumeration; + +public enum DataScopeEnum { + ALL(1), SELF(2), SPECIFIC(3); + + private final int code; + + DataScopeEnum(int code) { + this.code = code; + } + + public int getCode() { + return code; + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java b/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java index 7b37ba0..b2b0bf4 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java @@ -6,7 +6,7 @@ import cn.toesbieya.jxc.model.entity.RecUserAction; import cn.toesbieya.jxc.utils.ThreadUtil; import cn.toesbieya.jxc.utils.Util; import cn.toesbieya.jxc.service.RecService; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils; import org.springframework.web.HttpRequestMethodNotSupportedException; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/interceptor/RateControlInterceptor.java b/java/local/src/main/java/cn/toesbieya/jxc/interceptor/RateControlInterceptor.java index 4899085..e889436 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/interceptor/RateControlInterceptor.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/interceptor/RateControlInterceptor.java @@ -1,5 +1,6 @@ package cn.toesbieya.jxc.interceptor; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.module.request.RequestModule; import cn.toesbieya.jxc.utils.*; @@ -15,7 +16,7 @@ public class RateControlInterceptor implements HandlerInterceptor { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { UserVo user = SessionUtil.get(request); - if (user.getAdmin() == 1) return true; + if (user.isAdmin()) return true; String url = request.getServletPath(); String ip = IpUtil.getIp(request); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java b/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java index 841998e..a1512f8 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java @@ -1,5 +1,6 @@ package cn.toesbieya.jxc.interceptor; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.module.PermissionModule; import cn.toesbieya.jxc.utils.*; @@ -15,22 +16,23 @@ public class SecurityInterceptor implements HandlerInterceptor { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String url = request.getServletPath(); String ip = IpUtil.getIp(request); - UserVo user = SessionUtil.get(request); if (user == null) { WebUtil.responseJson(response, Result.requireLogin()); - ThreadUtil.clearUser(); + ThreadUtil.clearAll(); return false; } if (!PermissionModule.authority(user, url)) { WebUtil.responseJson(response, Result.noPermission()); log.warn("权限拦截,访问路径:{},用户:{},IP:{}", url, user.getName(), ip); - ThreadUtil.clearUser(); + ThreadUtil.clearAll(); return false; } + ThreadUtil.setUser(user); + return true; } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java index c8a1639..bdeaf12 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java @@ -24,7 +24,7 @@ public interface BizSellOrderMapper { int update(BizSellOrder param); - int updateSubRemainNum(@Param("id") Integer id, @Param("remain_num") BigDecimal remain_num); + int updateSubRemainNum(@Param("id") Integer id, @Param("remain_num") BigDecimal remainNum); int pass(@Param("id") String id, @Param("vid") Integer vid, @Param("vname") String vname, @Param("vtime") long vtime); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java index 0ca1da5..30a1c72 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java @@ -1,16 +1,17 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysDepartment; +import cn.toesbieya.jxc.model.vo.DepartmentVo; import org.apache.ibatis.annotations.Param; import java.util.List; public interface SysDepartmentMapper { - List get(); + List selectChildrenById(@Param("id") int id); - List getAll(); + List selectParentsById(@Param("id") int id); - int add(SysDepartment department); + int insert(SysDepartment department); int update(SysDepartment department); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java index 19dd7cf..08c09ff 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java @@ -7,13 +7,15 @@ import org.apache.ibatis.annotations.Param; import java.util.List; public interface SysRoleMapper { + SysRole selectById(@Param("id") int id); + List get(); List getAll(); List search(RoleSearch vo); - int add(SysRole role); + int insert(SysRole role); int update(SysRole role); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java index 5360ab1..ec2b65d 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java @@ -15,11 +15,11 @@ public interface SysUserMapper { boolean isNameExist(@Param("name") String name, @Param("id") Integer id); - int add(SysUser user); + int insert(SysUser user); int update(SysUser user); - int del(@Param("id") Integer id); + int deleteById(@Param("id") Integer id); int resetPwd(@Param("id") Integer id, @Param("pwd") String pwd); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentHistory.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentHistory.java index 249b124..65ab795 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentHistory.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentHistory.java @@ -15,8 +15,8 @@ public class BizDocumentHistory { private Integer type; private Integer uid; private String uname; - private Integer status_before; - private Integer status_after; + private Integer statusBefore; + private Integer statusAfter; private Long time; private String info; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java index 2e46aab..34a03c3 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java @@ -11,5 +11,5 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) public class BizPurchaseOrderSub extends BizDocumentSub { private BigDecimal price; - private BigDecimal remain_num; + private BigDecimal remainNum; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java index fd8c874..13f13ac 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java @@ -10,8 +10,8 @@ import java.math.BigDecimal; @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class BizSellOrder extends BizDocument { - private Integer customer_id; - private String customer_name; + private Integer customerId; + private String customerName; private Integer finish; private Long ftime; private BigDecimal total; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java index 7f4b084..bd00c53 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java @@ -11,5 +11,5 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) public class BizSellOrderSub extends BizDocumentSub { private BigDecimal price; - private BigDecimal remain_num; + private BigDecimal remainNum; } \ No newline at end of file diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java index d5ebecc..5d0b5ba 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java @@ -16,7 +16,7 @@ public class SysCustomer { private String linkman; private String linkphone; private String region; - private String region_name; + private String regionName; private Integer status; private Long ctime; private String remark; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java index 0aa955c..e94dbcb 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java @@ -11,9 +11,9 @@ public class SysResource { private Integer id; private Integer pid; private String name; - private String fullName; + private String fullname; private String url; - private Integer admin; - private Integer total_rate; - private Integer ip_rate; + private boolean admin = false; + private Long totalRate; + private Long ipRate; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysRole.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysRole.java index 0ca3a08..85c94ce 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysRole.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysRole.java @@ -1,20 +1,17 @@ package cn.toesbieya.jxc.model.entity; -import lombok.AllArgsConstructor; -import lombok.Builder; +import cn.toesbieya.jxc.enumeration.DataScopeEnum; import lombok.Data; -import lombok.NoArgsConstructor; @Data -@Builder -@AllArgsConstructor -@NoArgsConstructor public class SysRole { private Integer id; private String name; - private String resource_id; private Integer cid; private String cname; private Long ctime; private Integer status; + private int scope = DataScopeEnum.ALL.getCode(); + private String departmentId; + private String resourceId; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java index e9d0eb8..fabe33a 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java @@ -10,7 +10,7 @@ public class SysSupplier { private String linkman; private String linkphone; private String region; - private String region_name; + private String regionName; private Integer status; private Long ctime; private String remark; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java index 52c7cee..4ca1b65 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java @@ -14,6 +14,7 @@ public class SysUser { private Integer role; private String avatar; private Long ctime; - private Integer admin; + private boolean admin = false; private Integer status; + private Integer dept; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/DepartmentVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/DepartmentVo.java new file mode 100644 index 0000000..b595006 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/DepartmentVo.java @@ -0,0 +1,22 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.SysDepartment; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; + +@Data +@NoArgsConstructor +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class DepartmentVo extends SysDepartment { + String fullname; + + public DepartmentVo(SysDepartment parent) { + this.setId(parent.getId()); + this.setPid(parent.getPid()); + this.setName(parent.getName()); + this.setStatus(parent.getStatus()); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java index a70056c..32bcef4 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java @@ -11,9 +11,10 @@ import java.util.Map; public class LoginSuccessInfo { private Integer id; private String name; - private String role_name; + private String roleName; + private String deptName; private String avatar; - private Integer admin; + private boolean admin = false; private String token; private Map resources; @@ -21,6 +22,6 @@ public class LoginSuccessInfo { this.id = user.getId(); this.name = user.getName(); this.avatar = user.getAvatar(); - this.admin = user.getAdmin(); + this.admin = user.isAdmin(); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PasswordUpdateParam.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PasswordUpdateParam.java index 6734739..4bb12fc 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PasswordUpdateParam.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PasswordUpdateParam.java @@ -5,6 +5,6 @@ import lombok.Data; @Data public class PasswordUpdateParam { private Integer id; - private String new_pwd; - private String old_pwd; + private String newPwd; + private String oldPwd; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/Result.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/Result.java similarity index 98% rename from java/local/src/main/java/cn/toesbieya/jxc/utils/Result.java rename to java/local/src/main/java/cn/toesbieya/jxc/model/vo/Result.java index bec9eb1..b894b74 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/utils/Result.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/Result.java @@ -1,4 +1,4 @@ -package cn.toesbieya.jxc.utils; +package cn.toesbieya.jxc.model.vo; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/UserVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/UserVo.java index 4a7ad5a..7139722 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/UserVo.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/UserVo.java @@ -6,7 +6,6 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; -import java.util.Map; import java.util.Set; @Data @@ -15,10 +14,11 @@ import java.util.Set; @EqualsAndHashCode(callSuper = true) public class UserVo extends SysUser { private String token; - private String role_name; + private String roleName; + private String deptName; private boolean online = false; - private Set resource_ids; - private Map resource_map; + private Set departmentIds; + private Set resourceIds; public UserVo(SysUser parent) { this.setId(parent.getId()); @@ -27,7 +27,7 @@ public class UserVo extends SysUser { this.setRole(parent.getRole()); this.setAvatar(parent.getAvatar()); this.setCtime(parent.getCtime()); - this.setAdmin(parent.getAdmin()); + this.setAdmin(parent.isAdmin()); this.setStatus(parent.getStatus()); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/SellOrderExport.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/SellOrderExport.java index 6efb188..5494b2a 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/SellOrderExport.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/SellOrderExport.java @@ -12,7 +12,7 @@ public class SellOrderExport { @ExcelProperty(value = "客户", index = 1) @ColumnWidth(30) - private String customer_name; + private String customerName; @ExcelProperty(value = "创建人", index = 2) @ColumnWidth(20) diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/StockExport.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/StockExport.java index 8817476..f07ed08 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/StockExport.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/export/StockExport.java @@ -22,11 +22,11 @@ public class StockExport { @ExcelProperty(value = "库存总数", index = 2) @ColumnWidth(20) - private BigDecimal total_num; + private BigDecimal totalNum; @ExcelProperty(value = "库存总值", index = 3) @ColumnWidth(20) - private BigDecimal total_price; + private BigDecimal totalPrice; @ExcelProperty(value = "采购订单号", index = 4) @ColumnWidth(20) @@ -34,11 +34,11 @@ public class StockExport { @ExcelProperty(value = "采购单价", index = 5) @ColumnWidth(20) - private BigDecimal cg_price; + private BigDecimal cgPrice; @ExcelProperty(value = "采购数量", index = 6) @ColumnWidth(20) - private BigDecimal cg_num; + private BigDecimal cgNum; @ExcelProperty(value = "采购入库单号", index = 7) @ColumnWidth(20) @@ -50,5 +50,5 @@ public class StockExport { @ExcelProperty(value = "入库数量", index = 9) @ColumnWidth(20) - private BigDecimal rk_num; + private BigDecimal rkNum; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/StockSearchResult.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/StockSearchResult.java index 4e22672..aecda3f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/StockSearchResult.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/StockSearchResult.java @@ -8,6 +8,6 @@ import java.math.BigDecimal; public class StockSearchResult { private Integer cid; private String cname; - private BigDecimal total_num; - private BigDecimal total_price; + private BigDecimal totalNum; + private BigDecimal totalPrice; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentSearch.java index e12e9e9..8a88e9c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentSearch.java @@ -9,7 +9,7 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class DocumentSearch extends BaseSearch { private String id; - private String id_fuzzy; + private String idFuzzy; private Integer cid; private String cname; private Integer vid; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java index 4d4c270..ae511d8 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java @@ -9,5 +9,5 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class PurchaseInboundSearch extends DocumentSearch { private String pid; - private String pid_fuzzy; + private String pidFuzzy; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java index 81e315c..7b097c9 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java @@ -8,8 +8,8 @@ import lombok.ToString; @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class SellOrderSearch extends DocumentSearch { - private Integer customer_id; - private String customer_name; + private Integer customerId; + private String customerName; private String finish; private Long ftimeStart; private Long ftimeEnd; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java index 37689e6..9f0f71d 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java @@ -9,5 +9,5 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class SellOutboundSearch extends DocumentSearch { private String pid; - private String pid_fuzzy; + private String pidFuzzy; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java b/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java index cc18acf..4f31b93 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java @@ -23,13 +23,13 @@ public class PermissionModule { private SysResourceService resourceService; public static boolean authority(UserVo user, String url) { - if (user.getAdmin() == 1 || !needAuthority(url)) { + if (user.isAdmin() || !needAuthority(url)) { return true; } if (adminUrlMap.containsKey(url)) return false; - Set ids = user.getResource_ids(); + Set ids = user.getResourceIds(); if (ids == null) return false; @@ -48,7 +48,7 @@ public class PermissionModule { if (resources != null) { for (SysResource p : resources) { - if (p.getAdmin() == 1) { + if (p.isAdmin()) { adminUrlMap.put(p.getUrl(), p.getId()); } else urlMap.put(p.getUrl(), p.getId()); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/module/request/RateLimiterHelper.java b/java/local/src/main/java/cn/toesbieya/jxc/module/request/RateLimiterHelper.java index e95c5b9..c69c5d4 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/module/request/RateLimiterHelper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/module/request/RateLimiterHelper.java @@ -6,9 +6,9 @@ import lombok.Data; @Data public class RateLimiterHelper { private RateLimiter limiter; - private int ipRate; + private long ipRate; - public RateLimiterHelper(int totalRate, int ipRate) { + public RateLimiterHelper(long totalRate, long ipRate) { this.limiter = RateLimiter.create(totalRate); this.ipRate = ipRate; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java b/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java index b8d26a7..9cdec68 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java @@ -69,12 +69,12 @@ public class RequestModule { limitMap = new ConcurrentHashMap<>(); List resources = resourceService.getAll(); for (SysResource resource : resources) { - RateLimiterHelper helper = new RateLimiterHelper(resource.getTotal_rate(), resource.getIp_rate()); + RateLimiterHelper helper = new RateLimiterHelper(resource.getTotalRate(), resource.getIpRate()); limitMap.put(resource.getUrl(), helper); } } - public static void updateRate(String url, int totalRate, int ipRate) { + public static void updateRate(String url, long totalRate, long ipRate) { limitMap.remove(url); limitMap.put(url, new RateLimiterHelper(totalRate, ipRate)); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java index 1a51529..8af16a5 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java @@ -4,12 +4,14 @@ import cn.toesbieya.jxc.annoation.TimeCost; import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.enumeration.RecLoginHistoryEnum; +import cn.toesbieya.jxc.mapper.SysRoleMapper; import cn.toesbieya.jxc.mapper.SysUserMapper; import cn.toesbieya.jxc.model.entity.SysResource; +import cn.toesbieya.jxc.model.entity.SysRole; import cn.toesbieya.jxc.model.entity.SysUser; import cn.toesbieya.jxc.model.vo.*; import cn.toesbieya.jxc.utils.QiniuUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.SessionUtil; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -25,6 +27,10 @@ public class AccountService { private SysResourceService resourceService; @Resource private RecService recService; + @Resource + private SysDepartmentService departmentService; + @Resource + private SysRoleMapper roleMapper; @TimeCost public Result login(LoginParam param, String ip) { @@ -37,7 +43,7 @@ public class AccountService { return Result.fail("该用户已被禁用,请联系管理员"); } Integer roleId = user.getRole(); - if (user.getAdmin() != 1 && roleId == null) { + if (!user.isAdmin() && roleId == null) { return Result.fail("该用户尚未被分配角色,请联系管理员"); } @@ -53,25 +59,51 @@ public class AccountService { info.setToken(token); Map userResourcesUrlMap = null; - Set userResourcesIdSet = null; - //获取用户的所有权限url if (roleId != null) { - List resources = resourceService.getByRole(user.getRole()); - - userResourcesUrlMap = new HashMap<>(128); - userResourcesIdSet = new HashSet<>(128); + //获取用户的角色 + SysRole role = roleMapper.selectById(roleId); + + if (role != null) { + //设置角色名称 + String roleName = role.getName(); + userVo.setRoleName(roleName); + info.setRoleName(roleName); + + //获取用户的权限列表 + List resources = resourceService.getByRole(roleId); + + userResourcesUrlMap = new HashMap<>(128); + userResourcesIdSet = new HashSet<>(128); + + for (SysResource resource : resources) { + Integer resourceId = resource.getId(); + userResourcesUrlMap.put(resource.getUrl(), resourceId); + userResourcesIdSet.add(resourceId); + } + } + } - for (SysResource resource : resources) { - Integer resourceId = resource.getId(); - userResourcesUrlMap.put(resource.getUrl(), resourceId); - userResourcesIdSet.add(resourceId); + //获取用户部门 + Integer deptId = user.getDept(); + if (deptId != null) { + DepartmentVo dept = departmentService.getById(deptId); + if (dept != null) { + //设置用户的部门名称 + String deptName = dept.getFullname(); + userVo.setDeptName(deptName); + info.setDeptName(deptName); } } - userVo.setResource_ids(userResourcesIdSet); + //用户的数据范围 + userVo.setDepartmentIds(departmentService.getUserDataScope(user)); + + //用户的权限ID集合 + userVo.setResourceIds(userResourcesIdSet); + //返回给前端的用户权限表 info.setResources(userResourcesUrlMap); //用户信息插入redis @@ -106,7 +138,7 @@ public class AccountService { user.setStatus(GeneralStatusEnum.ENABLED.getCode()); user.setCtime(System.currentTimeMillis()); - userMapper.add(user); + userMapper.insert(user); return Result.success("注册成功"); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseInboundService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseInboundService.java index b5a0c9e..8e5093f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseInboundService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseInboundService.java @@ -18,7 +18,7 @@ import cn.toesbieya.jxc.model.vo.search.PurchaseInboundSearch; import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; import cn.toesbieya.jxc.utils.DocumentUtil; import cn.toesbieya.jxc.utils.ExcelUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.Util; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; @@ -98,8 +98,8 @@ public class BizPurchaseInboundService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -125,8 +125,8 @@ public class BizPurchaseInboundService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -162,7 +162,7 @@ public class BizPurchaseInboundService { //生成需要入库的商品列表 for (BizPurchaseOrderSub orderSub : orderSubList) { - if (orderSub.getRemain_num().equals(BigDecimal.ZERO)) { + if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { continue; } @@ -177,14 +177,14 @@ public class BizPurchaseInboundService { .build() ); - BigDecimal gap = orderSub.getRemain_num().subtract(inboundSub.getNum()); + BigDecimal gap = orderSub.getRemainNum().subtract(inboundSub.getNum()); - //如果有任意一个采购商品的remain_num大于采购商品的num,则完成情况为进行中,否则为已完成 + //如果有任意一个采购商品的remainNum大于采购商品的num,则完成情况为进行中,否则为已完成 if (gap.compareTo(BigDecimal.ZERO) > 0) { finish = DocFinishEnum.UNDERWAY; } - //更新采购订单子表的remain_num + //更新采购订单子表的remainNum orderMapper.updateSubRemainNum(orderSub.getId(), gap); } @@ -203,8 +203,8 @@ public class BizPurchaseInboundService { .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) .info(info) .build() @@ -230,8 +230,8 @@ public class BizPurchaseInboundService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -346,10 +346,10 @@ public class BizPurchaseInboundService { if (orderSub == null) { return String.format("入库商品【%s】不在采购订单中", inboundSub.getCname()); } - if (orderSub.getRemain_num().compareTo(BigDecimal.ZERO) <= 0) { + if (orderSub.getRemainNum().compareTo(BigDecimal.ZERO) <= 0) { return String.format("入库商品【%s】已全部入库", inboundSub.getCname()); } - if (orderSub.getRemain_num().compareTo(inboundSub.getNum()) < 0) { + if (orderSub.getRemainNum().compareTo(inboundSub.getNum()) < 0) { return String.format("入库商品【%s】的数量超出订单数量", inboundSub.getCname()); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseOrderService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseOrderService.java index 33e8b7d..947d839 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseOrderService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseOrderService.java @@ -18,7 +18,7 @@ import cn.toesbieya.jxc.utils.ExcelUtil; import com.github.pagehelper.PageHelper; import cn.toesbieya.jxc.mapper.BizDocumentHistoryMapper; import cn.toesbieya.jxc.utils.DocumentUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -89,8 +89,8 @@ public class BizPurchaseOrderService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -116,8 +116,8 @@ public class BizPurchaseOrderService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -144,8 +144,8 @@ public class BizPurchaseOrderService { .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) .info(info) .build() @@ -171,8 +171,8 @@ public class BizPurchaseOrderService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -210,7 +210,7 @@ public class BizPurchaseOrderService { //设置子表的pid、剩余未出库数量 for (BizPurchaseOrderSub sub : subList) { sub.setPid(id); - sub.setRemain_num(sub.getNum()); + sub.setRemainNum(sub.getNum()); } //插入主表和子表 @@ -243,7 +243,7 @@ public class BizPurchaseOrderService { //插入新的子表 List subList = doc.getData(); - subList.forEach(sub -> sub.setRemain_num(sub.getNum())); + subList.forEach(sub -> sub.setRemainNum(sub.getNum())); mainMapper.addSub(subList); //附件增删 diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOrderService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOrderService.java index f15ff71..e7f7efd 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOrderService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOrderService.java @@ -17,7 +17,7 @@ import cn.toesbieya.jxc.model.vo.search.StockSearch; import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; import cn.toesbieya.jxc.utils.DocumentUtil; import cn.toesbieya.jxc.utils.ExcelUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -92,8 +92,8 @@ public class BizSellOrderService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -119,8 +119,8 @@ public class BizSellOrderService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -147,8 +147,8 @@ public class BizSellOrderService { .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) .info(info) .build() @@ -174,8 +174,8 @@ public class BizSellOrderService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -215,7 +215,7 @@ public class BizSellOrderService { for (BizSellOrderSub sub : subList) { sub.setPid(id); - sub.setRemain_num(sub.getNum()); + sub.setRemainNum(sub.getNum()); } //插入主表和子表 @@ -249,7 +249,7 @@ public class BizSellOrderService { //插入新的子表 List subList = doc.getData(); - subList.forEach(sub->sub.setRemain_num(sub.getNum())); + subList.forEach(sub->sub.setRemainNum(sub.getNum())); mainMapper.addSub(subList); //附件增删 @@ -293,7 +293,7 @@ public class BizSellOrderService { for (int i = 0; i < subListLength; i++) { BizSellOrderSub sub = list.get(i); StockSearchResult stock = stockList.get(i); - if (sub.getNum().compareTo(stock.getTotal_num()) > 0) { + if (sub.getNum().compareTo(stock.getTotalNum()) > 0) { return String.format("商品【%s】库存不足", sub.getCname()); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOutboundService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOutboundService.java index 5596604..b64d0c1 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOutboundService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOutboundService.java @@ -18,7 +18,7 @@ import cn.toesbieya.jxc.model.vo.search.SellOutboundSearch; import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; import cn.toesbieya.jxc.utils.DocumentUtil; import cn.toesbieya.jxc.utils.ExcelUtil; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.Util; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; @@ -102,8 +102,8 @@ public class BizSellOutboundService { .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) .uname(doc.getCname()) - .status_before(DocStatusEnum.DRAFT.getCode()) - .status_after(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusBefore(DocStatusEnum.DRAFT.getCode()) + .statusAfter(DocStatusEnum.WAIT_VERIFY.getCode()) .time(System.currentTimeMillis()) .build() ); @@ -129,8 +129,8 @@ public class BizSellOutboundService { .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -174,7 +174,7 @@ public class BizSellOutboundService { List orderSubList = orderMapper.getSubById(pid); for (BizSellOrderSub orderSub : orderSubList) { - if (orderSub.getRemain_num().equals(BigDecimal.ZERO)) { + if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { continue; } @@ -182,9 +182,9 @@ public class BizSellOutboundService { if (outboundNum == null) continue; - BigDecimal gap = orderSub.getRemain_num().subtract(outboundNum); + BigDecimal gap = orderSub.getRemainNum().subtract(outboundNum); - //如果有任意一个采购商品的remain_num大于采购商品的num,则完成情况为进行中,否则为已完成 + //如果有任意一个采购商品的remainNum大于采购商品的num,则完成情况为进行中,否则为已完成 if (gap.compareTo(BigDecimal.ZERO) > 0) { finish = DocFinishEnum.UNDERWAY; } @@ -203,8 +203,8 @@ public class BizSellOutboundService { .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.VERIFIED.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) .info(info) .build() @@ -230,8 +230,8 @@ public class BizSellOutboundService { .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) .uname(user.getName()) - .status_before(DocStatusEnum.WAIT_VERIFY.getCode()) - .status_after(DocStatusEnum.DRAFT.getCode()) + .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) + .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) .info(info) .build() @@ -348,10 +348,10 @@ public class BizSellOutboundService { if (orderSub == null) { return "未在销售订单中找到对应的出库商品"; } - if (orderSub.getRemain_num().equals(BigDecimal.ZERO)) { + if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { return String.format("出库商品【%s】已全部出库", orderSub.getCname()); } - if (orderSub.getRemain_num().compareTo(outboundCount.get(cid)) < 0) { + if (orderSub.getRemainNum().compareTo(outboundCount.get(cid)) < 0) { return String.format("出库商品【%s】的数量超出订单数量", orderSub.getCname()); } cids[index] = String.valueOf(cid); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java index caa1b85..8068879 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java @@ -23,7 +23,10 @@ public class BizStockService { private final ExcelUtil.CommonMergeOptions mergeOptions = new ExcelUtil.CommonMergeOptions( - new String[]{"id", "cname", "total_num", "total_price", "cgddid", "cg_price", "cg_num"}, "cid", "id"); + new String[]{"id", "cname", "totalNum", "totalPrice", "cgddid", "cgPrice", "cgNum"}, + "cid", + "id" + ); public PageResult search(StockSearch vo) { PageHelper.startPage(vo.getPage(), vo.getPageSize()); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/MsgService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/MsgService.java index 5deb627..ce16068 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/MsgService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/MsgService.java @@ -13,7 +13,7 @@ import cn.toesbieya.jxc.model.vo.search.MsgSearch; import cn.toesbieya.jxc.utils.WebSocketUtil; import com.github.pagehelper.PageHelper; import cn.toesbieya.jxc.mapper.MsgMapper; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCategoryService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysCategoryService.java index 9a541eb..8b52950 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCategoryService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/SysCategoryService.java @@ -5,7 +5,7 @@ import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.model.entity.SysCategory; import cn.toesbieya.jxc.model.vo.search.CategorySearch; import cn.toesbieya.jxc.mapper.SysCategoryMapper; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCustomerService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysCustomerService.java index 78864a6..a323205 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCustomerService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/SysCustomerService.java @@ -7,7 +7,7 @@ import cn.toesbieya.jxc.model.vo.result.RegionValueResult; import cn.toesbieya.jxc.model.vo.search.CustomerSearch; import com.github.pagehelper.PageHelper; import cn.toesbieya.jxc.mapper.SysCustomerMapper; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysDepartmentService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysDepartmentService.java index d0f9153..49edd42 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysDepartmentService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/SysDepartmentService.java @@ -1,27 +1,91 @@ package cn.toesbieya.jxc.service; import cn.toesbieya.jxc.annoation.UserAction; -import cn.toesbieya.jxc.model.entity.SysDepartment; +import cn.toesbieya.jxc.enumeration.DataScopeEnum; import cn.toesbieya.jxc.mapper.SysDepartmentMapper; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.mapper.SysRoleMapper; +import cn.toesbieya.jxc.model.entity.SysDepartment; +import cn.toesbieya.jxc.model.entity.SysRole; +import cn.toesbieya.jxc.model.entity.SysUser; +import cn.toesbieya.jxc.model.vo.DepartmentVo; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.utils.Util; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import javax.annotation.Resource; +import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; @Slf4j @Service public class SysDepartmentService { @Resource private SysDepartmentMapper departmentMapper; + @Resource + private SysRoleMapper roleMapper; - public List get() { - return departmentMapper.get(); + public List getAll() { + return departmentMapper.selectChildrenById(1); } - public List getAll() { - return departmentMapper.getAll(); + public DepartmentVo getById(int id) { + List list = departmentMapper.selectParentsById(id); + DepartmentVo parent = Util.find(list, i -> i.getPid().equals(0)); + DepartmentVo child = Util.find(list, i -> i.getId().equals(id)); + if (parent == null || child == null) { + return null; + } + child.setFullname(parent.getFullname()); + return child; + } + + //获取用户的数据范围(部门ID集合),返回null说明无需限制 + public Set getUserDataScope(SysUser user) { + Integer roleId = user.getRole(); + + if (user.isAdmin()) return null; + if (roleId == null) return Collections.emptySet(); + + SysRole role = roleMapper.selectById(roleId); + + if (role == null) return Collections.emptySet(); + + int scope = role.getScope(); + + //全部 + if (scope == DataScopeEnum.ALL.getCode()) { + return null; + } + + //本部门 + if (scope == DataScopeEnum.SELF.getCode()) { + Integer dept = user.getDept(); + if (dept == null) return Collections.emptySet(); + return departmentMapper + .selectChildrenById(dept) + .stream() + .map(DepartmentVo::getId) + .collect(Collectors.toSet()); + } + + //指定部门 + if (scope == DataScopeEnum.SPECIFIC.getCode()) { + String deptIds = role.getDepartmentId(); + if (StringUtils.isEmpty(deptIds)) { + return Collections.emptySet(); + } + return Arrays + .stream(deptIds.split(",")) + .map(Integer::valueOf) + .collect(Collectors.toSet()); + } + + return Collections.emptySet(); } @UserAction("'添加部门:'+#department.name") @@ -29,7 +93,7 @@ public class SysDepartmentService { if (departmentMapper.nameExist(null, department.getPid(), department.getName())) { return Result.fail("添加失败,部门名称重复"); } - int rows = departmentMapper.add(department); + int rows = departmentMapper.insert(department); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysResourceService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysResourceService.java index 84abd6d..9654cef 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysResourceService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/SysResourceService.java @@ -3,7 +3,7 @@ package cn.toesbieya.jxc.service; import cn.toesbieya.jxc.model.entity.SysResource; import cn.toesbieya.jxc.mapper.SysResourceMapper; import cn.toesbieya.jxc.module.request.RequestModule; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -39,7 +39,7 @@ public class SysResourceService { public Result update(SysResource resource) { int rows = resourceMapper.update(resource); if (rows > 0) { - RequestModule.updateRate(resource.getUrl(), resource.getTotal_rate(), resource.getIp_rate()); + RequestModule.updateRate(resource.getUrl(), resource.getTotalRate(), resource.getIpRate()); } return Result.success("修改成功"); } @@ -53,7 +53,7 @@ public class SysResourceService { if (resource.getPid() == 0) { url.put(resource.getId(), resource.getUrl()); name.put(resource.getId(), resource.getName()); - resource.setFullName(resource.getName()); + resource.setFullname(resource.getName()); continue; } @@ -63,9 +63,9 @@ public class SysResourceService { assert !StringUtils.isEmpty(parentUrl) && !StringUtils.isEmpty(parentName); resource.setUrl(parentUrl + resource.getUrl()); - resource.setFullName(parentName + " - " + resource.getName()); + resource.setFullname(parentName + " - " + resource.getName()); url.put(resource.getId(), resource.getUrl()); - name.put(resource.getId(), resource.getFullName()); + name.put(resource.getId(), resource.getFullname()); } } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysRoleService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysRoleService.java index c5c7b0d..c1b56c9 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysRoleService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/SysRoleService.java @@ -6,7 +6,7 @@ import cn.toesbieya.jxc.model.vo.result.PageResult; import cn.toesbieya.jxc.model.vo.search.RoleSearch; import com.github.pagehelper.PageHelper; import cn.toesbieya.jxc.mapper.SysRoleMapper; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -35,7 +35,7 @@ public class SysRoleService { if (roleMapper.isNameExist(role.getName(), null)) { return Result.fail("添加失败,角色名称重复"); } - int rows = roleMapper.add(role); + int rows = roleMapper.insert(role); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysSupplierService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysSupplierService.java index 4bf8c21..c26dad3 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysSupplierService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/SysSupplierService.java @@ -7,7 +7,7 @@ import cn.toesbieya.jxc.model.vo.result.RegionValueResult; import cn.toesbieya.jxc.model.vo.search.SupplierSearch; import com.github.pagehelper.PageHelper; import cn.toesbieya.jxc.mapper.SysSupplierMapper; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.stereotype.Service; import javax.annotation.Resource; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysUserService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysUserService.java index 75ebc42..af74b99 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysUserService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/SysUserService.java @@ -9,7 +9,7 @@ import cn.toesbieya.jxc.utils.Util; import cn.toesbieya.jxc.utils.WebSocketUtil; import com.github.pagehelper.PageHelper; import cn.toesbieya.jxc.mapper.SysUserMapper; -import cn.toesbieya.jxc.utils.Result; +import cn.toesbieya.jxc.model.vo.Result; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.DigestUtils; @@ -51,7 +51,7 @@ public class SysUserService { user.setCtime(System.currentTimeMillis()); user.setPwd(DEFAULT_PWD); - userMapper.add(user); + userMapper.insert(user); return Result.success("添加成功"); } @@ -69,7 +69,7 @@ public class SysUserService { @UserAction("'删除用户:'+#user.name") @Transactional(rollbackFor = Exception.class) public Result del(SysUser user) { - int rows = userMapper.del(user.getId()); + int rows = userMapper.deleteById(user.getId()); WebSocketUtil.sendLogoutEvent(Collections.singletonList(user.getId()), "该用户已删除"); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/ExcelUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/utils/ExcelUtil.java index 265b106..0bea83b 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/utils/ExcelUtil.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/utils/ExcelUtil.java @@ -1,5 +1,6 @@ package cn.toesbieya.jxc.utils; +import cn.toesbieya.jxc.model.vo.Result; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.metadata.Head; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/SecurityUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/utils/SecurityUtil.java new file mode 100644 index 0000000..54ceedb --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/utils/SecurityUtil.java @@ -0,0 +1,17 @@ +package cn.toesbieya.jxc.utils; + +import cn.toesbieya.jxc.model.vo.UserVo; + +import java.util.Set; +import java.util.stream.Collectors; + +public class SecurityUtil { + //获取字符串形式的数据范围,sql中使用 in (${param}) 拼接 + public static String getScopeParam() { + UserVo user = ThreadUtil.getUser(); + if (user == null) return "''"; + Set deptIds = user.getDepartmentIds(); + if (deptIds == null) return null; + return deptIds.isEmpty() ? "''" : deptIds.stream().map(String::valueOf).collect(Collectors.joining(",")); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/ThreadUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/utils/ThreadUtil.java index 755f4d1..fac7bab 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/utils/ThreadUtil.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/utils/ThreadUtil.java @@ -10,9 +10,9 @@ public class ThreadUtil { private static final ThreadLocal THREAD_LOCAL_USER = new ThreadLocal<>(); public static void quicklySetAction(HttpServletRequest request) { - UserVo user = SessionUtil.get(request); - - if (null == user) return; + UserVo user = getUser(); + if (user == null) user = SessionUtil.get(request); + if (user == null) return; RecUserAction userAction = RecUserAction.builder() .uid(user.getId()) diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/WebUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/utils/WebUtil.java index dc8a6b8..7a4b7eb 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/utils/WebUtil.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/utils/WebUtil.java @@ -1,5 +1,6 @@ package cn.toesbieya.jxc.utils; +import cn.toesbieya.jxc.model.vo.Result; import com.alibaba.fastjson.JSON; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; diff --git a/java/local/src/main/resources/application.yml b/java/local/src/main/resources/application.yml index efe2bd4..e58de81 100644 --- a/java/local/src/main/resources/application.yml +++ b/java/local/src/main/resources/application.yml @@ -8,8 +8,8 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/repo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true - username: username - password: password + username: + password: redis: host: localhost port: 6379 @@ -32,6 +32,8 @@ spring: mybatis: mapper-locations: - classpath*:/mapper/**/*.xml + configuration: + map-underscore-to-camel-case: true pagehelper: helperDialect: mysql diff --git a/java/local/src/main/resources/mapper/BizDocumentHistory.xml b/java/local/src/main/resources/mapper/BizDocumentHistory.xml index 284c77b..01cbcbf 100644 --- a/java/local/src/main/resources/mapper/BizDocumentHistory.xml +++ b/java/local/src/main/resources/mapper/BizDocumentHistory.xml @@ -21,6 +21,6 @@ insert into biz_doc_history (pid, type, uid, uname, status_before, status_after, time, info) - VALUES (#{pid}, #{type}, #{uid}, #{uname}, #{status_before}, #{status_after}, #{time}, #{info}) + VALUES (#{pid}, #{type}, #{uid}, #{uname}, #{statusBefore}, #{statusAfter}, #{time}, #{info}) \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizPurchaseInbound.xml b/java/local/src/main/resources/mapper/BizPurchaseInbound.xml index e5765e1..292549b 100644 --- a/java/local/src/main/resources/mapper/BizPurchaseInbound.xml +++ b/java/local/src/main/resources/mapper/BizPurchaseInbound.xml @@ -3,9 +3,9 @@ and id=#{id} - and id like "%"#{id_fuzzy}"%" + and id like "%"#{idFuzzy}"%" and pid=#{pid} - and pid like "%"#{pid_fuzzy}"%" + and pid like "%"#{pidFuzzy}"%" and cid=#{cid} and cname like "%"#{cname}"%" and vid=#{vid} diff --git a/java/local/src/main/resources/mapper/BizPurchaseOrder.xml b/java/local/src/main/resources/mapper/BizPurchaseOrder.xml index 909461d..cf8ec1f 100644 --- a/java/local/src/main/resources/mapper/BizPurchaseOrder.xml +++ b/java/local/src/main/resources/mapper/BizPurchaseOrder.xml @@ -3,7 +3,7 @@ and id=#{id} - and id like "%"#{id_fuzzy}"%" + and id like "%"#{idFuzzy}"%" and sid=#{sid} and sname like "%"#{sname}"%" and cid=#{cid} @@ -80,7 +80,7 @@ INSERT INTO biz_purchase_order_sub(pid, cid, cname, num, price, remain_num) VALUES - (#{i.pid},#{i.cid},#{i.cname},#{i.num},#{i.price},#{i.remain_num}) + (#{i.pid},#{i.cid},#{i.cname},#{i.num},#{i.price},#{i.remainNum}) diff --git a/java/local/src/main/resources/mapper/BizSellOrder.xml b/java/local/src/main/resources/mapper/BizSellOrder.xml index 441d0d8..8e50c17 100644 --- a/java/local/src/main/resources/mapper/BizSellOrder.xml +++ b/java/local/src/main/resources/mapper/BizSellOrder.xml @@ -3,9 +3,9 @@ and id=#{id} - and id like "%"#{id_fuzzy}"%" - and customer_id=#{customer_id} - and customer_name like "%"#{customer_name}"%" + and id like "%"#{idFuzzy}"%" + and customer_id=#{customerId} + and customer_name like "%"#{customerName}"%" and cid=#{cid} and cname like "%"#{cname}"%" and vid=#{vid} @@ -67,7 +67,7 @@ remark, - #{id},#{customer_id},#{customer_name},#{cid},#{cname},#{ctime},0,#{total}, + #{id},#{customerId},#{customerName},#{cid},#{cname},#{ctime},0,#{total}, #{vid}, #{vname}, #{vtime}, @@ -80,13 +80,13 @@ INSERT INTO biz_sell_order_sub(pid, cid, cname, num, price, remain_num) VALUES - (#{i.pid},#{i.cid},#{i.cname},#{i.num},#{i.price},#{i.remain_num}) + (#{i.pid},#{i.cid},#{i.cname},#{i.num},#{i.price},#{i.remainNum}) update biz_sell_order - set customer_id=#{customer_id}, - customer_name=#{customer_name}, + set customer_id=#{customerId}, + customer_name=#{customerName}, status=#{status}, total=#{total}, remark=#{remark} diff --git a/java/local/src/main/resources/mapper/BizSellOutbound.xml b/java/local/src/main/resources/mapper/BizSellOutbound.xml index 1183800..9c2225e 100644 --- a/java/local/src/main/resources/mapper/BizSellOutbound.xml +++ b/java/local/src/main/resources/mapper/BizSellOutbound.xml @@ -3,9 +3,9 @@ and id=#{id} - and id like "%"#{id_fuzzy}"%" + and id like "%"#{idFuzzy}"%" and pid=#{pid} - and pid like "%"#{pid_fuzzy}"%" + and pid like "%"#{pidFuzzy}"%" and cid=#{cid} and cname like "%"#{cname}"%" and vid=#{vid} diff --git a/java/local/src/main/resources/mapper/BizStock.xml b/java/local/src/main/resources/mapper/BizStock.xml index 3f4298b..ee26954 100644 --- a/java/local/src/main/resources/mapper/BizStock.xml +++ b/java/local/src/main/resources/mapper/BizStock.xml @@ -40,7 +40,7 @@ resultType="cn.toesbieya.jxc.model.vo.result.StockSearchResult"> select cid, cname, - sum(num) total_num, + sum(num) total_num, sum(num * price) total_price from biz_stock @@ -69,14 +69,14 @@ a.total_price, b.cgddid, b.cgrkid, - b.price cg_price, + b.price cg_price, from_unixtime(b.ctime / 1000, '%Y-%m-%d %H:%m:%s') ctime, - c.num rk_num, - d.num cg_num + c.num rk_num, + d.num cg_num from ( select cid, cname, - sum(num) total_num, + sum(num) total_num, sum(num * price) total_price from biz_stock diff --git a/java/local/src/main/resources/mapper/SysDepartment.xml b/java/local/src/main/resources/mapper/SysDepartment.xml index 625d2a3..c7c30b0 100644 --- a/java/local/src/main/resources/mapper/SysDepartment.xml +++ b/java/local/src/main/resources/mapper/SysDepartment.xml @@ -1,38 +1,66 @@ - + with recursive t as ( + select *, + name as fullname + from sys_department + where id = #{id} + union all + select c.*, + concat(t.fullname, ' > ', c.name) as fullname + from sys_department c, + t + where c.pid = t.id + ) select * - from sys_department - where status = 1 + from t; - + with recursive t as ( + select *, + name as fullname + from sys_department + where id = #{id} + union all + select c.*, + concat(c.name, ' > ', t.fullname) as fullname + from sys_department c, + t + where c.id = t.pid + ) select * - from sys_department + from t; - + + insert into sys_department (pid, name, status) VALUES (#{pid}, #{name}, #{status}); + update sys_department set pid=#{pid}, - name=#{name}, - status=#{status} + name=#{name}, + status=#{status} where id = #{id} + delete from sys_department where id = #{id} + \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/SysResource.xml b/java/local/src/main/resources/mapper/SysResource.xml index a45933c..61e9276 100644 --- a/java/local/src/main/resources/mapper/SysResource.xml +++ b/java/local/src/main/resources/mapper/SysResource.xml @@ -18,8 +18,8 @@ update sys_resource - set total_rate=#{total_rate}, - ip_rate=#{ip_rate} + set total_rate=#{totalRate}, + ip_rate=#{ipRate} where id = #{id} \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/SysRole.xml b/java/local/src/main/resources/mapper/SysRole.xml index c9d008a..5871f65 100644 --- a/java/local/src/main/resources/mapper/SysRole.xml +++ b/java/local/src/main/resources/mapper/SysRole.xml @@ -2,36 +2,63 @@ - and id=#{id} - and name like "%"#{name}"%" - and cid=#{cid} - and cname like "%"#{cname}"%" - and status=#{status} - and ctime = ]]> #{startTime} - and ctime #{endTime} + + and id=#{id} + + + and name like "%"#{name}"%" + + + and cid=#{cid} + + + and cname like "%"#{cname}"%" + + + and status=#{status} + + + and ctime = ]]> #{startTime} + + + and ctime #{endTime} + - - insert into sys_role (name, resource_id, cid, cname, ctime, status) - values (#{name}, #{resource_id}, #{cid}, #{cname}, #{ctime}, #{status}) + + + insert into sys_role (name, cid, cname, ctime, status, scope, department_id, resource_id) + values (#{name}, #{cid}, #{cname}, #{ctime}, #{status}, #{scope}, #{departmentId}, #{resourceId}) + update sys_role set name=#{name}, - resource_id=#{resource_id}, - status=#{status} + status=#{status}, + scope=#{scope}, + department_id=#{departmentId}, + resource_id=#{resourceId} where id = #{id} + delete from sys_role where id = #{id} - and status = 0 + and status = 0 + + + + select if(count(0) > 0, 1, 0) from sys_role - where name = #{name} - - and id!=#{id} + where name = #{name} + + and id != #{id} + diff --git a/java/local/src/main/resources/mapper/SysUser.xml b/java/local/src/main/resources/mapper/SysUser.xml index 19f221e..2d3108b 100644 --- a/java/local/src/main/resources/mapper/SysUser.xml +++ b/java/local/src/main/resources/mapper/SysUser.xml @@ -2,70 +2,102 @@ - and a.id=#{id} - and a.name like "%"#{name}"%" - and a.role in (${role}) - and a.status=#{status} - and a.ctime = ]]> #{startTime} - and a.ctime #{endTime} + + and a.id=#{id} + + + and a.name like "%"#{name}"%" + + + and a.role in (${role}) + + + and a.status=#{status} + + + and a.ctime = ]]> #{startTime} + + + and a.ctime #{endTime} + - - insert into sys_user (name, pwd, role, avatar, ctime) - values (#{name}, #{pwd}, #{role}, #{avatar}, #{ctime}) + + + insert into sys_user (name, pwd, role, dept, avatar, ctime) + values (#{name}, #{pwd}, #{role}, #{dept}, #{avatar}, #{ctime}) + update sys_user set name=#{name}, - role=#{role}, - status=#{status} + role=#{role}, + dept=#{dept}, + status=#{status} where id = #{id} + update sys_user - set pwd=#{new_pwd} + set pwd=#{newPwd} where id = #{id} - and pwd = #{old_pwd} + and pwd = #{oldPwd} + update sys_user set avatar=#{avatar} where id = #{id} - + + delete from sys_user where id = #{id} - and admin = 0 + and admin = 0 + + + - + - update sys_user set pwd=#{pwd} where id=#{id} and admin=0 + update sys_user + set pwd=#{pwd} + where id = #{id} + and admin = 0 \ No newline at end of file