代码调整

master
toesbieya 6 years ago
parent 0f60d33ea8
commit d375bf5619
  1. 12
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/DocConstant.java
  2. 12
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/constant/DocumentConstant.java
  3. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizDoc.java
  4. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizPurchaseInbound.java
  5. 1
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOrder.java
  6. 1
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/BizSellOutbound.java
  7. 2
      java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java
  8. 5
      java/cloud/nacos-config/jxc-common-database.yml
  9. 1
      java/cloud/nacos-config/jxc-common-redis.yml
  10. 6
      java/cloud/nacos-config/jxc-gateway.yml
  11. 2
      java/cloud/nacos-config/jxc-web-doc.yml
  12. 34
      java/cloud/schedule/src/main/java/cn/toesbieya/jxc/schedule/task/DocTask.java
  13. 22
      java/cloud/schedule/src/main/java/cn/toesbieya/jxc/schedule/task/StatisticTask.java
  14. 3
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/RestExceptionAspect.java
  15. 30
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/QiniuUtil.java
  16. 10
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/SessionUtil.java
  17. 4
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/ThreadUtil.java
  18. 8
      java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/utils/WebUtil.java
  19. 30
      java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java
  20. 28
      java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java
  21. 2
      java/cloud/web/web-modules/doc/pom.xml
  22. 8
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/DocApplication.java
  23. 20
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/DocHistoryController.java
  24. 35
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseInboundController.java
  25. 55
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseOrderController.java
  26. 35
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOrderController.java
  27. 35
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOutboundController.java
  28. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/enumeration/DocFinishEnum.java
  29. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/enumeration/DocHistoryEnum.java
  30. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/enumeration/DocStatusEnum.java
  31. 4
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/DocHistoryMapper.java
  32. 4
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/PurchaseInboundMapper.java
  33. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/PurchaseInboundSubMapper.java
  34. 4
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/PurchaseOrderMapper.java
  35. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/PurchaseOrderSubMapper.java
  36. 4
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/SellOrderMapper.java
  37. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/SellOrderSubMapper.java
  38. 4
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/SellOutboundMapper.java
  39. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/mapper/SellOutboundSubMapper.java
  40. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/DocHistorySearch.java
  41. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/DocSearch.java
  42. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/DocStatusUpdate.java
  43. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/PurchaseInboundExport.java
  44. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/PurchaseInboundSearch.java
  45. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/PurchaseInboundVo.java
  46. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/PurchaseOrderExport.java
  47. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/PurchaseOrderSearch.java
  48. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/PurchaseOrderVo.java
  49. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/SellOrderExport.java
  50. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/SellOrderSearch.java
  51. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/SellOrderVo.java
  52. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/SellOutboundExport.java
  53. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/SellOutboundSearch.java
  54. 2
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/model/vo/SellOutboundVo.java
  55. 34
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/DocHistoryService.java
  56. 40
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseInboundService.java
  57. 37
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseOrderService.java
  58. 74
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOrderService.java
  59. 44
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOutboundService.java
  60. 18
      java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/util/DocUtil.java
  61. 2
      java/cloud/web/web-modules/doc/src/main/resources/bootstrap.yml
  62. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizPurchaseInbound.xml
  63. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizPurchaseInboundSub.xml
  64. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizPurchaseOrder.xml
  65. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizPurchaseOrderSub.xml
  66. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizSellOrder.xml
  67. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizSellOrderSub.xml
  68. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizSellOutbound.xml
  69. 4
      java/cloud/web/web-modules/doc/src/main/resources/mapper/BizSellOutboundSub.xml
  70. 0
      java/cloud/web/web-modules/doc/src/main/resources/script/get_doc_id.lua
  71. 33
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/ManageController.java
  72. 36
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/MsgUserController.java
  73. 35
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/UserController.java
  74. 16
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/service/ManageService.java
  75. 8
      java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/service/UserService.java
  76. 12
      java/cloud/web/web-modules/message/src/main/resources/mapper/Msg.xml
  77. 2
      java/cloud/web/web-modules/pom.xml
  78. 6
      java/cloud/web/web-modules/record/src/main/java/cn/toesbieya/jxc/record/controller/RecordController.java
  79. 3
      java/cloud/web/web-modules/record/src/main/java/cn/toesbieya/jxc/record/mapper/RecAttachmentMapper.java
  80. 27
      java/cloud/web/web-modules/record/src/main/java/cn/toesbieya/jxc/record/service/RecordService.java
  81. 8
      java/cloud/web/web-modules/record/src/main/resources/mapper/RecAttachment.xml
  82. 10
      java/cloud/web/web-modules/statistic/src/main/java/cn/toesbieya/jxc/statistic/controller/StatisticController.java
  83. 16
      java/cloud/web/web-modules/statistic/src/main/java/cn/toesbieya/jxc/statistic/service/StatisticService.java
  84. 10
      java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/controller/StockController.java
  85. 26
      java/cloud/web/web-modules/stock/src/main/java/cn/toesbieya/jxc/stock/service/StockService.java
  86. 16
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/CategoryController.java
  87. 16
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/CustomerController.java
  88. 14
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/DepartmentController.java
  89. 30
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/ResourceController.java
  90. 23
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/RoleController.java
  91. 18
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/SupplierController.java
  92. 26
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/SysResourceController.java
  93. 18
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/UserController.java
  94. 34
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/CategoryService.java
  95. 7
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/CustomerService.java
  96. 7
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/DepartmentService.java
  97. 28
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/ResourceService.java
  98. 33
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/RoleService.java
  99. 16
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/SupplierService.java
  100. 15
      java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/UserService.java
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,12 @@
package cn.toesbieya.jxc.common.constant;
public interface DocConstant {
//更新单据ID时的redis锁的键
String UPDATE_DOC_LOCK_KEY = "UPDATE_DOC";
//单据ID的redis缓存的键
String DOC_TYPE_REDIS_KEY = "DOC_ID";
//单据类型
String[] DOC_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"};
}

@ -1,12 +0,0 @@
package cn.toesbieya.jxc.common.constant;
public interface DocumentConstant {
//更新单据ID时的redis锁的键
String UPDATE_DOCUMENTS_LOCK_KEY = "UPDATE_DOCUMENTS";
//单据ID的redis缓存的键
String DOCUMENT_TYPE_REDIS_KEY = "documentsID";
//单据类型
String[] DOCUMENT_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"};
}

@ -1,12 +1,10 @@
package cn.toesbieya.jxc.common.model.entity; package cn.toesbieya.jxc.common.model.entity;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@NoArgsConstructor
public class BizDoc implements Serializable { public class BizDoc implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String id; private String id;

@ -2,13 +2,11 @@ package cn.toesbieya.jxc.common.model.entity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString; import lombok.ToString;
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
public class BizPurchaseInbound extends BizDoc { public class BizPurchaseInbound extends BizDoc {
private String pid; private String pid;
} }

@ -10,7 +10,6 @@ import java.math.BigDecimal;
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
public class BizSellOrder extends BizDoc { public class BizSellOrder extends BizDoc {
private Integer customerId; private Integer customerId;
private String customerName; private String customerName;

@ -8,7 +8,6 @@ import lombok.ToString;
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
public class BizSellOutbound extends BizDoc { public class BizSellOutbound extends BizDoc {
private String pid; private String pid;
} }

@ -7,8 +7,6 @@ import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class SysUser implements Serializable { public class SysUser implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer id; private Integer id;

@ -2,14 +2,13 @@ spring:
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/repo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true url: jdbc:mysql://localhost:3306/repo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
username: username username:
password: password password:
mybatis-plus: mybatis-plus:
mapper-locations: mapper-locations:
- classpath*:/mapper/**/*.xml - classpath*:/mapper/**/*.xml
configuration: configuration:
map-underscore-to-camel-case: false
local-cache-scope: STATEMENT local-cache-scope: STATEMENT
cache-enabled: false cache-enabled: false
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

@ -2,6 +2,7 @@ spring:
redis: redis:
host: localhost host: localhost
port: 6379 port: 6379
password:
timeout: 3000 timeout: 3000
lettuce: lettuce:
pool: pool:

@ -22,10 +22,10 @@ spring:
predicates: predicates:
- Path=/account/** - Path=/account/**
- id: jxc-web-document - id: jxc-web-doc
uri: lb://jxc-web-document uri: lb://jxc-web-doc
predicates: predicates:
- Path=/document/** - Path=/doc/**
- id: jxc-web-message - id: jxc-web-message
uri: lb://jxc-web-message uri: lb://jxc-web-message

@ -1,4 +1,4 @@
server: server:
port: 8001 port: 8001
servlet: servlet:
context-path: /document context-path: /doc

@ -1,6 +1,6 @@
package cn.toesbieya.jxc.schedule.task; package cn.toesbieya.jxc.schedule.task;
import cn.toesbieya.jxc.common.constant.DocumentConstant; import cn.toesbieya.jxc.common.constant.DocConstant;
import cn.toesbieya.jxc.common.utils.DateUtil; import cn.toesbieya.jxc.common.utils.DateUtil;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -19,7 +19,7 @@ import java.util.Map;
@Component @Component
@Slf4j @Slf4j
@DependsOn("redisUtil") @DependsOn("redisUtil")
public class DocumentTask implements CommandLineRunner { public class DocTask implements CommandLineRunner {
@Override @Override
public void run(String... args) { public void run(String... args) {
template("初始化单据ID", 0); template("初始化单据ID", 0);
@ -28,25 +28,25 @@ public class DocumentTask implements CommandLineRunner {
//每天零点重置单据ID的值 //每天零点重置单据ID的值
@Async("scheduledExecutor") @Async("scheduledExecutor")
@Scheduled(cron = "1 0 0 */1 * ?") @Scheduled(cron = "1 0 0 */1 * ?")
public void autoRefreshDocumentID() { public void autoRefreshDocId() {
template("定时更新单据ID", 1); template("定时更新单据ID", 1);
} }
//启动时初始化单据ID //启动时初始化单据ID
private void initDocumentsID() { private void initDocId() {
String[] fields = new String[DocumentConstant.DOCUMENT_TYPE.length + 1]; String[] fields = new String[DocConstant.DOC_TYPE.length + 1];
fields[0] = "date"; fields[0] = "date";
System.arraycopy(DocumentConstant.DOCUMENT_TYPE, 0, fields, 1, fields.length - 1); System.arraycopy(DocConstant.DOC_TYPE, 0, fields, 1, fields.length - 1);
List<Object> result = RedisUtil.hmget(DocumentConstant.DOCUMENT_TYPE_REDIS_KEY, fields); List<Object> result = RedisUtil.hmget(DocConstant.DOC_TYPE_REDIS_KEY, fields);
long now = DateUtil.getTimestampNow(); long now = DateUtil.getTimestampNow();
//日期不是今天时,更新全部 //日期不是今天时,更新全部
Object firstItem = result.get(0); Object firstItem = result.get(0);
if (null == firstItem || now != (long) firstItem) { if (null == firstItem || now != (long) firstItem) {
updateAllDocument(now); updateAllDoc(now);
log.info("更新【{}】种单据ID成功", DocumentConstant.DOCUMENT_TYPE.length); log.info("更新【{}】种单据ID成功", DocConstant.DOC_TYPE.length);
return; return;
} }
@ -58,31 +58,31 @@ public class DocumentTask implements CommandLineRunner {
for (int i = 1; i < resultSize; i++) { for (int i = 1; i < resultSize; i++) {
if (result.get(i) == null) { if (result.get(i) == null) {
updateNum++; updateNum++;
update.put(DocumentConstant.DOCUMENT_TYPE[i - 1], 1); update.put(DocConstant.DOC_TYPE[i - 1], 1);
} }
} }
if (updateNum > 0) { if (updateNum > 0) {
RedisUtil.hmset(DocumentConstant.DOCUMENT_TYPE_REDIS_KEY, update); RedisUtil.hmset(DocConstant.DOC_TYPE_REDIS_KEY, update);
log.info("更新增加的单据【{}】种", updateNum); log.info("更新增加的单据【{}】种", updateNum);
} }
} }
//每种单据的值置为1 //每种单据的值置为1
private void updateAllDocument(long now) { private void updateAllDoc(long now) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("date", now); map.put("date", now);
for (String v : DocumentConstant.DOCUMENT_TYPE) { for (String v : DocConstant.DOC_TYPE) {
map.put(v, 1); map.put(v, 1);
} }
RedisUtil.hmset(DocumentConstant.DOCUMENT_TYPE_REDIS_KEY, map); RedisUtil.hmset(DocConstant.DOC_TYPE_REDIS_KEY, map);
} }
//模板 //模板
private void template(String action, int type) { private void template(String action, int type) {
Instant start = Instant.now(); Instant start = Instant.now();
String lockKey = DocumentConstant.UPDATE_DOCUMENTS_LOCK_KEY; String lockKey = DocConstant.UPDATE_DOC_LOCK_KEY;
try (RedisUtil.Locker locker = new RedisUtil.Locker(lockKey)) { try (RedisUtil.Locker locker = new RedisUtil.Locker(lockKey)) {
if (!locker.lock()) { if (!locker.lock()) {
@ -91,10 +91,10 @@ public class DocumentTask implements CommandLineRunner {
} }
if (type == 0) { if (type == 0) {
initDocumentsID(); initDocId();
} }
else { else {
updateAllDocument(DateUtil.getTimestampNow()); updateAllDoc(DateUtil.getTimestampNow());
} }
log.info("{}成功,耗时:{}毫秒", action, ChronoUnit.MILLIS.between(start, Instant.now())); log.info("{}成功,耗时:{}毫秒", action, ChronoUnit.MILLIS.between(start, Instant.now()));

@ -21,11 +21,11 @@ import java.util.Map;
@Slf4j @Slf4j
public class StatisticTask implements CommandLineRunner { public class StatisticTask implements CommandLineRunner {
@Resource @Resource
private StatisticMapper statisticMapper; private StatisticMapper mapper;
@Override @Override
public void run(String... args) throws Exception { public void run(String... args) throws Exception {
this.autoStat(); autoStat();
} }
//每天零点统计信息 //每天零点统计信息
@ -38,23 +38,23 @@ public class StatisticTask implements CommandLineRunner {
long today = DateUtil.getTimestampNow(); long today = DateUtil.getTimestampNow();
//检查是否已统计过昨日已完成的订单数 //检查是否已统计过昨日已完成的订单数
if (!statisticMapper.checkDailyFinishOrderExist(lastDay)) { if (!mapper.checkDailyFinishOrderExist(lastDay)) {
Integer lastDayPurchaseOrderFinish = statisticMapper.getPurchaseOrderLastDayFinishOrderNum(); Integer lastDayPurchaseOrderFinish = mapper.getPurchaseOrderLastDayFinishOrderNum();
Integer lastDaySellOrderFinish = statisticMapper.getSellOrderLastDayFinishOrderNum(); Integer lastDaySellOrderFinish = mapper.getSellOrderLastDayFinishOrderNum();
StatFinishOrder param = new StatFinishOrder(); StatFinishOrder param = new StatFinishOrder();
param.setPurchase(lastDayPurchaseOrderFinish); param.setPurchase(lastDayPurchaseOrderFinish);
param.setSell(lastDaySellOrderFinish); param.setSell(lastDaySellOrderFinish);
param.setTime(lastDay); param.setTime(lastDay);
statisticMapper.insertFinishOrder(param); mapper.insertFinishOrder(param);
} }
//检查是否已统计过昨日的采购额、销售额、毛利 //检查是否已统计过昨日的采购额、销售额、毛利
if (!statisticMapper.checkDailyProfitExist(lastDay)) { if (!mapper.checkDailyProfitExist(lastDay)) {
//昨日各个商品的采购额、销售额 //昨日各个商品的采购额、销售额
List<StatProfitGoods> purchaseProfitGoods = statisticMapper.getPurchaseOrderDailyProfitGoods(lastDay, today); List<StatProfitGoods> purchaseProfitGoods = mapper.getPurchaseOrderDailyProfitGoods(lastDay, today);
List<StatProfitGoods> sellProfitGoods = statisticMapper.getSellOrderDailyProfitGoods(lastDay, today); List<StatProfitGoods> sellProfitGoods = mapper.getSellOrderDailyProfitGoods(lastDay, today);
//昨日的采购总额、销售总额 //昨日的采购总额、销售总额
BigDecimal totalPurchase = new BigDecimal(0); BigDecimal totalPurchase = new BigDecimal(0);
@ -104,10 +104,10 @@ public class StatisticTask implements CommandLineRunner {
statProfitTotal.setProfit(totalProfit); statProfitTotal.setProfit(totalProfit);
statProfitTotal.setTime(lastDay); statProfitTotal.setTime(lastDay);
statisticMapper.insertProfitTotal(statProfitTotal); mapper.insertProfitTotal(statProfitTotal);
if (purchaseProfitGoods.size() > 0) { if (purchaseProfitGoods.size() > 0) {
statisticMapper.insertProfitGoodsBatch(purchaseProfitGoods); mapper.insertProfitGoodsBatch(purchaseProfitGoods);
} }
} }

@ -68,13 +68,12 @@ public class RestExceptionAspect {
private void recordUserAction(Exception e) { private void recordUserAction(Exception e) {
RecUserAction action = ThreadUtil.getAction(); RecUserAction action = ThreadUtil.getAction();
if (action != null && !StringUtils.isEmpty(action.getAction())) { if (action != null && !StringUtils.isEmpty(action.getAction())) {
action.setTime(System.currentTimeMillis());
action.setError(Util.exception2Str(e)); action.setError(Util.exception2Str(e));
action.setType(UserActionEnum.FAIL.getCode()); action.setType(UserActionEnum.FAIL.getCode());
recordApi.insertUserAction(action); recordApi.insertUserAction(action);
} }
ThreadUtil.clearAll(); ThreadUtil.clearAll();
} }
} }

@ -13,6 +13,8 @@ import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.List;
@Slf4j @Slf4j
@Component @Component
@DependsOn("redisUtil") @DependsOn("redisUtil")
@ -21,6 +23,20 @@ public class QiniuUtil {
private final Auth auth; private final Auth auth;
private final BucketManager bucketManager; private final BucketManager bucketManager;
@Autowired
public QiniuUtil(QiniuConfig config) {
this.config = config;
if (StringUtils.isEmpty(config.getAccessKey())) {
this.auth = null;
this.bucketManager = null;
return;
}
this.auth = Auth.create(config.getAccessKey(), config.getSecretKey());
this.bucketManager = new BucketManager(this.auth, new Configuration(Region.huadong()));
}
public String getToken() { public String getToken() {
String key = config.getRedisCacheKey(); String key = config.getRedisCacheKey();
@ -54,17 +70,7 @@ public class QiniuUtil {
} }
} }
@Autowired public void deleteBatch(List<String> key) {
public QiniuUtil(QiniuConfig config) { deleteBatch(key.toArray(new String[0]));
this.config = config;
if (StringUtils.isEmpty(config.getAccessKey())) {
this.auth = null;
this.bucketManager = null;
return;
}
this.auth = Auth.create(config.getAccessKey(), config.getSecretKey());
this.bucketManager = new BucketManager(this.auth, new Configuration(Region.huadong()));
} }
} }

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

@ -15,7 +15,9 @@ public class ThreadUtil {
if (user == null) user = SessionUtil.get(request); if (user == null) user = SessionUtil.get(request);
if (user == null) return; if (user == null) return;
RecUserAction userAction = RecUserAction.builder() RecUserAction userAction =
RecUserAction
.builder()
.uid(user.getId()) .uid(user.getId())
.uname(user.getName()) .uname(user.getName())
.ip(IpUtil.getIp(request)) .ip(IpUtil.getIp(request))

@ -2,9 +2,13 @@ package cn.toesbieya.jxc.web.common.utils;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.Objects;
public class WebUtil { public class WebUtil {
public static void responseJson(HttpServletResponse response, Result result) throws IOException { public static void responseJson(HttpServletResponse response, Result result) throws IOException {
@ -13,4 +17,8 @@ public class WebUtil {
response.getWriter().print(JSON.toJSONString(result)); response.getWriter().print(JSON.toJSONString(result));
} }
public static HttpServletRequest getRequest() {
return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
}
} }

@ -7,8 +7,8 @@ import cn.toesbieya.jxc.account.vo.RegisterParam;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.web.common.utils.IpUtil; import cn.toesbieya.jxc.web.common.utils.IpUtil;
import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -22,46 +22,46 @@ import java.net.URLDecoder;
@RequestMapping("account") @RequestMapping("account")
public class AccountController { public class AccountController {
@Resource @Resource
private AccountService accountService; private AccountService service;
@PostMapping("login") @PostMapping("login")
public Result login(HttpServletRequest request, @Valid @RequestBody LoginParam param) { public Result login(HttpServletRequest request, @Valid @RequestBody LoginParam param) {
return accountService.login(param, IpUtil.getIp(request)); return service.login(param, IpUtil.getIp(request));
} }
@GetMapping("logout") @GetMapping("logout")
public Result logout(HttpServletRequest request) { public Result logout(HttpServletRequest request) {
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
return accountService.logout(user, IpUtil.getIp(request)); return service.logout(user, IpUtil.getIp(request));
} }
@PostMapping("register") @PostMapping("register")
public Result register(@Valid @RequestBody RegisterParam param) { public Result register(@Valid @RequestBody RegisterParam param) {
return accountService.register(param); return service.register(param);
} }
@PostMapping("updatePwd") @PostMapping("updatePwd")
public Result updatePwd(HttpServletRequest request, @RequestBody PasswordUpdateParam param) { public Result updatePwd(@RequestBody PasswordUpdateParam param) {
SysUser user = SessionUtil.get(request); SysUser user = SessionUtil.get();
param.setId(user.getId()); param.setId(user.getId());
String errMsg = validateUpdatePwdParam(param); String errMsg = validateUpdatePwdParam(param);
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
return accountService.updatePwd(param); return service.updatePwd(param);
} }
@GetMapping("updateAvatar") @GetMapping("updateAvatar")
public Result updateAvatar(HttpServletRequest request, @RequestParam String key) throws UnsupportedEncodingException { public Result updateAvatar(@RequestParam String key) throws UnsupportedEncodingException {
if (StringUtils.isEmpty(key)) return Result.fail("参数错误"); if (StringUtils.isEmpty(key)) return Result.fail("参数错误");
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
return accountService.updateAvatar(user, URLDecoder.decode(key, "utf-8")); return service.updateAvatar(user, URLDecoder.decode(key, "utf-8"));
} }
@GetMapping("validate") @GetMapping("validate")
public Result validate(HttpServletRequest request, @RequestParam String pwd) { public Result validate(@RequestParam String pwd) {
SysUser current = SessionUtil.get(request); SysUser current = SessionUtil.get();
if (!pwd.equals(current.getPwd())) { if (!pwd.equals(current.getPwd())) {
return Result.fail("校验失败"); return Result.fail("校验失败");
@ -76,7 +76,7 @@ public class AccountController {
return Result.success(); return Result.success();
} }
return Result.success(accountService.checkName(name, id) ? null : "该用户名已存在"); return Result.success(service.checkName(name, id) ? null : "该用户名已存在");
} }
private String validateUpdatePwdParam(PasswordUpdateParam vo) { private String validateUpdatePwdParam(PasswordUpdateParam vo) {

@ -22,7 +22,6 @@ import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.web.common.annoation.TimeCost; import cn.toesbieya.jxc.web.common.annoation.TimeCost;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.utils.QiniuUtil; import cn.toesbieya.jxc.web.common.utils.QiniuUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.Reference; import org.apache.dubbo.config.annotation.Reference;
@ -50,12 +49,13 @@ public class AccountService {
@TimeCost @TimeCost
public Result login(LoginParam param, String ip) { public Result login(LoginParam param, String ip) {
Wrapper<SysUser> wrapper = long now = System.currentTimeMillis();
SysUser user = userMapper.selectOne(
Wrappers.lambdaQuery(SysUser.class) Wrappers.lambdaQuery(SysUser.class)
.eq(SysUser::getName, param.getUsername()) .eq(SysUser::getName, param.getUsername())
.eq(SysUser::getPwd, param.getPassword()); .eq(SysUser::getPwd, param.getPassword())
);
SysUser user = userMapper.selectOne(wrapper);
if (user == null) { if (user == null) {
return Result.fail("用户名或密码错误"); return Result.fail("用户名或密码错误");
@ -132,12 +132,13 @@ public class AccountService {
//记录登陆信息 //记录登陆信息
recordApi.insertLoginHistory( recordApi.insertLoginHistory(
RecLoginHistory.builder() RecLoginHistory
.builder()
.uid(user.getId()) .uid(user.getId())
.uname(user.getName()) .uname(user.getName())
.ip(ip) .ip(ip)
.type(RecLoginHistoryEnum.LOGIN.getCode()) .type(RecLoginHistoryEnum.LOGIN.getCode())
.time(System.currentTimeMillis()) .time(now)
.build() .build()
); );
@ -147,7 +148,8 @@ public class AccountService {
public Result logout(UserVo user, String ip) { public Result logout(UserVo user, String ip) {
if (user != null) { if (user != null) {
recordApi.insertLoginHistory( recordApi.insertLoginHistory(
RecLoginHistory.builder() RecLoginHistory
.builder()
.uid(user.getId()) .uid(user.getId())
.uname(user.getName()) .uname(user.getName())
.ip(ip) .ip(ip)
@ -164,7 +166,10 @@ public class AccountService {
public Result register(RegisterParam param) { public Result register(RegisterParam param) {
String name = param.getUsername(); String name = param.getUsername();
if (0 != userMapper.selectCount(Wrappers.lambdaQuery(SysUser.class).eq(SysUser::getName, name))) { if (userMapper
.selectCount(Wrappers.lambdaQuery(SysUser.class).eq(SysUser::getName, name))
.equals(0)
) {
return Result.fail("该用户名称已存在"); return Result.fail("该用户名称已存在");
} }
@ -207,10 +212,8 @@ public class AccountService {
if (!StringUtils.isEmpty(oldAvatar)) { if (!StringUtils.isEmpty(oldAvatar)) {
qiniuUtil.delete(oldAvatar); qiniuUtil.delete(oldAvatar);
} }
user.setAvatar(avatar); user.setAvatar(avatar);
SessionUtil.save(user); SessionUtil.save(user);
return Result.success("上传头像成功"); return Result.success("上传头像成功");
} }
@ -221,10 +224,11 @@ public class AccountService {
} }
public boolean checkName(String name, Integer id) { public boolean checkName(String name, Integer id) {
return 0 == userMapper.selectCount( Integer num = userMapper.selectCount(
Wrappers.lambdaQuery(SysUser.class) Wrappers.lambdaQuery(SysUser.class)
.eq(SysUser::getName, name) .eq(SysUser::getName, name)
.ne(id != null, SysUser::getId, id) .ne(id != null, SysUser::getId, id)
); );
return num == null || num.equals(0);
} }
} }

@ -9,7 +9,7 @@
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>document</artifactId> <artifactId>doc</artifactId>
</project> </project>

@ -1,13 +1,13 @@
package cn.toesbieya.jxc.document; package cn.toesbieya.jxc.doc;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = "cn.toesbieya.jxc") @SpringBootApplication(scanBasePackages = "cn.toesbieya.jxc")
@MapperScan("cn.toesbieya.jxc.document.mapper") @MapperScan("cn.toesbieya.jxc.doc.mapper")
public class DocumentApplication { public class DocApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(DocumentApplication.class, args); SpringApplication.run(DocApplication.class, args);
} }
} }

@ -0,0 +1,20 @@
package cn.toesbieya.jxc.doc.controller;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.doc.model.vo.DocHistorySearch;
import cn.toesbieya.jxc.doc.service.DocHistoryService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("history")
public class DocHistoryController {
@Resource
private DocHistoryService service;
@PostMapping("search")
public Result search(@RequestBody DocHistorySearch vo) {
return Result.success(service.search(vo));
}
}

@ -1,21 +1,20 @@
package cn.toesbieya.jxc.document.controller; package cn.toesbieya.jxc.doc.controller;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseInbound; import cn.toesbieya.jxc.common.model.entity.BizPurchaseInbound;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub; import cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundSearch;
import cn.toesbieya.jxc.document.model.vo.PurchaseInboundSearch; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundVo;
import cn.toesbieya.jxc.document.model.vo.PurchaseInboundVo; import cn.toesbieya.jxc.doc.service.PurchaseInboundService;
import cn.toesbieya.jxc.document.service.PurchaseInboundService; import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
@ -50,11 +49,11 @@ public class PurchaseInboundController {
} }
@PostMapping("add") @PostMapping("add")
public Result add(HttpServletRequest request, @RequestBody PurchaseInboundVo vo) { public Result add(@RequestBody PurchaseInboundVo vo) {
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
@ -74,7 +73,7 @@ public class PurchaseInboundController {
} }
@PostMapping("commit") @PostMapping("commit")
public Result commit(HttpServletRequest request, @RequestBody PurchaseInboundVo vo) { public Result commit(@RequestBody PurchaseInboundVo vo) {
boolean isFirst = StringUtils.isEmpty(vo.getId()); boolean isFirst = StringUtils.isEmpty(vo.getId());
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
@ -83,7 +82,7 @@ public class PurchaseInboundController {
vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode()); vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode());
if (isFirst) { if (isFirst) {
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
vo.setCtime(System.currentTimeMillis()); vo.setCtime(System.currentTimeMillis());
@ -92,19 +91,19 @@ public class PurchaseInboundController {
} }
@PostMapping("withdraw") @PostMapping("withdraw")
public Result withdraw(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result withdraw(@RequestBody DocStatusUpdate vo) {
return service.withdraw(vo, SessionUtil.get(request)); return service.withdraw(vo, SessionUtil.get());
} }
@PostMapping("pass") @PostMapping("pass")
public Result pass(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result pass(@RequestBody DocStatusUpdate vo) {
if (StringUtils.isEmpty(vo.getPid())) return Result.fail("参数错误"); if (StringUtils.isEmpty(vo.getPid())) return Result.fail("参数错误");
return service.pass(vo, SessionUtil.get(request)); return service.pass(vo, SessionUtil.get());
} }
@PostMapping("reject") @PostMapping("reject")
public Result reject(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result reject(@RequestBody DocStatusUpdate vo) {
return service.reject(vo, SessionUtil.get(request)); return service.reject(vo, SessionUtil.get());
} }
@GetMapping("del") @GetMapping("del")

@ -1,22 +1,21 @@
package cn.toesbieya.jxc.document.controller; package cn.toesbieya.jxc.doc.controller;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.doc.enumeration.DocFinishEnum;
import cn.toesbieya.jxc.document.enumeration.DocFinishEnum; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderSearch;
import cn.toesbieya.jxc.document.model.vo.PurchaseOrderSearch; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderVo;
import cn.toesbieya.jxc.document.model.vo.PurchaseOrderVo; import cn.toesbieya.jxc.doc.service.PurchaseOrderService;
import cn.toesbieya.jxc.document.service.PurchaseOrderService; import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
@ -25,14 +24,14 @@ import java.util.List;
@RequestMapping("purchase/order") @RequestMapping("purchase/order")
public class PurchaseOrderController { public class PurchaseOrderController {
@Resource @Resource
private PurchaseOrderService orderService; private PurchaseOrderService service;
@GetMapping("getById") @GetMapping("getById")
public Result getById(@RequestParam String id) { public Result getById(@RequestParam String id) {
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {
return Result.fail("参数错误"); return Result.fail("参数错误");
} }
PurchaseOrderVo vo = orderService.getById(id); PurchaseOrderVo vo = service.getById(id);
return vo == null ? Result.fail("获取单据信息失败") : Result.success(vo); return vo == null ? Result.fail("获取单据信息失败") : Result.success(vo);
} }
@ -41,21 +40,21 @@ public class PurchaseOrderController {
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {
return Result.fail("参数错误"); return Result.fail("参数错误");
} }
return Result.success(orderService.getSubById(id)); return Result.success(service.getSubById(id));
} }
@PostMapping("search") @PostMapping("search")
public Result search(@RequestBody PurchaseOrderSearch vo) { public Result search(@RequestBody PurchaseOrderSearch vo) {
return Result.success(orderService.search(vo)); return Result.success(service.search(vo));
} }
@PostMapping("export") @PostMapping("export")
public void export(@RequestBody PurchaseOrderSearch vo, HttpServletResponse response) throws Exception { public void export(@RequestBody PurchaseOrderSearch vo, HttpServletResponse response) throws Exception {
orderService.export(vo, response); service.export(vo, response);
} }
@PostMapping("add") @PostMapping("add")
public Result add(HttpServletRequest request, @RequestBody PurchaseOrderVo vo) { public Result add(@RequestBody PurchaseOrderVo vo) {
if (vo.getSid() == null if (vo.getSid() == null
|| StringUtils.isEmpty(vo.getSname()) || StringUtils.isEmpty(vo.getSname())
|| vo.getTotal() == null) { || vo.getTotal() == null) {
@ -65,7 +64,7 @@ public class PurchaseOrderController {
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
@ -73,7 +72,7 @@ public class PurchaseOrderController {
vo.setStatus(DocStatusEnum.DRAFT.getCode()); vo.setStatus(DocStatusEnum.DRAFT.getCode());
vo.setFinish(DocFinishEnum.TO_BE_STARTED.getCode()); vo.setFinish(DocFinishEnum.TO_BE_STARTED.getCode());
return orderService.add(vo); return service.add(vo);
} }
@PostMapping("update") @PostMapping("update")
@ -82,11 +81,11 @@ public class PurchaseOrderController {
if (errMsg == null) errMsg = validateSub(vo.getData()); if (errMsg == null) errMsg = validateSub(vo.getData());
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
return orderService.update(vo); return service.update(vo);
} }
@PostMapping("commit") @PostMapping("commit")
public Result commit(HttpServletRequest request, @RequestBody PurchaseOrderVo vo) { public Result commit(@RequestBody PurchaseOrderVo vo) {
boolean isFirst = StringUtils.isEmpty(vo.getId()); boolean isFirst = StringUtils.isEmpty(vo.getId());
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
@ -96,34 +95,34 @@ public class PurchaseOrderController {
vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode()); vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode());
if (isFirst) { if (isFirst) {
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
vo.setCtime(System.currentTimeMillis()); vo.setCtime(System.currentTimeMillis());
} }
return orderService.commit(vo); return service.commit(vo);
} }
@PostMapping("withdraw") @PostMapping("withdraw")
public Result withdraw(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result withdraw(@RequestBody DocStatusUpdate vo) {
return orderService.withdraw(vo, SessionUtil.get(request)); return service.withdraw(vo, SessionUtil.get());
} }
@PostMapping("pass") @PostMapping("pass")
public Result pass(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result pass(@RequestBody DocStatusUpdate vo) {
return orderService.pass(vo, SessionUtil.get(request)); return service.pass(vo, SessionUtil.get());
} }
@PostMapping("reject") @PostMapping("reject")
public Result reject(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result reject(@RequestBody DocStatusUpdate vo) {
return orderService.reject(vo, SessionUtil.get(request)); return service.reject(vo, SessionUtil.get());
} }
@GetMapping("del") @GetMapping("del")
public Result del(@RequestParam String id) { public Result del(@RequestParam String id) {
if (StringUtils.isEmpty(id)) return Result.fail("参数错误"); if (StringUtils.isEmpty(id)) return Result.fail("参数错误");
return orderService.del(id); return service.del(id);
} }
private String validateUpdate(BizPurchaseOrder main) { private String validateUpdate(BizPurchaseOrder main) {

@ -1,21 +1,20 @@
package cn.toesbieya.jxc.document.controller; package cn.toesbieya.jxc.doc.controller;
import cn.toesbieya.jxc.common.model.entity.BizSellOrder; import cn.toesbieya.jxc.common.model.entity.BizSellOrder;
import cn.toesbieya.jxc.common.model.entity.BizSellOrderSub; import cn.toesbieya.jxc.common.model.entity.BizSellOrderSub;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.SellOrderSearch;
import cn.toesbieya.jxc.document.model.vo.SellOrderSearch; import cn.toesbieya.jxc.doc.model.vo.SellOrderVo;
import cn.toesbieya.jxc.document.model.vo.SellOrderVo; import cn.toesbieya.jxc.doc.service.SellOrderService;
import cn.toesbieya.jxc.document.service.SellOrderService; import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
@ -50,7 +49,7 @@ public class SellOrderController {
} }
@PostMapping("add") @PostMapping("add")
public Result add(HttpServletRequest request, @RequestBody SellOrderVo vo) { public Result add(@RequestBody SellOrderVo vo) {
if (vo.getCustomerId() == null if (vo.getCustomerId() == null
|| StringUtils.isEmpty(vo.getCustomerName()) || StringUtils.isEmpty(vo.getCustomerName())
|| vo.getTotal() == null) { || vo.getTotal() == null) {
@ -59,7 +58,7 @@ public class SellOrderController {
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
@ -79,7 +78,7 @@ public class SellOrderController {
} }
@PostMapping("commit") @PostMapping("commit")
public Result commit(HttpServletRequest request,@RequestBody SellOrderVo vo) { public Result commit(@RequestBody SellOrderVo vo) {
boolean isFirst = StringUtils.isEmpty(vo.getId()); boolean isFirst = StringUtils.isEmpty(vo.getId());
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
@ -89,7 +88,7 @@ public class SellOrderController {
vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode()); vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode());
if (isFirst) { if (isFirst) {
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
@ -100,18 +99,18 @@ public class SellOrderController {
} }
@PostMapping("withdraw") @PostMapping("withdraw")
public Result withdraw(HttpServletRequest request,@RequestBody DocStatusUpdate vo) { public Result withdraw(@RequestBody DocStatusUpdate vo) {
return service.withdraw(vo, SessionUtil.get(request)); return service.withdraw(vo, SessionUtil.get());
} }
@PostMapping("pass") @PostMapping("pass")
public Result pass(HttpServletRequest request,@RequestBody DocStatusUpdate vo) { public Result pass(@RequestBody DocStatusUpdate vo) {
return service.pass(vo, SessionUtil.get(request)); return service.pass(vo, SessionUtil.get());
} }
@PostMapping("reject") @PostMapping("reject")
public Result reject(HttpServletRequest request,@RequestBody DocStatusUpdate vo) { public Result reject(@RequestBody DocStatusUpdate vo) {
return service.reject(vo, SessionUtil.get(request)); return service.reject(vo, SessionUtil.get());
} }
@GetMapping("del") @GetMapping("del")

@ -1,21 +1,20 @@
package cn.toesbieya.jxc.document.controller; package cn.toesbieya.jxc.doc.controller;
import cn.toesbieya.jxc.common.model.entity.BizSellOutbound; import cn.toesbieya.jxc.common.model.entity.BizSellOutbound;
import cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub; import cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.SessionUtil; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.SellOutboundSearch;
import cn.toesbieya.jxc.document.model.vo.SellOutboundSearch; import cn.toesbieya.jxc.doc.model.vo.SellOutboundVo;
import cn.toesbieya.jxc.document.model.vo.SellOutboundVo; import cn.toesbieya.jxc.doc.service.SellOutboundService;
import cn.toesbieya.jxc.document.service.SellOutboundService; import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
@ -50,11 +49,11 @@ public class SellOutboundController {
} }
@PostMapping("add") @PostMapping("add")
public Result add(HttpServletRequest request, @RequestBody SellOutboundVo vo) { public Result add(@RequestBody SellOutboundVo vo) {
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
@ -74,7 +73,7 @@ public class SellOutboundController {
} }
@PostMapping("commit") @PostMapping("commit")
public Result commit(HttpServletRequest request, @RequestBody SellOutboundVo vo) { public Result commit(@RequestBody SellOutboundVo vo) {
boolean isFirst = StringUtils.isEmpty(vo.getId()); boolean isFirst = StringUtils.isEmpty(vo.getId());
String errMsg = validateSub(vo.getData()); String errMsg = validateSub(vo.getData());
@ -83,7 +82,7 @@ public class SellOutboundController {
vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode()); vo.setStatus(DocStatusEnum.WAIT_VERIFY.getCode());
if (isFirst) { if (isFirst) {
UserVo user = SessionUtil.get(request); UserVo user = SessionUtil.get();
vo.setCid(user.getId()); vo.setCid(user.getId());
vo.setCname(user.getName()); vo.setCname(user.getName());
@ -93,21 +92,21 @@ public class SellOutboundController {
} }
@PostMapping("withdraw") @PostMapping("withdraw")
public Result withdraw(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result withdraw(@RequestBody DocStatusUpdate vo) {
return service.withdraw(vo, SessionUtil.get(request)); return service.withdraw(vo, SessionUtil.get());
} }
@PostMapping("pass") @PostMapping("pass")
public Result pass(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result pass(@RequestBody DocStatusUpdate vo) {
if (StringUtils.isEmpty(vo.getPid())) { if (StringUtils.isEmpty(vo.getPid())) {
return Result.fail("参数错误"); return Result.fail("参数错误");
} }
return service.pass(vo, SessionUtil.get(request)); return service.pass(vo, SessionUtil.get());
} }
@PostMapping("reject") @PostMapping("reject")
public Result reject(HttpServletRequest request, @RequestBody DocStatusUpdate vo) { public Result reject(@RequestBody DocStatusUpdate vo) {
return service.reject(vo, SessionUtil.get(request)); return service.reject(vo, SessionUtil.get());
} }
@GetMapping("del") @GetMapping("del")

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.enumeration; package cn.toesbieya.jxc.doc.enumeration;
public enum DocFinishEnum { public enum DocFinishEnum {
TO_BE_STARTED(0), UNDERWAY(1), FINISHED(2); TO_BE_STARTED(0), UNDERWAY(1), FINISHED(2);

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.enumeration; package cn.toesbieya.jxc.doc.enumeration;
public enum DocHistoryEnum { public enum DocHistoryEnum {
WITHDRAW(0), COMMIT(1), PASS(2), REJECT(3); WITHDRAW(0), COMMIT(1), PASS(2), REJECT(3);

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.enumeration; package cn.toesbieya.jxc.doc.enumeration;
public enum DocStatusEnum { public enum DocStatusEnum {
DRAFT(0), WAIT_VERIFY(1), VERIFIED(2); DRAFT(0), WAIT_VERIFY(1), VERIFIED(2);

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizDocHistory; import cn.toesbieya.jxc.common.model.entity.BizDocHistory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface DocumentHistoryMapper extends BaseMapper<BizDocHistory> { public interface DocHistoryMapper extends BaseMapper<BizDocHistory> {
} }

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseInbound; import cn.toesbieya.jxc.common.model.entity.BizPurchaseInbound;
import cn.toesbieya.jxc.document.model.vo.PurchaseInboundExport; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundExport;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub; import cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder;
import cn.toesbieya.jxc.document.model.vo.PurchaseOrderExport; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderExport;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizSellOrder; import cn.toesbieya.jxc.common.model.entity.BizSellOrder;
import cn.toesbieya.jxc.document.model.vo.SellOrderExport; import cn.toesbieya.jxc.doc.model.vo.SellOrderExport;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizSellOrderSub; import cn.toesbieya.jxc.common.model.entity.BizSellOrderSub;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;

@ -1,7 +1,7 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizSellOutbound; import cn.toesbieya.jxc.common.model.entity.BizSellOutbound;
import cn.toesbieya.jxc.document.model.vo.SellOutboundExport; import cn.toesbieya.jxc.doc.model.vo.SellOutboundExport;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.mapper; package cn.toesbieya.jxc.doc.mapper;
import cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub; import cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import cn.toesbieya.jxc.common.model.vo.BaseSearch; import cn.toesbieya.jxc.common.model.vo.BaseSearch;
import lombok.Data; import lombok.Data;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseInbound; import cn.toesbieya.jxc.common.model.entity.BizPurchaseInbound;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub; import cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrder;
import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub; import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import cn.toesbieya.jxc.common.model.entity.BizSellOrder; import cn.toesbieya.jxc.common.model.entity.BizSellOrder;
import cn.toesbieya.jxc.common.model.entity.BizSellOrderSub; import cn.toesbieya.jxc.common.model.entity.BizSellOrderSub;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.model.vo; package cn.toesbieya.jxc.doc.model.vo;
import cn.toesbieya.jxc.common.model.entity.BizSellOutbound; import cn.toesbieya.jxc.common.model.entity.BizSellOutbound;
import cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub; import cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub;

@ -0,0 +1,34 @@
package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.common.model.entity.BizDocHistory;
import cn.toesbieya.jxc.doc.mapper.DocHistoryMapper;
import cn.toesbieya.jxc.doc.model.vo.DocHistorySearch;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.List;
@Service
public class DocHistoryService {
@Resource
private DocHistoryMapper mapper;
public List<BizDocHistory> search(DocHistorySearch vo) {
String pid = vo.getPid();
String type = vo.getType();
String uid = vo.getUid();
String uname = vo.getUname();
Wrapper<BizDocHistory> wrapper = Wrappers.lambdaQuery(BizDocHistory.class)
.eq(!StringUtils.isEmpty(pid), BizDocHistory::getPid, pid)
.inSql(!StringUtils.isEmpty(type), BizDocHistory::getType, type)
.inSql(!StringUtils.isEmpty(uid), BizDocHistory::getUid, uid)
.like(!StringUtils.isEmpty(uname), BizDocHistory::getUname, uname)
.orderByDesc(BizDocHistory::getId);
return mapper.selectList(wrapper);
}
}

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi; import cn.toesbieya.jxc.api.service.StockApi;
@ -8,15 +8,15 @@ import cn.toesbieya.jxc.common.model.entity.*;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.utils.Util;
import cn.toesbieya.jxc.document.enumeration.DocFinishEnum; import cn.toesbieya.jxc.doc.enumeration.DocFinishEnum;
import cn.toesbieya.jxc.document.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.mapper.*; import cn.toesbieya.jxc.doc.mapper.*;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.PurchaseInboundExport; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundExport;
import cn.toesbieya.jxc.document.model.vo.PurchaseInboundSearch; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundSearch;
import cn.toesbieya.jxc.document.model.vo.PurchaseInboundVo; import cn.toesbieya.jxc.doc.model.vo.PurchaseInboundVo;
import cn.toesbieya.jxc.document.util.DocUtil; import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
@ -47,7 +47,7 @@ public class PurchaseInboundService {
@Resource @Resource
private PurchaseOrderSubMapper orderSubMapper; private PurchaseOrderSubMapper orderSubMapper;
@Resource @Resource
private DocumentHistoryMapper historyMapper; private DocHistoryMapper historyMapper;
@Reference @Reference
private StockApi stockApi; private StockApi stockApi;
@Reference @Reference
@ -61,7 +61,7 @@ public class PurchaseInboundService {
PurchaseInboundVo vo = new PurchaseInboundVo(main); PurchaseInboundVo vo = new PurchaseInboundVo(main);
vo.setData(this.getSubById(id)); vo.setData(getSubById(id));
vo.setImageList(recordApi.getAttachmentByPid(id)); vo.setImageList(recordApi.getAttachmentByPid(id));
return vo; return vo;
@ -128,7 +128,7 @@ public class PurchaseInboundService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("撤回失败,请刷新重试"); return Result.fail("撤回失败,请刷新重试");
} }
@ -158,7 +158,7 @@ public class PurchaseInboundService {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
//检查采购订单状态、入库商品是否符合订单要求 //检查采购订单状态、入库商品是否符合订单要求
List<BizPurchaseInboundSub> subList = this.getSubById(vo.getId()); List<BizPurchaseInboundSub> subList = getSubById(id);
String err = checkOrder(pid, subList); String err = checkOrder(pid, subList);
if (err != null) return Result.fail("通过失败," + err); if (err != null) return Result.fail("通过失败," + err);
@ -179,7 +179,7 @@ public class PurchaseInboundService {
List<BizStock> stockList = new ArrayList<>(); List<BizStock> stockList = new ArrayList<>();
DocFinishEnum finish = DocFinishEnum.FINISHED; DocFinishEnum finish = DocFinishEnum.FINISHED;
List<BizPurchaseOrderSub> orderSubList = this.getOrderSubListByPid(pid); List<BizPurchaseOrderSub> orderSubList = getOrderSubListByPid(pid);
//生成需要入库的商品列表 //生成需要入库的商品列表
for (BizPurchaseOrderSub orderSub : orderSubList) { for (BizPurchaseOrderSub orderSub : orderSubList) {
@ -250,7 +250,7 @@ public class PurchaseInboundService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("驳回失败,请刷新重试"); return Result.fail("驳回失败,请刷新重试");
} }
@ -279,7 +279,7 @@ public class PurchaseInboundService {
} }
//同时删除子表和附件 //同时删除子表和附件
this.delSubByPid(id); delSubByPid(id);
recordApi.delAttachmentByPid(id); recordApi.delAttachmentByPid(id);
return Result.success("删除成功"); return Result.success("删除成功");
@ -291,7 +291,7 @@ public class PurchaseInboundService {
String err = checkOrder(doc.getPid(), subList); String err = checkOrder(doc.getPid(), subList);
if (err != null) return Result.fail(err); if (err != null) return Result.fail(err);
String id = DocUtil.getDocumentID("CGRK"); String id = DocUtil.getDocId("CGRK");
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {
return Result.fail("获取单号失败"); return Result.fail("获取单号失败");
@ -335,7 +335,7 @@ public class PurchaseInboundService {
); );
//删除旧的子表 //删除旧的子表
this.delSubByPid(docId); delSubByPid(docId);
//插入新的子表 //插入新的子表
subMapper.insertBatch(doc.getData()); subMapper.insertBatch(doc.getData());
@ -372,7 +372,7 @@ public class PurchaseInboundService {
return "采购订单状态异常"; return "采购订单状态异常";
} }
List<BizPurchaseOrderSub> orderSubList = this.getOrderSubListByPid(pid); List<BizPurchaseOrderSub> orderSubList = getOrderSubListByPid(pid);
if (CollectionUtils.isEmpty(orderSubList)) return "没有找到采购订单的数据"; if (CollectionUtils.isEmpty(orderSubList)) return "没有找到采购订单的数据";

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.vo.AttachmentOperation; import cn.toesbieya.jxc.api.vo.AttachmentOperation;
@ -8,16 +8,16 @@ import cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub;
import cn.toesbieya.jxc.common.model.entity.RecAttachment; import cn.toesbieya.jxc.common.model.entity.RecAttachment;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.document.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.mapper.DocumentHistoryMapper; import cn.toesbieya.jxc.doc.mapper.DocHistoryMapper;
import cn.toesbieya.jxc.document.mapper.PurchaseOrderMapper; import cn.toesbieya.jxc.doc.mapper.PurchaseOrderMapper;
import cn.toesbieya.jxc.document.mapper.PurchaseOrderSubMapper; import cn.toesbieya.jxc.doc.mapper.PurchaseOrderSubMapper;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.PurchaseOrderExport; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderExport;
import cn.toesbieya.jxc.document.model.vo.PurchaseOrderSearch; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderSearch;
import cn.toesbieya.jxc.document.model.vo.PurchaseOrderVo; import cn.toesbieya.jxc.doc.model.vo.PurchaseOrderVo;
import cn.toesbieya.jxc.document.util.DocUtil; import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
@ -41,7 +41,7 @@ public class PurchaseOrderService {
@Resource @Resource
private PurchaseOrderSubMapper subMapper; private PurchaseOrderSubMapper subMapper;
@Resource @Resource
private DocumentHistoryMapper historyMapper; private DocHistoryMapper historyMapper;
@Reference @Reference
private RecordApi recordApi; private RecordApi recordApi;
@ -53,7 +53,7 @@ public class PurchaseOrderService {
PurchaseOrderVo vo = new PurchaseOrderVo(main); PurchaseOrderVo vo = new PurchaseOrderVo(main);
vo.setData(this.getSubById(id)); vo.setData(getSubById(id));
vo.setImageList(recordApi.getAttachmentByPid(id)); vo.setImageList(recordApi.getAttachmentByPid(id));
return vo; return vo;
@ -110,7 +110,6 @@ public class PurchaseOrderService {
); );
result.setMsg(result.isSuccess() ? "提交成功" : "提交失败," + result.getMsg()); result.setMsg(result.isSuccess() ? "提交成功" : "提交失败," + result.getMsg());
return result; return result;
} }
@ -121,7 +120,7 @@ public class PurchaseOrderService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("撤回失败,请刷新重试"); return Result.fail("撤回失败,请刷新重试");
} }
@ -185,7 +184,7 @@ public class PurchaseOrderService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("驳回失败,请刷新重试"); return Result.fail("驳回失败,请刷新重试");
} }
@ -214,14 +213,14 @@ public class PurchaseOrderService {
} }
//同时删除子表和附件 //同时删除子表和附件
this.delSubByPid(id); delSubByPid(id);
recordApi.delAttachmentByPid(id); recordApi.delAttachmentByPid(id);
return Result.success("删除成功"); return Result.success("删除成功");
} }
private Result addMain(PurchaseOrderVo doc) { private Result addMain(PurchaseOrderVo doc) {
String id = DocUtil.getDocumentID("CGDD"); String id = DocUtil.getDocId("CGDD");
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {
return Result.fail("获取单号失败"); return Result.fail("获取单号失败");
@ -272,7 +271,7 @@ public class PurchaseOrderService {
); );
//删除旧的子表 //删除旧的子表
this.delSubByPid(docId); delSubByPid(docId);
//插入新的子表 //插入新的子表
List<BizPurchaseOrderSub> subList = doc.getData(); List<BizPurchaseOrderSub> subList = doc.getData();

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi; import cn.toesbieya.jxc.api.service.StockApi;
@ -8,16 +8,16 @@ import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.StockSearch; import cn.toesbieya.jxc.common.model.vo.StockSearch;
import cn.toesbieya.jxc.common.model.vo.StockSearchResult; import cn.toesbieya.jxc.common.model.vo.StockSearchResult;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.document.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.mapper.DocumentHistoryMapper; import cn.toesbieya.jxc.doc.mapper.DocHistoryMapper;
import cn.toesbieya.jxc.document.mapper.SellOrderMapper; import cn.toesbieya.jxc.doc.mapper.SellOrderMapper;
import cn.toesbieya.jxc.document.mapper.SellOrderSubMapper; import cn.toesbieya.jxc.doc.mapper.SellOrderSubMapper;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.SellOrderExport; import cn.toesbieya.jxc.doc.model.vo.SellOrderExport;
import cn.toesbieya.jxc.document.model.vo.SellOrderSearch; import cn.toesbieya.jxc.doc.model.vo.SellOrderSearch;
import cn.toesbieya.jxc.document.model.vo.SellOrderVo; import cn.toesbieya.jxc.doc.model.vo.SellOrderVo;
import cn.toesbieya.jxc.document.util.DocUtil; import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
@ -42,7 +42,7 @@ public class SellOrderService {
@Resource @Resource
private SellOrderSubMapper subMapper; private SellOrderSubMapper subMapper;
@Resource @Resource
private DocumentHistoryMapper historyMapper; private DocHistoryMapper historyMapper;
@Resource @Resource
private StockApi stockApi; private StockApi stockApi;
@Resource @Resource
@ -56,7 +56,7 @@ public class SellOrderService {
SellOrderVo vo = new SellOrderVo(main); SellOrderVo vo = new SellOrderVo(main);
vo.setData(this.getSubById(id)); vo.setData(getSubById(id));
vo.setImageList(recordApi.getAttachmentByPid(id)); vo.setImageList(recordApi.getAttachmentByPid(id));
return vo; return vo;
@ -123,7 +123,7 @@ public class SellOrderService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("撤回失败,请刷新重试"); return Result.fail("撤回失败,请刷新重试");
} }
@ -187,7 +187,7 @@ public class SellOrderService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("驳回失败,请刷新重试"); return Result.fail("驳回失败,请刷新重试");
} }
@ -216,7 +216,7 @@ public class SellOrderService {
} }
//同时删除子表和附件 //同时删除子表和附件
this.delSubByPid(id); delSubByPid(id);
recordApi.delAttachmentByPid(id); recordApi.delAttachmentByPid(id);
return Result.success("删除成功"); return Result.success("删除成功");
@ -226,7 +226,7 @@ public class SellOrderService {
String err = checkStock(doc.getData()); String err = checkStock(doc.getData());
if (err != null) return Result.fail(err); if (err != null) return Result.fail(err);
String id = DocUtil.getDocumentID("XSDD"); String id = DocUtil.getDocId("XSDD");
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {
return Result.fail("获取单号失败"); return Result.fail("获取单号失败");
@ -277,7 +277,7 @@ public class SellOrderService {
); );
//删除旧的子表 //删除旧的子表
this.delSubByPid(docId); delSubByPid(docId);
//插入新的子表 //插入新的子表
List<BizSellOrderSub> subList = doc.getData(); List<BizSellOrderSub> subList = doc.getData();
@ -305,25 +305,6 @@ public class SellOrderService {
return null; return null;
} }
//根据主表ID删除子表
private void delSubByPid(String pid) {
subMapper.delete(
Wrappers.lambdaQuery(BizSellOrderSub.class)
.eq(BizSellOrderSub::getPid, pid)
);
}
//驳回单据,只有等待审核单据的才能被驳回
private int rejectById(String id) {
return mainMapper.update(
null,
Wrappers.lambdaUpdate(BizSellOrder.class)
.set(BizSellOrder::getStatus, DocStatusEnum.DRAFT.getCode())
.eq(BizSellOrder::getId, id)
.eq(BizSellOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode())
);
}
//添加、修改、提交、审核通过都必须检验库存是否足够 //添加、修改、提交、审核通过都必须检验库存是否足够
private String checkStock(List<BizSellOrderSub> list) { private String checkStock(List<BizSellOrderSub> list) {
List<String> cids = list.stream().map(i -> String.valueOf(i.getCid())).collect(Collectors.toList()); List<String> cids = list.stream().map(i -> String.valueOf(i.getCid())).collect(Collectors.toList());
@ -352,6 +333,25 @@ public class SellOrderService {
return null; return null;
} }
//根据主表ID删除子表
private void delSubByPid(String pid) {
subMapper.delete(
Wrappers.lambdaQuery(BizSellOrderSub.class)
.eq(BizSellOrderSub::getPid, pid)
);
}
//驳回单据,只有等待审核单据的才能被驳回
private int rejectById(String id) {
return mainMapper.update(
null,
Wrappers.lambdaUpdate(BizSellOrder.class)
.set(BizSellOrder::getStatus, DocStatusEnum.DRAFT.getCode())
.eq(BizSellOrder::getId, id)
.eq(BizSellOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode())
);
}
private Wrapper<BizSellOrder> getSearchCondition(SellOrderSearch vo) { private Wrapper<BizSellOrder> getSearchCondition(SellOrderSearch vo) {
Integer customerId = vo.getCustomerId(); Integer customerId = vo.getCustomerId();
String customerName = vo.getCustomerName(); String customerName = vo.getCustomerName();

@ -1,4 +1,4 @@
package cn.toesbieya.jxc.document.service; package cn.toesbieya.jxc.doc.service;
import cn.toesbieya.jxc.api.service.RecordApi; import cn.toesbieya.jxc.api.service.RecordApi;
import cn.toesbieya.jxc.api.service.StockApi; import cn.toesbieya.jxc.api.service.StockApi;
@ -9,15 +9,15 @@ import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.model.vo.StockOutboundVo; import cn.toesbieya.jxc.common.model.vo.StockOutboundVo;
import cn.toesbieya.jxc.common.model.vo.UserVo; import cn.toesbieya.jxc.common.model.vo.UserVo;
import cn.toesbieya.jxc.common.utils.Util; import cn.toesbieya.jxc.common.utils.Util;
import cn.toesbieya.jxc.document.enumeration.DocFinishEnum; import cn.toesbieya.jxc.doc.enumeration.DocFinishEnum;
import cn.toesbieya.jxc.document.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.doc.enumeration.DocHistoryEnum;
import cn.toesbieya.jxc.document.enumeration.DocStatusEnum; import cn.toesbieya.jxc.doc.enumeration.DocStatusEnum;
import cn.toesbieya.jxc.document.mapper.*; import cn.toesbieya.jxc.doc.mapper.*;
import cn.toesbieya.jxc.document.model.vo.DocStatusUpdate; import cn.toesbieya.jxc.doc.model.vo.DocStatusUpdate;
import cn.toesbieya.jxc.document.model.vo.SellOutboundExport; import cn.toesbieya.jxc.doc.model.vo.SellOutboundExport;
import cn.toesbieya.jxc.document.model.vo.SellOutboundSearch; import cn.toesbieya.jxc.doc.model.vo.SellOutboundSearch;
import cn.toesbieya.jxc.document.model.vo.SellOutboundVo; import cn.toesbieya.jxc.doc.model.vo.SellOutboundVo;
import cn.toesbieya.jxc.document.util.DocUtil; import cn.toesbieya.jxc.doc.util.DocUtil;
import cn.toesbieya.jxc.web.common.annoation.Lock; import cn.toesbieya.jxc.web.common.annoation.Lock;
import cn.toesbieya.jxc.web.common.annoation.UserAction; import cn.toesbieya.jxc.web.common.annoation.UserAction;
import cn.toesbieya.jxc.web.common.model.vo.PageResult; import cn.toesbieya.jxc.web.common.model.vo.PageResult;
@ -50,7 +50,7 @@ public class SellOutboundService {
@Resource @Resource
private SellOrderSubMapper orderSubMapper; private SellOrderSubMapper orderSubMapper;
@Resource @Resource
private DocumentHistoryMapper historyMapper; private DocHistoryMapper historyMapper;
@Resource @Resource
private StockApi stockApi; private StockApi stockApi;
@Resource @Resource
@ -64,7 +64,7 @@ public class SellOutboundService {
SellOutboundVo vo = new SellOutboundVo(main); SellOutboundVo vo = new SellOutboundVo(main);
vo.setData(this.getSubById(id)); vo.setData(getSubById(id));
vo.setImageList(recordApi.getAttachmentByPid(id)); vo.setImageList(recordApi.getAttachmentByPid(id));
return vo; return vo;
@ -131,7 +131,7 @@ public class SellOutboundService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("撤回失败,请刷新重试"); return Result.fail("撤回失败,请刷新重试");
} }
@ -160,8 +160,8 @@ public class SellOutboundService {
String pid = vo.getPid(); String pid = vo.getPid();
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
List<BizSellOutboundSub> subList = this.getSubById(vo.getId()); List<BizSellOutboundSub> subList = getSubById(vo.getId());
String err = this.check(vo.getPid(), subList); String err = check(vo.getPid(), subList);
if (err != null) return Result.fail("通过失败," + err); if (err != null) return Result.fail("通过失败," + err);
if (1 > mainMapper.update( if (1 > mainMapper.update(
@ -190,7 +190,7 @@ public class SellOutboundService {
//更新销售订单子表的剩余未出库数量,记录销售订单的完成情况 //更新销售订单子表的剩余未出库数量,记录销售订单的完成情况
DocFinishEnum finish = DocFinishEnum.FINISHED; DocFinishEnum finish = DocFinishEnum.FINISHED;
List<BizSellOrderSub> orderSubList = this.getOrderSubListByPid(pid); List<BizSellOrderSub> orderSubList = getOrderSubListByPid(pid);
for (BizSellOrderSub orderSub : orderSubList) { for (BizSellOrderSub orderSub : orderSubList) {
if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) {
@ -255,7 +255,7 @@ public class SellOutboundService {
String id = vo.getId(); String id = vo.getId();
String info = vo.getInfo(); String info = vo.getInfo();
if (this.rejectById(id) < 1) { if (rejectById(id) < 1) {
return Result.fail("驳回失败,请刷新重试"); return Result.fail("驳回失败,请刷新重试");
} }
@ -284,7 +284,7 @@ public class SellOutboundService {
} }
//同时删除子表和附件 //同时删除子表和附件
this.delSubByPid(id); delSubByPid(id);
recordApi.delAttachmentByPid(id); recordApi.delAttachmentByPid(id);
return Result.success("删除成功"); return Result.success("删除成功");
@ -296,7 +296,7 @@ public class SellOutboundService {
String err = check(doc.getPid(), subList); String err = check(doc.getPid(), subList);
if (err != null) return Result.fail(err); if (err != null) return Result.fail(err);
String id = DocUtil.getDocumentID("XSCK"); String id = DocUtil.getDocId("XSCK");
if (StringUtils.isEmpty(id)) return Result.fail("获取单号失败"); if (StringUtils.isEmpty(id)) return Result.fail("获取单号失败");
@ -338,7 +338,7 @@ public class SellOutboundService {
); );
//删除旧的子表 //删除旧的子表
this.delSubByPid(docId); delSubByPid(docId);
//插入新的子表 //插入新的子表
subMapper.insertBatch(doc.getData()); subMapper.insertBatch(doc.getData());
@ -376,14 +376,14 @@ public class SellOutboundService {
return "销售订单状态异常"; return "销售订单状态异常";
} }
List<BizSellOrderSub> orderSubList = this.getOrderSubListByPid(pid); List<BizSellOrderSub> orderSubList = getOrderSubListByPid(pid);
if (CollectionUtils.isEmpty(orderSubList)) { if (CollectionUtils.isEmpty(orderSubList)) {
return "没有找到销售订单的数据"; return "没有找到销售订单的数据";
} }
//按分类统计商品的出库数量 //按分类统计商品的出库数量
Map<Integer, BigDecimal> outboundCount = this.getOutboundCount(docSubList); Map<Integer, BigDecimal> outboundCount = getOutboundCount(docSubList);
String[] cids = new String[outboundCount.size()]; String[] cids = new String[outboundCount.size()];

@ -1,10 +1,10 @@
package cn.toesbieya.jxc.document.util; package cn.toesbieya.jxc.doc.util;
import cn.toesbieya.jxc.common.constant.DocumentConstant; import cn.toesbieya.jxc.common.constant.DocConstant;
import cn.toesbieya.jxc.common.model.entity.BizDoc; import cn.toesbieya.jxc.common.model.entity.BizDoc;
import cn.toesbieya.jxc.common.utils.DateUtil; import cn.toesbieya.jxc.common.utils.DateUtil;
import cn.toesbieya.jxc.common.utils.RedisUtil; import cn.toesbieya.jxc.common.utils.RedisUtil;
import cn.toesbieya.jxc.document.model.vo.DocSearch; import cn.toesbieya.jxc.doc.model.vo.DocSearch;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.io.ByteStreams; import com.google.common.io.ByteStreams;
@ -20,11 +20,11 @@ import java.util.Arrays;
@Slf4j @Slf4j
public class DocUtil { public class DocUtil {
private static String GET_DOCUMENT_ID_SCRIPT; private static String GET_DOC_ID_SCRIPT;
static { static {
try { try {
GET_DOCUMENT_ID_SCRIPT = new String(ByteStreams.toByteArray(new ClassPathResource("/script/get_document_id.lua").getInputStream())); GET_DOC_ID_SCRIPT = new String(ByteStreams.toByteArray(new ClassPathResource("/script/get_doc_id.lua").getInputStream()));
} }
catch (IOException e) { catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
@ -32,17 +32,17 @@ public class DocUtil {
} }
//获取单号,形如 {type}0001 //获取单号,形如 {type}0001
public static String getDocumentID(String type) { public static String getDocId(String type) {
if (!Arrays.asList(DocumentConstant.DOCUMENT_TYPE).contains(type)) { if (!Arrays.asList(DocConstant.DOC_TYPE).contains(type)) {
log.error("单据类型有误,【{}】不存在", type); log.error("单据类型有误,【{}】不存在", type);
return null; return null;
} }
RedisScript<Long> redisScript = new DefaultRedisScript<>(GET_DOCUMENT_ID_SCRIPT, Long.class); RedisScript<Long> redisScript = new DefaultRedisScript<>(GET_DOC_ID_SCRIPT, Long.class);
Long result = RedisUtil.getStringRedisTemplate().execute( Long result = RedisUtil.getStringRedisTemplate().execute(
redisScript, redisScript,
Arrays.asList(DocumentConstant.UPDATE_DOCUMENTS_LOCK_KEY, DocumentConstant.DOCUMENT_TYPE_REDIS_KEY), Arrays.asList(DocConstant.UPDATE_DOC_LOCK_KEY, DocConstant.DOC_TYPE_REDIS_KEY),
String.valueOf(DateUtil.getTimestampNow()), String.valueOf(DateUtil.getTimestampNow()),
type type
); );

@ -1,6 +1,6 @@
spring: spring:
application: application:
name: jxc-web-document name: jxc-web-doc
cloud: cloud:
nacos: nacos:

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.PurchaseInboundMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.PurchaseInboundMapper">
<select id="export" resultType="cn.toesbieya.jxc.document.model.vo.PurchaseInboundExport"> <select id="export" resultType="cn.toesbieya.jxc.doc.model.vo.PurchaseInboundExport">
select id, select id,
pid, pid,
cname, cname,

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.PurchaseInboundSubMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.PurchaseInboundSubMapper">
<insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub"> <insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizPurchaseInboundSub">
INSERT INTO biz_purchase_inbound_sub(pid, cid, cname, num) VALUES insert into biz_purchase_inbound_sub(pid, cid, cname, num) values
<foreach collection="list" item="i" separator=","> <foreach collection="list" item="i" separator=",">
(#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}) (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num})
</foreach> </foreach>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.PurchaseOrderMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.PurchaseOrderMapper">
<select id="export" resultType="cn.toesbieya.jxc.document.model.vo.PurchaseOrderExport"> <select id="export" resultType="cn.toesbieya.jxc.doc.model.vo.PurchaseOrderExport">
select id, select id,
sname, sname,
cname, cname,

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.PurchaseOrderSubMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.PurchaseOrderSubMapper">
<insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub"> <insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizPurchaseOrderSub">
INSERT INTO biz_purchase_order_sub(pid, cid, cname, num, price, remain_num) VALUES insert into biz_purchase_order_sub(pid, cid, cname, num, price, remain_num) values
<foreach collection="list" item="i" separator=","> <foreach collection="list" item="i" separator=",">
(#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum}) (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum})
</foreach> </foreach>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.SellOrderMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.SellOrderMapper">
<select id="export" resultType="cn.toesbieya.jxc.document.model.vo.SellOrderExport"> <select id="export" resultType="cn.toesbieya.jxc.doc.model.vo.SellOrderExport">
select id, select id,
customer_name, customer_name,
cname, cname,

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.SellOrderSubMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.SellOrderSubMapper">
<insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizSellOrderSub"> <insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizSellOrderSub">
INSERT INTO biz_sell_order_sub(pid, cid, cname, num, price, remain_num) VALUES insert into biz_sell_order_sub(pid, cid, cname, num, price, remain_num) values
<foreach collection="list" item="i" separator=","> <foreach collection="list" item="i" separator=",">
(#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum}) (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum})
</foreach> </foreach>

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.SellOutboundMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.SellOutboundMapper">
<select id="export" resultType="cn.toesbieya.jxc.document.model.vo.SellOutboundExport"> <select id="export" resultType="cn.toesbieya.jxc.doc.model.vo.SellOutboundExport">
select id, select id,
pid, pid,
cname, cname,

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.document.mapper.SellOutboundSubMapper"> <mapper namespace="cn.toesbieya.jxc.doc.mapper.SellOutboundSubMapper">
<insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub"> <insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.BizSellOutboundSub">
INSERT INTO biz_sell_outbound_sub(pid, sid, cid, cname, num) VALUES insert into biz_sell_outbound_sub(pid, sid, cid, cname, num) values
<foreach collection="list" item="i" separator=","> <foreach collection="list" item="i" separator=",">
(#{i.pid}, #{i.sid}, #{i.cid}, #{i.cname}, #{i.num}) (#{i.pid}, #{i.sid}, #{i.cid}, #{i.cname}, #{i.num})
</foreach> </foreach>

@ -3,37 +3,36 @@ package cn.toesbieya.jxc.message.controller;
import cn.toesbieya.jxc.common.model.entity.Msg; import cn.toesbieya.jxc.common.model.entity.Msg;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.message.constant.MsgConstant; import cn.toesbieya.jxc.message.constant.MsgConstant;
import cn.toesbieya.jxc.message.model.vo.MsgSearch; import cn.toesbieya.jxc.message.model.vo.MsgSearch;
import cn.toesbieya.jxc.message.service.MsgManageService; import cn.toesbieya.jxc.message.service.ManageService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RestController @RestController
@RequestMapping("manage") @RequestMapping("manage")
public class MsgManageController { public class ManageController {
@Resource @Resource
private MsgManageService msgManageService; private ManageService service;
@RequestMapping("search") @RequestMapping("search")
public Result search(@RequestBody MsgSearch vo) { public Result search(@RequestBody MsgSearch vo) {
return Result.success(msgManageService.search(vo)); return Result.success(service.search(vo));
} }
@PostMapping("add") @PostMapping("add")
public Result add(HttpServletRequest request, @RequestBody Msg msg) { public Result add(@RequestBody Msg msg) {
String errMsg = validateAdd(msg); String errMsg = validateAdd(msg);
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
msg.setId(null); msg.setId(null);
SysUser user = SessionUtil.get(request); SysUser user = SessionUtil.get();
setAddInfo(user, msg); setAddInfo(user, msg);
return msgManageService.add(msg); return service.add(msg);
} }
@PostMapping("update") @PostMapping("update")
@ -42,11 +41,11 @@ public class MsgManageController {
if (errMsg == null) errMsg = validateUpdate(msg); if (errMsg == null) errMsg = validateUpdate(msg);
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
return msgManageService.update(msg); return service.update(msg);
} }
@PostMapping("publish") @PostMapping("publish")
public Result publish(HttpServletRequest request, @RequestBody Msg msg) { public Result publish(@RequestBody Msg msg) {
boolean isFirstCreate = msg.getId() == null; boolean isFirstCreate = msg.getId() == null;
String errMsg = validateAdd(msg); String errMsg = validateAdd(msg);
@ -55,7 +54,7 @@ public class MsgManageController {
} }
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
SysUser user = SessionUtil.get(request); SysUser user = SessionUtil.get();
if (isFirstCreate) setAddInfo(user, msg); if (isFirstCreate) setAddInfo(user, msg);
msg.setPid(user.getId()); msg.setPid(user.getId());
@ -63,25 +62,25 @@ public class MsgManageController {
msg.setPtime(System.currentTimeMillis()); msg.setPtime(System.currentTimeMillis());
msg.setStatus(MsgConstant.STATUS_PUBLISHED); msg.setStatus(MsgConstant.STATUS_PUBLISHED);
return msgManageService.publish(msg); return service.publish(msg);
} }
@PostMapping("withdraw") @PostMapping("withdraw")
public Result withdraw(HttpServletRequest request, @RequestBody Msg msg) { public Result withdraw(@RequestBody Msg msg) {
if (msg.getId() == null) return Result.fail("参数错误"); if (msg.getId() == null) return Result.fail("参数错误");
SysUser user = SessionUtil.get(request); SysUser user = SessionUtil.get();
msg.setWid(user.getId()); msg.setWid(user.getId());
msg.setWname(user.getName()); msg.setWname(user.getName());
msg.setWtime(System.currentTimeMillis()); msg.setWtime(System.currentTimeMillis());
msg.setStatus(MsgConstant.STATUS_WITHDREW); msg.setStatus(MsgConstant.STATUS_WITHDREW);
return msgManageService.withdraw(msg); return service.withdraw(msg);
} }
@GetMapping("del") @GetMapping("del")
public Result del(@RequestParam Integer id, @RequestParam String title) { public Result del(@RequestParam Integer id, @RequestParam String title) {
return msgManageService.del(id, title); return service.del(id, title);
} }
private void setAddInfo(SysUser user, Msg msg) { private void setAddInfo(SysUser user, Msg msg) {

@ -1,36 +0,0 @@
package cn.toesbieya.jxc.message.controller;
import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.message.model.vo.MsgPersonalSearch;
import cn.toesbieya.jxc.message.service.MsgUserService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("user")
public class MsgUserController {
@Resource
private MsgUserService msgUserService;
@PostMapping("search")
public Result search(HttpServletRequest request, @RequestBody MsgPersonalSearch vo) {
SysUser user = SessionUtil.get(request);
vo.setUid(user.getId());
vo.setCtime(user.getCtime());
return Result.success(msgUserService.search(vo));
}
@GetMapping("read")
public Result read(HttpServletRequest request, @RequestParam Integer id) {
return msgUserService.read(SessionUtil.get(request), id);
}
@GetMapping("readAll")
public Result readAll(HttpServletRequest request) {
return msgUserService.readAll(SessionUtil.get(request));
}
}

@ -0,0 +1,35 @@
package cn.toesbieya.jxc.message.controller;
import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.message.model.vo.MsgPersonalSearch;
import cn.toesbieya.jxc.message.service.UserService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("user")
public class UserController {
@Resource
private UserService service;
@PostMapping("search")
public Result search(@RequestBody MsgPersonalSearch vo) {
SysUser user = SessionUtil.get();
vo.setUid(user.getId());
vo.setCtime(user.getCtime());
return Result.success(service.search(vo));
}
@GetMapping("read")
public Result read(@RequestParam Integer id) {
return service.read(SessionUtil.get(), id);
}
@GetMapping("readAll")
public Result readAll() {
return service.readAll(SessionUtil.get());
}
}

@ -22,9 +22,9 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
public class MsgManageService { public class ManageService {
@Resource @Resource
private MsgMapper msgMapper; private MsgMapper mapper;
public PageResult<Msg> search(MsgSearch vo) { public PageResult<Msg> search(MsgSearch vo) {
String title = vo.getTitle(); String title = vo.getTitle();
@ -39,20 +39,18 @@ public class MsgManageService {
.orderByDesc(Msg::getId); .orderByDesc(Msg::getId);
PageHelper.startPage(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize());
return new PageResult<>(mapper.selectList(wrapper));
List<Msg> list = msgMapper.selectList(wrapper);
return new PageResult<>(list);
} }
@UserAction("'添加消息:'+#msg.title") @UserAction("'添加消息:'+#msg.title")
public Result add(Msg msg) { public Result add(Msg msg) {
msgMapper.insert(msg); mapper.insert(msg);
return Result.success("添加成功", msg); return Result.success("添加成功", msg);
} }
@UserAction("'修改消息:'+#msg.title") @UserAction("'修改消息:'+#msg.title")
public Result update(Msg msg) { public Result update(Msg msg) {
int rows = msgMapper.update( int rows = mapper.update(
null, null,
Wrappers.lambdaUpdate(Msg.class) Wrappers.lambdaUpdate(Msg.class)
.set(Msg::getTitle, msg.getTitle()) .set(Msg::getTitle, msg.getTitle())
@ -110,7 +108,7 @@ public class MsgManageService {
@UserAction("'撤回消息:'+#msg.title") @UserAction("'撤回消息:'+#msg.title")
public Result withdraw(Msg msg) { public Result withdraw(Msg msg) {
int rows = msgMapper.update( int rows = mapper.update(
null, null,
Wrappers.lambdaUpdate(Msg.class) Wrappers.lambdaUpdate(Msg.class)
.set(Msg::getStatus, msg.getStatus()) .set(Msg::getStatus, msg.getStatus())
@ -125,7 +123,7 @@ public class MsgManageService {
@UserAction("'删除消息:'+#title") @UserAction("'删除消息:'+#title")
public Result del(int id, String title) { public Result del(int id, String title) {
int rows = msgMapper.deleteById(id); int rows = mapper.deleteById(id);
return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试");
} }
} }

@ -17,7 +17,7 @@ import javax.annotation.Resource;
import java.util.List; import java.util.List;
@Service @Service
public class MsgUserService { public class UserService {
@Resource @Resource
private MsgMapper msgMapper; private MsgMapper msgMapper;
@Resource @Resource
@ -31,11 +31,13 @@ public class MsgUserService {
public Result read(SysUser user, int id) { public Result read(SysUser user, int id) {
//如果该消息已读,直接返回 //如果该消息已读,直接返回
if (0 != msgStateMapper.selectCount( if (!msgStateMapper
.selectCount(
Wrappers.lambdaQuery(MsgState.class) Wrappers.lambdaQuery(MsgState.class)
.eq(MsgState::getId, id) .eq(MsgState::getId, id)
.eq(MsgState::getMid, user.getId()) .eq(MsgState::getMid, user.getId())
)) { )
.equals(0)) {
return Result.success(); return Result.success();
} }

@ -1,13 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.toesbieya.jxc.message.mapper.MsgMapper"> <mapper namespace="cn.toesbieya.jxc.message.mapper.MsgMapper">
<sql id="unreadCondition">
where status = 1
and ptime <![CDATA[ >= ]]> #{ctime}
and (broadcast = 1 or broadcast = 0 and find_in_set(recipient, #{uid}))
and id not in (select mid from msg_state where uid = #{uid})
</sql>
<select id="getReadByUser" parameterType="cn.toesbieya.jxc.message.model.vo.MsgPersonalSearch" <select id="getReadByUser" parameterType="cn.toesbieya.jxc.message.model.vo.MsgPersonalSearch"
resultType="cn.toesbieya.jxc.common.model.entity.Msg"> resultType="cn.toesbieya.jxc.common.model.entity.Msg">
select a.id, select a.id,
@ -31,7 +24,10 @@
pname, pname,
ptime ptime
from msg from msg
<include refid="unreadCondition"/> where status = 1
and ptime <![CDATA[ >= ]]> #{ctime}
and (broadcast = 1 or broadcast = 0 and find_in_set(recipient, #{uid}))
and id not in (select mid from msg_state where uid = #{uid})
order by id desc order by id desc
</select> </select>
</mapper> </mapper>

@ -15,7 +15,7 @@
<module>statistic</module> <module>statistic</module>
<module>system</module> <module>system</module>
<module>stock</module> <module>stock</module>
<module>document</module> <module>doc</module>
</modules> </modules>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

@ -15,15 +15,15 @@ import javax.annotation.Resource;
@RequestMapping("record") @RequestMapping("record")
public class RecordController { public class RecordController {
@Resource @Resource
private RecordService recordService; private RecordService service;
@PostMapping("searchLoginHistory") @PostMapping("searchLoginHistory")
public Result searchLoginHistory(@RequestBody LoginHistorySearch vo) { public Result searchLoginHistory(@RequestBody LoginHistorySearch vo) {
return Result.success(recordService.searchLoginHistory(vo)); return Result.success(service.searchLoginHistory(vo));
} }
@PostMapping("searchUserAction") @PostMapping("searchUserAction")
public Result searchUserAction(@RequestBody UserActionSearch vo) { public Result searchUserAction(@RequestBody UserActionSearch vo) {
return Result.success(recordService.searchUserAction(vo)); return Result.success(service.searchUserAction(vo));
} }
} }

@ -2,12 +2,9 @@ package cn.toesbieya.jxc.record.mapper;
import cn.toesbieya.jxc.common.model.entity.RecAttachment; import cn.toesbieya.jxc.common.model.entity.RecAttachment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
public interface RecAttachmentMapper extends BaseMapper<RecAttachment> { public interface RecAttachmentMapper extends BaseMapper<RecAttachment> {
int insertBatch(List<RecAttachment> list); int insertBatch(List<RecAttachment> list);
List<String> getUrlByPid(@Param("pid") String pid);
} }

@ -19,11 +19,13 @@ import com.github.pagehelper.PageHelper;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Service @Service
@org.apache.dubbo.config.annotation.Service @org.apache.dubbo.config.annotation.Service
@ -58,8 +60,7 @@ public class RecordService implements RecordApi {
.orderByDesc(RecLoginHistory::getTime); .orderByDesc(RecLoginHistory::getTime);
PageHelper.startPage(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize());
List<RecLoginHistory> list = loginHistoryMapper.selectList(wrapper); return new PageResult<>(loginHistoryMapper.selectList(wrapper));
return new PageResult<>(list);
} }
public PageResult<RecUserAction> searchUserAction(UserActionSearch vo) { public PageResult<RecUserAction> searchUserAction(UserActionSearch vo) {
@ -83,8 +84,7 @@ public class RecordService implements RecordApi {
.orderByDesc(RecUserAction::getTime); .orderByDesc(RecUserAction::getTime);
PageHelper.startPage(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize());
List<RecUserAction> list = userActionMapper.selectList(wrapper); return new PageResult<>(userActionMapper.selectList(wrapper));
return new PageResult<>(list);
} }
public List<RecAttachment> getAttachmentByPid(String pid) { public List<RecAttachment> getAttachmentByPid(String pid) {
@ -104,29 +104,31 @@ public class RecordService implements RecordApi {
List<RecAttachment> uploadImageList = vo.getUploadImageList(); List<RecAttachment> uploadImageList = vo.getUploadImageList();
List<String> deleteImageList = vo.getDeleteImageList(); List<String> deleteImageList = vo.getDeleteImageList();
if (uploadImageList != null && uploadImageList.size() > 0) { if (!CollectionUtils.isEmpty(uploadImageList)) {
attachmentMapper.insertBatch(uploadImageList); attachmentMapper.insertBatch(uploadImageList);
} }
if (!CollectionUtils.isEmpty(deleteImageList)) {
if (deleteImageList != null && deleteImageList.size() > 0) {
attachmentMapper.delete( attachmentMapper.delete(
Wrappers.lambdaQuery(RecAttachment.class) Wrappers.lambdaQuery(RecAttachment.class)
.in(RecAttachment::getUrl, deleteImageList) .in(RecAttachment::getUrl, deleteImageList)
); );
qiniuUtil.deleteBatch(deleteImageList.toArray(new String[0])); qiniuUtil.deleteBatch(deleteImageList.toArray(new String[0]));
} }
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delAttachmentByPid(String pid) { public void delAttachmentByPid(String pid) {
List<String> urls = attachmentMapper.getUrlByPid(pid); List<RecAttachment> list = attachmentMapper.selectList(
Wrappers.lambdaQuery(RecAttachment.class)
.eq(RecAttachment::getPid, pid)
);
if (urls.size() == 0) return; if (CollectionUtils.isEmpty(list)) return;
attachmentMapper.delete(Wrappers.lambdaQuery(RecAttachment.class).eq(RecAttachment::getPid, pid)); attachmentMapper.delete(Wrappers.lambdaQuery(RecAttachment.class).eq(RecAttachment::getPid, pid));
qiniuUtil.deleteBatch(urls.toArray(new String[0])); List<String> urls = list.stream().map(RecAttachment::getUrl).collect(Collectors.toList());
qiniuUtil.deleteBatch(urls);
} }
@Async("dbInsertExecutor") @Async("dbInsertExecutor")
@ -134,16 +136,13 @@ public class RecordService implements RecordApi {
if (StringUtils.isEmpty(history.getAddress())) { if (StringUtils.isEmpty(history.getAddress())) {
history.setAddress(IpUtil.getIpAddress(history.getIp())); history.setAddress(IpUtil.getIpAddress(history.getIp()));
} }
history.setId(null); history.setId(null);
loginHistoryMapper.insert(history); loginHistoryMapper.insert(history);
} }
@Async("dbInsertExecutor") @Async("dbInsertExecutor")
public void insertUserAction(RecUserAction action) { public void insertUserAction(RecUserAction action) {
action.setId(null); action.setId(null);
userActionMapper.insert(action); userActionMapper.insert(action);
} }
} }

@ -3,15 +3,9 @@
<mapper namespace="cn.toesbieya.jxc.record.mapper.RecAttachmentMapper"> <mapper namespace="cn.toesbieya.jxc.record.mapper.RecAttachmentMapper">
<insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.RecAttachment"> <insert id="insertBatch" parameterType="cn.toesbieya.jxc.common.model.entity.RecAttachment">
insert into rec_attachment (pid, name, time, sort, url,size) insert into rec_attachment (pid, name, time, sort, url,size)
VALUES values
<foreach collection="list" item="i" separator=","> <foreach collection="list" item="i" separator=",">
(#{i.pid}, #{i.name}, #{i.time}, #{i.sort}, #{i.url},#{i.size}) (#{i.pid}, #{i.name}, #{i.time}, #{i.sort}, #{i.url},#{i.size})
</foreach> </foreach>
</insert> </insert>
<select id="getUrlByPid" resultType="java.lang.String">
select url
from rec_attachment
where pid = #{pid}
</select>
</mapper> </mapper>

@ -12,25 +12,25 @@ import javax.annotation.Resource;
@RequestMapping("statistic") @RequestMapping("statistic")
public class StatisticController { public class StatisticController {
@Resource @Resource
private StatisticService statisticService; private StatisticService service;
@GetMapping("getFourBlock") @GetMapping("getFourBlock")
public Result getFourBlock() { public Result getFourBlock() {
return Result.success(statisticService.getFourBlock()); return Result.success(service.getFourBlock());
} }
@GetMapping("getDailyProfitStat") @GetMapping("getDailyProfitStat")
public Result getDailyProfitStat() { public Result getDailyProfitStat() {
return Result.success(statisticService.getDailyProfitStat()); return Result.success(service.getDailyProfitStat());
} }
@GetMapping("getDailyFinishOrder") @GetMapping("getDailyFinishOrder")
public Result getDailyFinishOrder() { public Result getDailyFinishOrder() {
return Result.success(statisticService.getDailyFinishOrder()); return Result.success(service.getDailyFinishOrder());
} }
@GetMapping("getTotalProfitGoods") @GetMapping("getTotalProfitGoods")
public Result getTotalProfitGoods() { public Result getTotalProfitGoods() {
return Result.success(statisticService.getTotalProfitGoods()); return Result.success(service.getTotalProfitGoods());
} }
} }

@ -21,7 +21,7 @@ import java.util.Map;
@Slf4j @Slf4j
public class StatisticService { public class StatisticService {
@Resource @Resource
private StatisticMapper statisticMapper; private StatisticMapper mapper;
//获取首页四个色块的数据,在线用户、今日采购额、今日销售额、今日毛利润 //获取首页四个色块的数据,在线用户、今日采购额、今日销售额、今日毛利润
public FourBlockStat getFourBlock() { public FourBlockStat getFourBlock() {
@ -29,8 +29,8 @@ public class StatisticService {
FourBlockStat stat = new FourBlockStat(); FourBlockStat stat = new FourBlockStat();
BigDecimal purchase = statisticMapper.getPurchaseOrderDailyTotalPurchasePrice(now, null); BigDecimal purchase = mapper.getPurchaseOrderDailyTotalPurchasePrice(now, null);
BigDecimal sell = statisticMapper.getSellOrderDailyTotalPurchasePrice(now, null); BigDecimal sell = mapper.getSellOrderDailyTotalPurchasePrice(now, null);
long onlineNum = WebSocketUtil.getOnlineUserNum(); long onlineNum = WebSocketUtil.getOnlineUserNum();
@ -45,25 +45,25 @@ public class StatisticService {
//获取历史七天的每日采购额、销售额、毛利润 //获取历史七天的每日采购额、销售额、毛利润
public List<StatProfitTotal> getDailyProfitStat() { public List<StatProfitTotal> getDailyProfitStat() {
long lastWeekDay = DateUtil.getTimestampBeforeNow(7); long lastWeekDay = DateUtil.getTimestampBeforeNow(7);
return statisticMapper.searchTotalProfit(lastWeekDay, null); return mapper.searchTotalProfit(lastWeekDay, null);
} }
//获取历史七天已完成的采购订单数、销售订单数 //获取历史七天已完成的采购订单数、销售订单数
public List<StatFinishOrder> getDailyFinishOrder() { public List<StatFinishOrder> getDailyFinishOrder() {
long lastWeekDay = DateUtil.getTimestampBeforeNow(7); long lastWeekDay = DateUtil.getTimestampBeforeNow(7);
return statisticMapper.searchFinishOrder(lastWeekDay, null); return mapper.searchFinishOrder(lastWeekDay, null);
} }
//获取每种商品的采购总额、销售总额、总毛利 //获取每种商品的采购总额、销售总额、总毛利
public Collection<StatProfitGoods> getTotalProfitGoods() { public Collection<StatProfitGoods> getTotalProfitGoods() {
//获取历史的信息 //获取历史的信息
List<StatProfitGoods> history = statisticMapper.getHistoryTotalProfitGoods(); List<StatProfitGoods> history = mapper.getHistoryTotalProfitGoods();
//获取今日的信息 //获取今日的信息
long today = DateUtil.getTimestampNow(); long today = DateUtil.getTimestampNow();
long nextDay = DateUtil.getTimestampBeforeNow(-1); long nextDay = DateUtil.getTimestampBeforeNow(-1);
history.addAll(statisticMapper.getPurchaseOrderDailyProfitGoods(today, nextDay)); history.addAll(mapper.getPurchaseOrderDailyProfitGoods(today, nextDay));
history.addAll(statisticMapper.getSellOrderDailyProfitGoods(today, nextDay)); history.addAll(mapper.getSellOrderDailyProfitGoods(today, nextDay));
Map<Integer, StatProfitGoods> map = new HashMap<>(history.size()); Map<Integer, StatProfitGoods> map = new HashMap<>(history.size());

@ -13,27 +13,27 @@ import javax.servlet.http.HttpServletResponse;
@RequestMapping("stock/current") @RequestMapping("stock/current")
public class StockController { public class StockController {
@Resource @Resource
private StockService stockService; private StockService service;
@PostMapping("search") @PostMapping("search")
public Result search(@RequestBody StockSearch vo) { public Result search(@RequestBody StockSearch vo) {
return Result.success(stockService.search(vo)); return Result.success(service.search(vo));
} }
@GetMapping("getDetail") @GetMapping("getDetail")
public Result getDetail(@RequestParam String cids) { public Result getDetail(@RequestParam String cids) {
if (StringUtils.isEmpty(cids)) return Result.fail("参数错误"); if (StringUtils.isEmpty(cids)) return Result.fail("参数错误");
return Result.success(stockService.getDetail(cids)); return Result.success(service.getDetail(cids));
} }
@GetMapping("getDetailById") @GetMapping("getDetailById")
public Result getDetailById(@RequestParam String ids) { public Result getDetailById(@RequestParam String ids) {
if (StringUtils.isEmpty(ids)) return Result.fail("参数错误"); if (StringUtils.isEmpty(ids)) return Result.fail("参数错误");
return Result.success(stockService.getDetailById(ids)); return Result.success(service.getDetailById(ids));
} }
@PostMapping("export") @PostMapping("export")
public void export(@RequestBody StockSearch vo, HttpServletResponse response) throws Exception { public void export(@RequestBody StockSearch vo, HttpServletResponse response) throws Exception {
stockService.export(vo, response); service.export(vo, response);
} }
} }

@ -28,7 +28,7 @@ import java.util.List;
@org.apache.dubbo.config.annotation.Service @org.apache.dubbo.config.annotation.Service
public class StockService implements StockApi { public class StockService implements StockApi {
@Resource @Resource
private StockMapper stockMapper; private StockMapper mapper;
private final ExcelUtil.CommonMergeOptions mergeOptions = private final ExcelUtil.CommonMergeOptions mergeOptions =
new ExcelUtil.CommonMergeOptions( new ExcelUtil.CommonMergeOptions(
@ -39,43 +39,43 @@ public class StockService implements StockApi {
public PageResult<StockSearchResult> search(StockSearch vo) { public PageResult<StockSearchResult> search(StockSearch vo) {
PageHelper.startPage(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize());
return new PageResult<>(this.getByCondition(vo)); return new PageResult<>(getByCondition(vo));
}
@Override
public List<StockSearchResult> getByCondition(StockSearch vo) {
return mapper.search(getSearchCondition(vo));
} }
@Override @Override
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public List<BizStock> getDetail(String cids) { public List<BizStock> getDetail(String cids) {
return stockMapper.selectList( return mapper.selectList(
Wrappers.lambdaQuery(BizStock.class) Wrappers.lambdaQuery(BizStock.class)
.inSql(!StringUtils.isEmpty(cids), BizStock::getCid, cids) .inSql(!StringUtils.isEmpty(cids), BizStock::getCid, cids)
.ge(BizStock::getNum, 0) .gt(BizStock::getNum, 0)
.orderByDesc(BizStock::getCgddid, BizStock::getCgrkid) .orderByDesc(BizStock::getCgddid, BizStock::getCgrkid)
); );
} }
public List<BizStock> getDetailById(String ids) { public List<BizStock> getDetailById(String ids) {
return stockMapper.selectList( return mapper.selectList(
Wrappers.lambdaQuery(BizStock.class) Wrappers.lambdaQuery(BizStock.class)
.inSql(!StringUtils.isEmpty(ids), BizStock::getId, ids) .inSql(!StringUtils.isEmpty(ids), BizStock::getId, ids)
); );
} }
public void export(StockSearch vo, HttpServletResponse response) throws Exception { public void export(StockSearch vo, HttpServletResponse response) throws Exception {
List<StockExport> list = stockMapper.export(getSearchCondition(vo)); List<StockExport> list = mapper.export(getSearchCondition(vo));
ExcelUtil.export(list, response, "库存导出", mergeOptions); ExcelUtil.export(list, response, "库存导出", mergeOptions);
} }
@Override
public List<StockSearchResult> getByCondition(StockSearch vo) {
return stockMapper.search(getSearchCondition(vo));
}
@Override @Override
public void inbound(List<BizStock> list) { public void inbound(List<BizStock> list) {
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
throw new JsonResultException("入库失败,没有需要入库的商品"); throw new JsonResultException("入库失败,没有需要入库的商品");
} }
stockMapper.insertBatch(list); mapper.insertBatch(list);
} }
@Override @Override
@ -85,7 +85,7 @@ public class StockService implements StockApi {
throw new JsonResultException("出库失败,没有需要出库的商品"); throw new JsonResultException("出库失败,没有需要出库的商品");
} }
for (StockOutboundVo vo : list) { for (StockOutboundVo vo : list) {
int rows = stockMapper.outbound(vo.getId(), vo.getNum()); int rows = mapper.outbound(vo.getId(), vo.getNum());
if (rows < 1) { if (rows < 1) {
throw new JsonResultException("出库失败"); throw new JsonResultException("出库失败");
} }

@ -3,7 +3,7 @@ package cn.toesbieya.jxc.system.controller;
import cn.toesbieya.jxc.common.model.entity.SysCategory; import cn.toesbieya.jxc.common.model.entity.SysCategory;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.model.vo.CategorySearch; import cn.toesbieya.jxc.system.model.vo.CategorySearch;
import cn.toesbieya.jxc.system.service.SysCategoryService; import cn.toesbieya.jxc.system.service.CategoryService;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -11,18 +11,18 @@ import javax.annotation.Resource;
@RestController @RestController
@RequestMapping("category") @RequestMapping("category")
public class SysCategoryController { public class CategoryController {
@Resource @Resource
private SysCategoryService categoryService; private CategoryService service;
@GetMapping("getAll") @GetMapping("getAll")
public Result getAll() { public Result getAll() {
return Result.success(categoryService.getAll()); return Result.success(service.getAll());
} }
@PostMapping("search") @PostMapping("search")
public Result search(@RequestBody CategorySearch vo) { public Result search(@RequestBody CategorySearch vo) {
return Result.success(categoryService.search(vo)); return Result.success(service.search(vo));
} }
@PostMapping("add") @PostMapping("add")
@ -33,7 +33,7 @@ public class SysCategoryController {
category.setId(null); category.setId(null);
category.setCtime(System.currentTimeMillis()); category.setCtime(System.currentTimeMillis());
return categoryService.add(category); return service.add(category);
} }
@PostMapping("update") @PostMapping("update")
@ -41,7 +41,7 @@ public class SysCategoryController {
String errMsg = validateCategoryUpdateParam(category); String errMsg = validateCategoryUpdateParam(category);
if (errMsg != null) return Result.fail(errMsg); if (errMsg != null) return Result.fail(errMsg);
return categoryService.update(category); return service.update(category);
} }
@PostMapping("del") @PostMapping("del")
@ -49,7 +49,7 @@ public class SysCategoryController {
if (category.getId() == null) { if (category.getId() == null) {
return Result.fail("删除失败,参数错误"); return Result.fail("删除失败,参数错误");
} }
return categoryService.del(category); return service.del(category);
} }
private String validateCategoryCreateParam(SysCategory category) { private String validateCategoryCreateParam(SysCategory category) {

@ -2,7 +2,7 @@ package cn.toesbieya.jxc.system.controller;
import cn.toesbieya.jxc.common.model.entity.SysCustomer; import cn.toesbieya.jxc.common.model.entity.SysCustomer;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.service.SysCustomerService; import cn.toesbieya.jxc.system.service.CustomerService;
import cn.toesbieya.jxc.system.model.vo.CustomerSearch; import cn.toesbieya.jxc.system.model.vo.CustomerSearch;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -11,18 +11,18 @@ import javax.annotation.Resource;
@RestController @RestController
@RequestMapping("customer") @RequestMapping("customer")
public class SysCustomerController { public class CustomerController {
@Resource @Resource
private SysCustomerService customerService; private CustomerService service;
@GetMapping("getLimitRegion") @GetMapping("getLimitRegion")
public Result getLimitRegion() { public Result getLimitRegion() {
return Result.success(customerService.getLimitRegion()); return Result.success(service.getLimitRegion());
} }
@PostMapping("search") @PostMapping("search")
public Result search(@RequestBody CustomerSearch vo) { public Result search(@RequestBody CustomerSearch vo) {
return Result.success(customerService.search(vo)); return Result.success(service.search(vo));
} }
@PostMapping("add") @PostMapping("add")
@ -32,7 +32,7 @@ public class SysCustomerController {
customer.setId(null); customer.setId(null);
customer.setCtime(System.currentTimeMillis()); customer.setCtime(System.currentTimeMillis());
return customerService.add(customer); return service.add(customer);
} }
@PostMapping("update") @PostMapping("update")
@ -40,13 +40,13 @@ public class SysCustomerController {
String errMsg = validateUpdateParam(customer); String errMsg = validateUpdateParam(customer);
if (errMsg != null) return Result.fail("修改失败," + errMsg); if (errMsg != null) return Result.fail("修改失败," + errMsg);
return customerService.update(customer); return service.update(customer);
} }
@PostMapping("del") @PostMapping("del")
public Result del(@RequestBody SysCustomer customer) { public Result del(@RequestBody SysCustomer customer) {
if (customer.getId() == null) return Result.fail("删除失败,参数错误"); if (customer.getId() == null) return Result.fail("删除失败,参数错误");
return customerService.del(customer); return service.del(customer);
} }
private String validateCreateParam(SysCustomer customer) { private String validateCreateParam(SysCustomer customer) {

@ -4,7 +4,7 @@ import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum;
import cn.toesbieya.jxc.common.model.entity.SysDepartment; import cn.toesbieya.jxc.common.model.entity.SysDepartment;
import cn.toesbieya.jxc.common.model.vo.DepartmentVo; import cn.toesbieya.jxc.common.model.vo.DepartmentVo;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.service.SysDepartmentService; import cn.toesbieya.jxc.system.service.DepartmentService;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -14,13 +14,13 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("department") @RequestMapping("department")
public class SysDepartmentController { public class DepartmentController {
@Resource @Resource
private SysDepartmentService departmentService; private DepartmentService service;
@GetMapping("get") @GetMapping("get")
public Result get(boolean all) { public Result get(boolean all) {
List<DepartmentVo> list = departmentService.getAll(); List<DepartmentVo> list = service.getAll();
if (!all) { if (!all) {
list = list list = list
.stream() .stream()
@ -40,7 +40,7 @@ public class SysDepartmentController {
department.setId(null); department.setId(null);
return departmentService.add(department); return service.add(department);
} }
@PostMapping("update") @PostMapping("update")
@ -52,7 +52,7 @@ public class SysDepartmentController {
return Result.fail("修改失败,参数错误"); return Result.fail("修改失败,参数错误");
} }
return departmentService.update(department); return service.update(department);
} }
@PostMapping("del") @PostMapping("del")
@ -61,6 +61,6 @@ public class SysDepartmentController {
return Result.fail("删除失败,参数错误"); return Result.fail("删除失败,参数错误");
} }
return departmentService.del(department); return service.del(department);
} }
} }

@ -0,0 +1,30 @@
package cn.toesbieya.jxc.system.controller;
import cn.toesbieya.jxc.common.model.entity.SysResource;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.service.ResourceService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("resource")
public class ResourceController {
@Resource
private ResourceService service;
@GetMapping("getAll")
public Result getAll() {
return Result.success(service.getAll());
}
@PostMapping("update")
public Result update(@RequestBody SysResource resource) {
if (resource.getId() == null
|| resource.getTotalRate() == null
|| resource.getIpRate() == null) {
return Result.fail("参数错误");
}
return service.update(resource);
}
}

@ -3,46 +3,45 @@ package cn.toesbieya.jxc.system.controller;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.common.utils.SessionUtil;
import cn.toesbieya.jxc.system.model.vo.RoleSearch; import cn.toesbieya.jxc.system.model.vo.RoleSearch;
import cn.toesbieya.jxc.system.service.SysRoleService; import cn.toesbieya.jxc.system.service.RoleService;
import cn.toesbieya.jxc.web.common.utils.SessionUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RequestMapping("role") @RequestMapping("role")
@RestController @RestController
public class SysRoleController { public class RoleController {
@Resource @Resource
private SysRoleService roleService; private RoleService service;
@GetMapping("get") @GetMapping("get")
public Result get() { public Result get() {
return Result.success(roleService.get()); return Result.success(service.get());
} }
@PostMapping("search") @PostMapping("search")
public Result search(@RequestBody RoleSearch vo) { public Result search(@RequestBody RoleSearch vo) {
return Result.success(roleService.search(vo)); return Result.success(service.search(vo));
} }
@PostMapping("add") @PostMapping("add")
public Result add(HttpServletRequest request, @RequestBody SysRole role) { public Result add(@RequestBody SysRole role) {
if (StringUtils.isEmpty(role.getName()) if (StringUtils.isEmpty(role.getName())
|| role.getStatus() == null) { || role.getStatus() == null) {
return Result.fail("添加失败,参数错误"); return Result.fail("添加失败,参数错误");
} }
SysUser user = SessionUtil.get(request); SysUser user = SessionUtil.get();
role.setId(null); role.setId(null);
role.setCid(user.getId()); role.setCid(user.getId());
role.setCname(user.getName()); role.setCname(user.getName());
role.setCtime(System.currentTimeMillis()); role.setCtime(System.currentTimeMillis());
return roleService.add(role); return service.add(role);
} }
@PostMapping("update") @PostMapping("update")
@ -53,7 +52,7 @@ public class SysRoleController {
return Result.fail("修改失败,参数错误"); return Result.fail("修改失败,参数错误");
} }
return roleService.update(role); return service.update(role);
} }
@PostMapping("del") @PostMapping("del")
@ -62,6 +61,6 @@ public class SysRoleController {
return Result.fail("删除失败,参数错误"); return Result.fail("删除失败,参数错误");
} }
return roleService.del(role); return service.del(role);
} }
} }

@ -3,7 +3,7 @@ package cn.toesbieya.jxc.system.controller;
import cn.toesbieya.jxc.common.model.entity.SysSupplier; import cn.toesbieya.jxc.common.model.entity.SysSupplier;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.model.vo.SupplierSearch; import cn.toesbieya.jxc.system.model.vo.SupplierSearch;
import cn.toesbieya.jxc.system.service.SysSupplierService; import cn.toesbieya.jxc.system.service.SupplierService;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -11,18 +11,18 @@ import javax.annotation.Resource;
@RestController @RestController
@RequestMapping("supplier") @RequestMapping("supplier")
public class SysSupplierController { public class SupplierController {
@Resource @Resource
private SysSupplierService supplierService; private SupplierService service;
@GetMapping("getLimitRegion") @GetMapping("getLimitRegion")
public Result getLimitRegion() { public Result getLimitRegion() {
return Result.success(supplierService.getLimitRegion()); return Result.success(service.getLimitRegion());
} }
@PostMapping("search") @PostMapping("search")
public Result search(@RequestBody SupplierSearch vo) { public Result search(@RequestBody SupplierSearch vo) {
return Result.success(supplierService.search(vo)); return Result.success(service.search(vo));
} }
@PostMapping("add") @PostMapping("add")
@ -32,21 +32,19 @@ public class SysSupplierController {
supplier.setId(null); supplier.setId(null);
supplier.setCtime(System.currentTimeMillis()); supplier.setCtime(System.currentTimeMillis());
return supplierService.add(supplier); return service.add(supplier);
} }
@PostMapping("update") @PostMapping("update")
public Result update(@RequestBody SysSupplier supplier) { public Result update(@RequestBody SysSupplier supplier) {
String errMsg = validateUpdateParam(supplier); String errMsg = validateUpdateParam(supplier);
if (errMsg != null) return Result.fail("修改失败," + errMsg); return errMsg == null ? service.update(supplier) : Result.fail("修改失败," + errMsg);
return supplierService.update(supplier);
} }
@PostMapping("del") @PostMapping("del")
public Result del(@RequestBody SysSupplier supplier) { public Result del(@RequestBody SysSupplier supplier) {
if (supplier.getId() == null) return Result.fail("删除失败,参数错误"); if (supplier.getId() == null) return Result.fail("删除失败,参数错误");
return supplierService.del(supplier); return service.del(supplier);
} }
private String validateCreateParam(SysSupplier supplier) { private String validateCreateParam(SysSupplier supplier) {

@ -1,26 +0,0 @@
package cn.toesbieya.jxc.system.controller;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.service.SysResourceService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("resource")
public class SysResourceController {
@Resource
private SysResourceService resourceService;
@GetMapping("get")
public Result get() {
return Result.success(resourceService.get());
}
@GetMapping("getAll")
public Result getAll() {
return Result.success(resourceService.getAll());
}
}

@ -4,7 +4,7 @@ import cn.toesbieya.jxc.common.model.entity.RecUserAction;
import cn.toesbieya.jxc.common.model.entity.SysUser; import cn.toesbieya.jxc.common.model.entity.SysUser;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.model.vo.UserSearch; import cn.toesbieya.jxc.system.model.vo.UserSearch;
import cn.toesbieya.jxc.system.service.SysUserService; import cn.toesbieya.jxc.system.service.UserService;
import cn.toesbieya.jxc.web.common.utils.ThreadUtil; import cn.toesbieya.jxc.web.common.utils.ThreadUtil;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -18,13 +18,13 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("user") @RequestMapping("user")
public class SysUserController { public class UserController {
@Resource @Resource
private SysUserService userService; private UserService service;
@PostMapping("search") @PostMapping("search")
public Result search(@RequestBody UserSearch vo) { public Result search(@RequestBody UserSearch vo) {
return Result.success(userService.search(vo)); return Result.success(service.search(vo));
} }
@PostMapping("add") @PostMapping("add")
@ -33,7 +33,7 @@ public class SysUserController {
if (errMsg != null) { if (errMsg != null) {
return Result.fail(errMsg); return Result.fail(errMsg);
} }
return userService.add(user); return service.add(user);
} }
@PostMapping("update") @PostMapping("update")
@ -42,7 +42,7 @@ public class SysUserController {
if (errMsg != null) { if (errMsg != null) {
return Result.fail(errMsg); return Result.fail(errMsg);
} }
return userService.update(user); return service.update(user);
} }
@PostMapping("del") @PostMapping("del")
@ -50,7 +50,7 @@ public class SysUserController {
if (user.getId() == null) { if (user.getId() == null) {
return Result.fail("删除失败"); return Result.fail("删除失败");
} }
return userService.del(user); return service.del(user);
} }
@PostMapping("kick") @PostMapping("kick")
@ -62,7 +62,7 @@ public class SysUserController {
List<String> names = users.stream().map(SysUser::getName).collect(Collectors.toList()); List<String> names = users.stream().map(SysUser::getName).collect(Collectors.toList());
action.setAction("踢出用户:【" + String.join(",", names) + "】"); action.setAction("踢出用户:【" + String.join(",", names) + "】");
return userService.kick(users); return service.kick(users);
} }
@PostMapping("resetPwd") @PostMapping("resetPwd")
@ -70,7 +70,7 @@ public class SysUserController {
if (user.getId() == null || StringUtils.isEmpty(user.getName())) { if (user.getId() == null || StringUtils.isEmpty(user.getName())) {
return Result.fail("参数错误"); return Result.fail("参数错误");
} }
return userService.resetPwd(user); return service.resetPwd(user);
} }
private String validateUserCreateParam(SysUser user) { private String validateUserCreateParam(SysUser user) {

@ -16,12 +16,12 @@ import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class SysCategoryService { public class CategoryService {
@Resource @Resource
private SysCategoryMapper categoryMapper; private SysCategoryMapper mapper;
public List<SysCategory> getAll() { public List<SysCategory> getAll() {
return categoryMapper.selectList(null); return mapper.selectList(null);
} }
public List<SysCategory> search(CategorySearch vo) { public List<SysCategory> search(CategorySearch vo) {
@ -34,7 +34,7 @@ public class SysCategoryService {
Long startTime = vo.getStartTime(); Long startTime = vo.getStartTime();
Long endTime = vo.getEndTime(); Long endTime = vo.getEndTime();
return categoryMapper.selectList( return mapper.selectList(
Wrappers.lambdaQuery(SysCategory.class) Wrappers.lambdaQuery(SysCategory.class)
.eq(id != null, SysCategory::getId, id) .eq(id != null, SysCategory::getId, id)
.inSql(!StringUtils.isEmpty(ids), SysCategory::getId, ids) .inSql(!StringUtils.isEmpty(ids), SysCategory::getId, ids)
@ -54,7 +54,7 @@ public class SysCategoryService {
String err = check(category); String err = check(category);
if (err != null) return Result.fail("添加失败," + err); if (err != null) return Result.fail("添加失败," + err);
int rows = categoryMapper.insert(category); int rows = mapper.insert(category);
return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败");
} }
@ -64,7 +64,7 @@ public class SysCategoryService {
String err = check(category); String err = check(category);
if (err != null) return Result.fail("修改失败," + err); if (err != null) return Result.fail("修改失败," + err);
int rows = categoryMapper.update( int rows = mapper.update(
null, null,
Wrappers.lambdaUpdate(SysCategory.class) Wrappers.lambdaUpdate(SysCategory.class)
.set(SysCategory::getPid, category.getPid()) .set(SysCategory::getPid, category.getPid())
@ -79,31 +79,26 @@ public class SysCategoryService {
@Lock("'category'+#category.id") @Lock("'category'+#category.id")
public Result del(SysCategory category) { public Result del(SysCategory category) {
Integer cid = category.getId(); Integer cid = category.getId();
if (hasChildren(cid)) { if (hasChildren(cid)) {
return Result.fail("请先删除该分类下的子节点"); return Result.fail("请先删除该分类下的子节点");
} }
if (mapper.checkIsUse(cid)) {
if (categoryMapper.checkIsUse(cid)) {
return Result.fail("该分类已在业务中使用,不可删除"); return Result.fail("该分类已在业务中使用,不可删除");
} }
int rows = mapper.deleteById(cid);
int rows = categoryMapper.deleteById(cid);
return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试");
} }
private String check(SysCategory category) { private String check(SysCategory category) {
//当该分类不是顶级节点时,判断其父节点是否允许有下级 //当该分类不是顶级节点时,判断其父节点是否允许有下级
if (category.getPid() != 0) { if (!category.getPid().equals(0)) {
SysCategory parent = categoryMapper.selectById(category.getPid()); SysCategory parent = mapper.selectById(category.getPid());
if (parent == null || parent.getType() == 1) { if (parent == null || parent.getType() == 1) {
return "父节点状态变更,请刷新后重试"; return "父节点状态变更,请刷新后重试";
} }
} }
Integer id = category.getId(); Integer id = category.getId();
Integer exist = mapper.selectCount(
Integer exist = categoryMapper.selectCount(
Wrappers.lambdaQuery(SysCategory.class) Wrappers.lambdaQuery(SysCategory.class)
.eq(SysCategory::getName, category.getName()) .eq(SysCategory::getName, category.getName())
.ne(id != null, SysCategory::getId, id) .ne(id != null, SysCategory::getId, id)
@ -111,17 +106,14 @@ public class SysCategoryService {
if (exist != null && exist > 0) { if (exist != null && exist > 0) {
return String.format("分类【%s】已存在", category.getName()); return String.format("分类【%s】已存在", category.getName());
} }
if (id != null && category.getType() == 1 && hasChildren(id)) {
Integer cid = category.getId();
if (cid != null && category.getType() == 1 && hasChildren(cid)) {
return "该分类下存在子节点,不能改为实体类型"; return "该分类下存在子节点,不能改为实体类型";
} }
return null; return null;
} }
private boolean hasChildren(Integer id) { private boolean hasChildren(Integer id) {
Integer checkNum = categoryMapper.selectCount( Integer checkNum = mapper.selectCount(
Wrappers.lambdaQuery(SysCategory.class) Wrappers.lambdaQuery(SysCategory.class)
.eq(SysCategory::getPid, id) .eq(SysCategory::getPid, id)
); );

@ -21,7 +21,7 @@ import javax.annotation.Resource;
import java.util.*; import java.util.*;
@Service @Service
public class SysCustomerService { public class CustomerService {
@Resource @Resource
private SysCustomerMapper customerMapper; private SysCustomerMapper customerMapper;
@Resource @Resource
@ -90,7 +90,6 @@ public class SysCustomerService {
if (isNameExist(customer.getName(), null)) { if (isNameExist(customer.getName(), null)) {
return Result.fail("添加失败,客户【" + customer.getName() + "】已存在"); return Result.fail("添加失败,客户【" + customer.getName() + "】已存在");
} }
int rows = customerMapper.insert(customer); int rows = customerMapper.insert(customer);
return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败");
} }
@ -101,7 +100,7 @@ public class SysCustomerService {
String name = customer.getName(); String name = customer.getName();
if (isNameExist(name, id)) { if (isNameExist(name, id)) {
return Result.fail("修改失败,客户【" + name + "】已存在"); return Result.fail(String.format("修改失败,客户【%s】已存在", name));
} }
int rows = customerMapper.update( int rows = customerMapper.update(
@ -129,7 +128,7 @@ public class SysCustomerService {
return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试");
} }
public boolean isNameExist(String name, Integer id) { private boolean isNameExist(String name, Integer id) {
Integer num = customerMapper.selectCount( Integer num = customerMapper.selectCount(
Wrappers.lambdaQuery(SysCustomer.class) Wrappers.lambdaQuery(SysCustomer.class)
.eq(SysCustomer::getName, name) .eq(SysCustomer::getName, name)

@ -23,11 +23,11 @@ import java.util.stream.Collectors;
@Service @Service
@org.apache.dubbo.config.annotation.Service @org.apache.dubbo.config.annotation.Service
public class SysDepartmentService implements DepartmentApi { public class DepartmentService implements DepartmentApi {
@Resource @Resource
private SysDepartmentMapper departmentMapper; private SysDepartmentMapper departmentMapper;
@Resource @Resource
private SysRoleService roleService; private RoleService roleService;
public List<DepartmentVo> getAll() { public List<DepartmentVo> getAll() {
return departmentMapper.selectChildrenById(1); return departmentMapper.selectChildrenById(1);
@ -91,7 +91,6 @@ public class SysDepartmentService implements DepartmentApi {
if (isNameExist(null, department.getPid(), department.getName())) { if (isNameExist(null, department.getPid(), department.getName())) {
return Result.fail("添加失败,存在名称相同的同级部门"); return Result.fail("添加失败,存在名称相同的同级部门");
} }
int rows = departmentMapper.insert(department); int rows = departmentMapper.insert(department);
return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败");
} }
@ -101,7 +100,6 @@ public class SysDepartmentService implements DepartmentApi {
if (isNameExist(department.getId(), department.getPid(), department.getName())) { if (isNameExist(department.getId(), department.getPid(), department.getName())) {
return Result.fail("修改失败,存在名称相同的同级部门"); return Result.fail("修改失败,存在名称相同的同级部门");
} }
departmentMapper.updateById(department); departmentMapper.updateById(department);
return Result.success("修改成功"); return Result.success("修改成功");
} }
@ -120,7 +118,6 @@ public class SysDepartmentService implements DepartmentApi {
.ne(id != null, SysDepartment::getId, id) .ne(id != null, SysDepartment::getId, id)
.eq(SysDepartment::getPid, pid) .eq(SysDepartment::getPid, pid)
); );
return num != null && num > 0; return num != null && num > 0;
} }
} }

@ -3,8 +3,9 @@ package cn.toesbieya.jxc.system.service;
import cn.toesbieya.jxc.api.service.system.ResourceApi; import cn.toesbieya.jxc.api.service.system.ResourceApi;
import cn.toesbieya.jxc.common.model.entity.SysResource; import cn.toesbieya.jxc.common.model.entity.SysResource;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.system.mapper.SysResourceMapper;
import cn.toesbieya.jxc.common.model.vo.ResourceVo; import cn.toesbieya.jxc.common.model.vo.ResourceVo;
import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.mapper.SysResourceMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@ -17,22 +18,12 @@ import java.util.List;
@Service @Service
@org.apache.dubbo.config.annotation.Service @org.apache.dubbo.config.annotation.Service
public class SysResourceService implements ResourceApi { public class ResourceService implements ResourceApi {
@Resource @Resource
private SysResourceMapper resourceMapper; private SysResourceMapper mapper;
public List<ResourceVo> get() {
List<SysResource> list = resourceMapper.selectList(
Wrappers.lambdaQuery(SysResource.class)
.eq(SysResource::isAdmin, false)
);
return completeNode(list);
}
public List<ResourceVo> getAll() { public List<ResourceVo> getAll() {
List<SysResource> list = resourceMapper.selectList(null); return completeNode(mapper.selectList(null));
return completeNode(list);
} }
@Override @Override
@ -47,12 +38,17 @@ public class SysResourceService implements ResourceApi {
return Collections.emptyList(); return Collections.emptyList();
} }
List<SysResource> list = resourceMapper.selectList( List<SysResource> list = mapper.selectList(
Wrappers.lambdaQuery(SysResource.class) Wrappers.lambdaQuery(SysResource.class)
.inSql(SysResource::getId, ids) .inSql(SysResource::getId, ids)
); );
return this.completeNode(list); return completeNode(list);
}
public Result update(SysResource resource) {
int rows = mapper.updateById(resource);
return Result.success("修改成功");
} }
private List<ResourceVo> completeNode(List<SysResource> list) { private List<ResourceVo> completeNode(List<SysResource> list) {

@ -1,6 +1,7 @@
package cn.toesbieya.jxc.system.service; package cn.toesbieya.jxc.system.service;
import cn.toesbieya.jxc.api.service.system.RoleApi; import cn.toesbieya.jxc.api.service.system.RoleApi;
import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum;
import cn.toesbieya.jxc.common.model.entity.SysRole; import cn.toesbieya.jxc.common.model.entity.SysRole;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
import cn.toesbieya.jxc.system.mapper.SysRoleMapper; import cn.toesbieya.jxc.system.mapper.SysRoleMapper;
@ -18,21 +19,20 @@ import java.util.List;
@Service @Service
@org.apache.dubbo.config.annotation.Service @org.apache.dubbo.config.annotation.Service
public class SysRoleService implements RoleApi { public class RoleService implements RoleApi {
@Resource @Resource
private SysRoleMapper roleMapper; private SysRoleMapper mapper;
@Override
public SysRole getRoleById(Integer id) {
return id == null ? null : roleMapper.selectById(id);
}
public List<SysRole> get() { public List<SysRole> get() {
return roleMapper.selectList(Wrappers.lambdaQuery(SysRole.class).eq(SysRole::getStatus, 1)); return mapper.selectList(
Wrappers.lambdaQuery(SysRole.class)
.eq(SysRole::getStatus, GeneralStatusEnum.ENABLED.getCode())
);
} }
public List<SysRole> getAll() { @Override
return roleMapper.selectList(null); public SysRole getRoleById(Integer id) {
return id == null ? null : mapper.selectById(id);
} }
public PageResult<SysRole> search(RoleSearch vo) { public PageResult<SysRole> search(RoleSearch vo) {
@ -56,8 +56,7 @@ public class SysRoleService implements RoleApi {
.orderByDesc(SysRole::getCtime); .orderByDesc(SysRole::getCtime);
PageHelper.startPage(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize());
return new PageResult<>(mapper.selectList(wrapper));
return new PageResult<>(roleMapper.selectList(wrapper));
} }
@UserAction("'添加角色:'+#role.name") @UserAction("'添加角色:'+#role.name")
@ -66,7 +65,7 @@ public class SysRoleService implements RoleApi {
return Result.fail("添加失败,角色名称重复"); return Result.fail("添加失败,角色名称重复");
} }
int rows = roleMapper.insert(role); int rows = mapper.insert(role);
return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败");
} }
@ -79,7 +78,7 @@ public class SysRoleService implements RoleApi {
return Result.fail("修改失败,角色名称重复"); return Result.fail("修改失败,角色名称重复");
} }
int rows = roleMapper.update( mapper.update(
null, null,
Wrappers.lambdaUpdate(SysRole.class) Wrappers.lambdaUpdate(SysRole.class)
.set(SysRole::getName, name) .set(SysRole::getName, name)
@ -89,12 +88,12 @@ public class SysRoleService implements RoleApi {
.set(SysRole::getResourceId, role.getResourceId()) .set(SysRole::getResourceId, role.getResourceId())
.eq(SysRole::getId, id) .eq(SysRole::getId, id)
); );
return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新重试"); return Result.success("修改成功");
} }
@UserAction("'删除角色:'+#role.name") @UserAction("'删除角色:'+#role.name")
public Result del(SysRole role) { public Result del(SysRole role) {
int rows = roleMapper.delete( int rows = mapper.delete(
Wrappers.lambdaQuery(SysRole.class) Wrappers.lambdaQuery(SysRole.class)
.eq(SysRole::getId, role.getId()) .eq(SysRole::getId, role.getId())
.eq(SysRole::getStatus, 0) .eq(SysRole::getStatus, 0)
@ -103,7 +102,7 @@ public class SysRoleService implements RoleApi {
} }
private boolean isNameExist(String name, Integer id) { private boolean isNameExist(String name, Integer id) {
Integer num = roleMapper.selectCount( Integer num = mapper.selectCount(
Wrappers.lambdaQuery(SysRole.class) Wrappers.lambdaQuery(SysRole.class)
.eq(SysRole::getName, name) .eq(SysRole::getName, name)
.ne(id != null, SysRole::getId, id) .ne(id != null, SysRole::getId, id)

@ -1,5 +1,6 @@
package cn.toesbieya.jxc.system.service; package cn.toesbieya.jxc.system.service;
import cn.toesbieya.jxc.common.enumeration.GeneralStatusEnum;
import cn.toesbieya.jxc.common.model.entity.SysRegion; import cn.toesbieya.jxc.common.model.entity.SysRegion;
import cn.toesbieya.jxc.common.model.entity.SysSupplier; import cn.toesbieya.jxc.common.model.entity.SysSupplier;
import cn.toesbieya.jxc.common.model.vo.Result; import cn.toesbieya.jxc.common.model.vo.Result;
@ -21,7 +22,7 @@ import javax.annotation.Resource;
import java.util.*; import java.util.*;
@Service @Service
public class SysSupplierService { public class SupplierService {
@Resource @Resource
private SysSupplierMapper supplierMapper; private SysSupplierMapper supplierMapper;
@Resource @Resource
@ -87,9 +88,8 @@ public class SysSupplierService {
@UserAction("'添加供应商:'+ #supplier.name") @UserAction("'添加供应商:'+ #supplier.name")
public Result add(SysSupplier supplier) { public Result add(SysSupplier supplier) {
if (isNameExist(supplier.getName(), null)) { if (isNameExist(supplier.getName(), null)) {
return Result.fail("添加失败,供应商【" + supplier.getName() + "】已存在"); return Result.fail(String.format("添加失败,供应商【%s】已存在", supplier.getName()));
} }
int rows = supplierMapper.insert(supplier); int rows = supplierMapper.insert(supplier);
return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败");
} }
@ -100,10 +100,10 @@ public class SysSupplierService {
String name = supplier.getName(); String name = supplier.getName();
if (isNameExist(name, id)) { if (isNameExist(name, id)) {
return Result.fail("修改失败,供应商【" + name + "】已存在"); return Result.fail(String.format("修改失败,供应商【%s】已存在", name));
} }
int rows = supplierMapper.update( supplierMapper.update(
null, null,
Wrappers.lambdaUpdate(SysSupplier.class) Wrappers.lambdaUpdate(SysSupplier.class)
.set(SysSupplier::getName, name) .set(SysSupplier::getName, name)
@ -115,7 +115,7 @@ public class SysSupplierService {
.set(SysSupplier::getRemark, supplier.getRemark()) .set(SysSupplier::getRemark, supplier.getRemark())
.eq(SysSupplier::getId, id) .eq(SysSupplier::getId, id)
); );
return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新重试"); return Result.success("修改成功");
} }
@UserAction("删除供应商:'+ #supplier.name") @UserAction("删除供应商:'+ #supplier.name")
@ -123,12 +123,12 @@ public class SysSupplierService {
int rows = supplierMapper.delete( int rows = supplierMapper.delete(
Wrappers.lambdaQuery(SysSupplier.class) Wrappers.lambdaQuery(SysSupplier.class)
.eq(SysSupplier::getId, supplier.getId()) .eq(SysSupplier::getId, supplier.getId())
.eq(SysSupplier::getStatus, 0) .eq(SysSupplier::getStatus, GeneralStatusEnum.DISABLED.getCode())
); );
return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试");
} }
public boolean isNameExist(String name, Integer id) { private boolean isNameExist(String name, Integer id) {
Integer num = supplierMapper.selectCount( Integer num = supplierMapper.selectCount(
Wrappers.lambdaQuery(SysSupplier.class) Wrappers.lambdaQuery(SysSupplier.class)
.eq(SysSupplier::getName, name) .eq(SysSupplier::getName, name)

@ -24,7 +24,7 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
public class SysUserService { public class UserService {
private static final String DEFAULT_PWD = DigestUtils.md5DigestAsHex("123456".getBytes()); private static final String DEFAULT_PWD = DigestUtils.md5DigestAsHex("123456".getBytes());
@Resource @Resource
private SysUserMapper userMapper; private SysUserMapper userMapper;
@ -41,7 +41,7 @@ public class SysUserService {
Wrapper<SysUser> wrapper = Wrapper<SysUser> wrapper =
Wrappers.lambdaQuery(SysUser.class) Wrappers.lambdaQuery(SysUser.class)
.eq(SysUser::isAdmin, false) .eq(SysUser::isAdmin, 0)
.eq(id != null, SysUser::getId, id) .eq(id != null, SysUser::getId, id)
.like(!StringUtils.isEmpty(name), SysUser::getName, name) .like(!StringUtils.isEmpty(name), SysUser::getName, name)
.inSql(!StringUtils.isEmpty(roleIds), SysUser::getRole, roleIds) .inSql(!StringUtils.isEmpty(roleIds), SysUser::getRole, roleIds)
@ -51,9 +51,7 @@ public class SysUserService {
.orderByDesc(SysUser::getCtime); .orderByDesc(SysUser::getCtime);
PageHelper.startPage(vo.getPage(), vo.getPageSize()); PageHelper.startPage(vo.getPage(), vo.getPageSize());
List<SysUser> users = userMapper.selectList(wrapper); List<SysUser> users = userMapper.selectList(wrapper);
PageResult<SysUser> pageResult = new PageResult<>(users); PageResult<SysUser> pageResult = new PageResult<>(users);
int userNum = users.size(); int userNum = users.size();
@ -115,7 +113,7 @@ public class SysUserService {
return Result.fail("该用户名称已存在"); return Result.fail("该用户名称已存在");
} }
int rows = userMapper.update( userMapper.update(
null, null,
Wrappers.lambdaUpdate(SysUser.class) Wrappers.lambdaUpdate(SysUser.class)
.set(SysUser::getName, name) .set(SysUser::getName, name)
@ -125,7 +123,7 @@ public class SysUserService {
.eq(SysUser::getId, id) .eq(SysUser::getId, id)
); );
return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新后重试"); return Result.success("修改成功");
} }
@UserAction("'删除用户:'+#user.name") @UserAction("'删除用户:'+#user.name")
@ -134,7 +132,7 @@ public class SysUserService {
int rows = userMapper.delete( int rows = userMapper.delete(
Wrappers.lambdaQuery(SysUser.class) Wrappers.lambdaQuery(SysUser.class)
.eq(SysUser::getId, user.getId()) .eq(SysUser::getId, user.getId())
.eq(SysUser::isAdmin, false) .eq(SysUser::isAdmin, 0)
); );
WebSocketUtil.sendLogoutEvent(Collections.singletonList(user.getId()), "该用户已删除"); WebSocketUtil.sendLogoutEvent(Collections.singletonList(user.getId()), "该用户已删除");
return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试");
@ -164,13 +162,12 @@ public class SysUserService {
return rows > 0 ? Result.success() : Result.fail("重置失败,未匹配到用户"); return rows > 0 ? Result.success() : Result.fail("重置失败,未匹配到用户");
} }
public boolean isNameExist(String name, Integer id) { private boolean isNameExist(String name, Integer id) {
Integer num = userMapper.selectCount( Integer num = userMapper.selectCount(
Wrappers.lambdaQuery(SysUser.class) Wrappers.lambdaQuery(SysUser.class)
.eq(SysUser::getName, name) .eq(SysUser::getName, name)
.ne(id != null, SysUser::getId, id) .ne(id != null, SysUser::getId, id)
); );
return num != null && num > 0; return num != null && num > 0;
} }
} }

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save