diff --git a/java/db/my.rar b/java/db/my.rar index 339b668..24f66b4 100644 Binary files a/java/db/my.rar and b/java/db/my.rar differ diff --git a/java/local/pom.xml b/java/local/pom.xml index 8ebd324..00c9bde 100644 --- a/java/local/pom.xml +++ b/java/local/pom.xml @@ -16,7 +16,7 @@ 1.8 - 2.1.0 + 3.3.2 1.2.12 1.7.18 28.1-jre @@ -56,15 +56,15 @@ - - org.mybatis.spring.boot - mybatis-spring-boot-starter - ${mybatis.version} - mysql mysql-connector-java + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + com.github.pagehelper pagehelper-spring-boot-starter diff --git a/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java b/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java index f2fd662..be6afb9 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/aspect/UserActionAspect.java @@ -26,7 +26,7 @@ import java.lang.reflect.Method; @Order(Integer.MAX_VALUE - 2) public class UserActionAspect { @Resource - private RecService recService; + private RecService service; @Pointcut("@annotation(cn.toesbieya.jxc.annoation.UserAction)&&execution(cn.toesbieya.jxc.model.vo.Result cn.toesbieya.jxc..*.*(..))") public void pointCut() { @@ -36,10 +36,13 @@ public class UserActionAspect { @Around("pointCut()") public Object around(ProceedingJoinPoint pjp) throws Throwable { RecUserAction action = ThreadUtil.getAction(); + if (action == null) { return pjp.proceed(); } + action.setTime(System.currentTimeMillis()); + MethodSignature signature = (MethodSignature) pjp.getSignature(); Method method = signature.getMethod(); Object[] args = pjp.getArgs(); @@ -57,12 +60,13 @@ public class UserActionAspect { Result result = (Result) pjp.proceed(); if (result.isSuccess()) { - recService.insertUserAction(action, UserActionEnum.SUCCESS); + action.setType(UserActionEnum.SUCCESS.getCode()); } else { + action.setType(UserActionEnum.FAIL.getCode()); action.setError(result.getMsg()); - recService.insertUserAction(action, UserActionEnum.FAIL); } + service.insertUserAction(action); return result; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/constant/DocConstant.java b/java/local/src/main/java/cn/toesbieya/jxc/constant/DocConstant.java new file mode 100644 index 0000000..3608903 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/constant/DocConstant.java @@ -0,0 +1,7 @@ +package cn.toesbieya.jxc.constant; + +public interface DocConstant { + String UPDATE_DOC_LOCK_KEY = "UPDATE_DOC"; + String[] DOC_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"}; + String DOC_TYPE_REDIS_KEY = "DOC_ID"; +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/constant/DocumentConstant.java b/java/local/src/main/java/cn/toesbieya/jxc/constant/DocumentConstant.java deleted file mode 100644 index 4241946..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/constant/DocumentConstant.java +++ /dev/null @@ -1,7 +0,0 @@ -package cn.toesbieya.jxc.constant; - -public interface DocumentConstant { - String UPDATE_DOCUMENTS_LOCK_KEY = "UPDATE_DOCUMENTS"; - String[] DOCUMENT_TYPE = {"CGDD", "CGRK", "CGTH", "XSDD", "XSCK", "XSTH"}; - String DOCUMENT_TYPE_REDIS_KEY = "documentsID"; -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizDocumentHistoryController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/BizDocumentHistoryController.java deleted file mode 100644 index 4e75f07..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizDocumentHistoryController.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.toesbieya.jxc.controller; - -import cn.toesbieya.jxc.model.vo.search.DocumentHistorySearch; -import cn.toesbieya.jxc.service.BizDocumentHistoryService; -import cn.toesbieya.jxc.model.vo.Result; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; - -@RestController -@RequestMapping("document/history") -public class BizDocumentHistoryController { - @Resource - private BizDocumentHistoryService service; - - @GetMapping("get") - public Result get(@RequestParam("pid") String pid) { - return Result.success(service.getByPid(pid)); - } - - @PostMapping("search") - public Result search(@RequestBody DocumentHistorySearch vo) { - return Result.success(service.search(vo)); - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java index 6acb996..857996c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/RecController.java @@ -18,7 +18,7 @@ import javax.annotation.Resource; @RequestMapping("record") public class RecController { @Resource - private RecService recService; + private RecService service; @PostMapping("searchLoginHistory") public Result searchLoginHistory(@RequestBody LoginHistorySearch vo) { @@ -27,7 +27,7 @@ public class RecController { vo.setUid(user.getId()); vo.setStartTime(DateUtil.getTimestampBeforeNow(7)); - return Result.success(recService.searchLoginHistory(vo)); + return Result.success(service.searchLoginHistory(vo)); } @PostMapping("searchUserAction") @@ -37,6 +37,6 @@ public class RecController { vo.setUid(user.getId()); vo.setStartTime(DateUtil.getTimestampBeforeNow(7)); - return Result.success(recService.searchUserAction(vo)); + return Result.success(service.searchUserAction(vo)); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java index f5fc3ec..4fce2cd 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/StatisticController.java @@ -12,25 +12,25 @@ import javax.annotation.Resource; @RequestMapping("statistic") public class StatisticController { @Resource - private StatisticService statisticService; + private StatisticService service; @GetMapping("getFourBlock") public Result getFourBlock() { - return Result.success(statisticService.getFourBlock()); + return Result.success(service.getFourBlock()); } @GetMapping("getDailyProfitStat") public Result getDailyProfitStat() { - return Result.success(statisticService.getDailyProfitStat()); + return Result.success(service.getDailyProfitStat()); } @GetMapping("getDailyFinishOrder") public Result getDailyFinishOrder() { - return Result.success(statisticService.getDailyFinishOrder()); + return Result.success(service.getDailyFinishOrder()); } @GetMapping("getTotalProfitGoods") public Result getTotalProfitGoods() { - return Result.success(statisticService.getTotalProfitGoods()); + return Result.success(service.getTotalProfitGoods()); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/HistoryController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/HistoryController.java new file mode 100644 index 0000000..99b6bfb --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/HistoryController.java @@ -0,0 +1,20 @@ +package cn.toesbieya.jxc.controller.doc; + +import cn.toesbieya.jxc.model.vo.search.DocHistorySearch; +import cn.toesbieya.jxc.service.doc.BizDocHistoryService; +import cn.toesbieya.jxc.model.vo.Result; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@RestController +@RequestMapping("doc/history") +public class HistoryController { + @Resource + private BizDocHistoryService service; + + @PostMapping("search") + public Result search(@RequestBody DocHistorySearch vo) { + return Result.success(service.search(vo)); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseInboundController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseInboundController.java similarity index 84% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseInboundController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseInboundController.java index 3425021..27df739 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseInboundController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseInboundController.java @@ -1,14 +1,15 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.doc; import cn.toesbieya.jxc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.model.entity.BizPurchaseInbound; import cn.toesbieya.jxc.model.entity.BizPurchaseInboundSub; +import cn.toesbieya.jxc.model.vo.PurchaseInboundVo; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.PurchaseInboundSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.doc.BizPurchaseInboundService; import cn.toesbieya.jxc.utils.SessionUtil; -import cn.toesbieya.jxc.service.BizPurchaseInboundService; -import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -19,16 +20,16 @@ import java.math.BigDecimal; import java.util.List; @RestController -@RequestMapping("document/purchase/inbound") -public class BizPurchaseInboundController { +@RequestMapping("doc/purchase/inbound") +public class PurchaseInboundController { @Resource private BizPurchaseInboundService service; @GetMapping("getById") public Result getById(@RequestParam String id) { if (StringUtils.isEmpty(id)) return Result.fail("参数错误"); - BizPurchaseInbound inbound = service.getById(id); - return inbound == null ? Result.fail("获取单据信息失败") : Result.success(inbound); + PurchaseInboundVo vo = service.getById(id); + return vo == null ? Result.fail("获取单据信息失败") : Result.success(vo); } @GetMapping("getSubById") @@ -48,7 +49,7 @@ public class BizPurchaseInboundController { } @PostMapping("add") - public Result add(@RequestBody BizPurchaseInbound vo) { + public Result add(@RequestBody PurchaseInboundVo vo) { String errMsg = validateSub(vo.getData()); if (errMsg != null) return Result.fail(errMsg); @@ -62,7 +63,7 @@ public class BizPurchaseInboundController { } @PostMapping("update") - public Result update(@RequestBody BizPurchaseInbound vo) { + public Result update(@RequestBody PurchaseInboundVo vo) { String errMsg = validateUpdate(vo); if (errMsg == null) errMsg = validateSub(vo.getData()); if (errMsg != null) return Result.fail(errMsg); @@ -71,7 +72,7 @@ public class BizPurchaseInboundController { } @PostMapping("commit") - public Result commit(@RequestBody BizPurchaseInbound vo) { + public Result commit(@RequestBody PurchaseInboundVo vo) { boolean isFirst = StringUtils.isEmpty(vo.getId()); String errMsg = validateSub(vo.getData()); @@ -89,18 +90,18 @@ public class BizPurchaseInboundController { } @PostMapping("withdraw") - public Result withdraw(@RequestBody DocumentStatusUpdate vo) { + public Result withdraw(@RequestBody DocStatusUpdate vo) { return service.withdraw(vo, SessionUtil.get()); } @PostMapping("pass") - public Result pass(@RequestBody DocumentStatusUpdate vo) { + public Result pass(@RequestBody DocStatusUpdate vo) { if (StringUtils.isEmpty(vo.getPid())) return Result.fail("参数错误"); return service.pass(vo, SessionUtil.get()); } @PostMapping("reject") - public Result reject(@RequestBody DocumentStatusUpdate vo) { + public Result reject(@RequestBody DocStatusUpdate vo) { return service.reject(vo, SessionUtil.get()); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseOrderController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseOrderController.java similarity index 85% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseOrderController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseOrderController.java index 4c83dba..b943430 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizPurchaseOrderController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseOrderController.java @@ -1,13 +1,14 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.doc; import cn.toesbieya.jxc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.model.entity.BizPurchaseOrder; import cn.toesbieya.jxc.model.entity.BizPurchaseOrderSub; +import cn.toesbieya.jxc.model.vo.PurchaseOrderVo; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.PurchaseOrderSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; -import cn.toesbieya.jxc.service.BizPurchaseOrderService; -import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.doc.BizPurchaseOrderService; import cn.toesbieya.jxc.utils.SessionUtil; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -19,16 +20,16 @@ import java.math.BigDecimal; import java.util.List; @RestController -@RequestMapping("document/purchase/order") -public class BizPurchaseOrderController { +@RequestMapping("doc/purchase/order") +public class PurchaseOrderController { @Resource private BizPurchaseOrderService service; @GetMapping("getById") public Result getById(@RequestParam String id) { if (StringUtils.isEmpty(id)) return Result.fail("参数错误"); - BizPurchaseOrder order = service.getById(id); - return order == null ? Result.fail("获取单据信息失败") : Result.success(order); + PurchaseOrderVo vo = service.getById(id); + return vo == null ? Result.fail("获取单据信息失败") : Result.success(vo); } @GetMapping("getSubById") @@ -48,7 +49,7 @@ public class BizPurchaseOrderController { } @PostMapping("add") - public Result add(@RequestBody BizPurchaseOrder vo) { + public Result add(@RequestBody PurchaseOrderVo vo) { if (vo.getSid() == null || StringUtils.isEmpty(vo.getSname()) || vo.getTotal() == null) { @@ -67,7 +68,7 @@ public class BizPurchaseOrderController { } @PostMapping("update") - public Result update(@RequestBody BizPurchaseOrder vo) { + public Result update(@RequestBody PurchaseOrderVo vo) { String errMsg = validateUpdate(vo); if (errMsg == null) errMsg = validateSub(vo.getData()); if (errMsg != null) return Result.fail(errMsg); @@ -76,7 +77,7 @@ public class BizPurchaseOrderController { } @PostMapping("commit") - public Result commit(@RequestBody BizPurchaseOrder vo) { + public Result commit(@RequestBody PurchaseOrderVo vo) { boolean isFirst = StringUtils.isEmpty(vo.getId()); String errMsg = validateSub(vo.getData()); @@ -96,17 +97,17 @@ public class BizPurchaseOrderController { } @PostMapping("withdraw") - public Result withdraw(@RequestBody DocumentStatusUpdate vo) { + public Result withdraw(@RequestBody DocStatusUpdate vo) { return service.withdraw(vo, SessionUtil.get()); } @PostMapping("pass") - public Result pass(@RequestBody DocumentStatusUpdate vo) { + public Result pass(@RequestBody DocStatusUpdate vo) { return service.pass(vo, SessionUtil.get()); } @PostMapping("reject") - public Result reject(@RequestBody DocumentStatusUpdate vo) { + public Result reject(@RequestBody DocStatusUpdate vo) { return service.reject(vo, SessionUtil.get()); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOrderController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOrderController.java similarity index 85% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOrderController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOrderController.java index 2dcaa62..5bca6ac 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOrderController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOrderController.java @@ -1,14 +1,15 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.doc; +import cn.toesbieya.jxc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.model.entity.BizSellOrder; import cn.toesbieya.jxc.model.entity.BizSellOrderSub; -import cn.toesbieya.jxc.utils.SessionUtil; -import cn.toesbieya.jxc.enumeration.DocStatusEnum; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.SellOrderVo; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.SellOrderSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; -import cn.toesbieya.jxc.service.BizSellOrderService; -import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.doc.BizSellOrderService; +import cn.toesbieya.jxc.utils.SessionUtil; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -19,16 +20,16 @@ import java.math.BigDecimal; import java.util.List; @RestController -@RequestMapping("document/sell/order") -public class BizSellOrderController { +@RequestMapping("doc/sell/order") +public class SellOrderController { @Resource private BizSellOrderService service; @GetMapping("getById") public Result getById(@RequestParam String id) { if (StringUtils.isEmpty(id)) return Result.fail("参数错误"); - BizSellOrder order = service.getById(id); - return order == null ? Result.fail("获取单据信息失败") : Result.success(order); + SellOrderVo vo = service.getById(id); + return vo == null ? Result.fail("获取单据信息失败") : Result.success(vo); } @GetMapping("getSubById") @@ -48,7 +49,7 @@ public class BizSellOrderController { } @PostMapping("add") - public Result add(@RequestBody BizSellOrder vo) { + public Result add(@RequestBody SellOrderVo vo) { if (vo.getCustomerId() == null || StringUtils.isEmpty(vo.getCustomerName()) || vo.getTotal() == null) { @@ -68,7 +69,7 @@ public class BizSellOrderController { } @PostMapping("update") - public Result update(@RequestBody BizSellOrder vo) { + public Result update(@RequestBody SellOrderVo vo) { String errMsg = validateUpdate(vo); if (errMsg == null) errMsg = validateSub(vo.getData()); if (errMsg != null) return Result.fail(errMsg); @@ -77,7 +78,7 @@ public class BizSellOrderController { } @PostMapping("commit") - public Result commit(@RequestBody BizSellOrder vo) { + public Result commit(@RequestBody SellOrderVo vo) { boolean isFirst = StringUtils.isEmpty(vo.getId()); String errMsg = validateSub(vo.getData()); @@ -98,17 +99,17 @@ public class BizSellOrderController { } @PostMapping("withdraw") - public Result withdraw(@RequestBody DocumentStatusUpdate vo) { + public Result withdraw(@RequestBody DocStatusUpdate vo) { return service.withdraw(vo, SessionUtil.get()); } @PostMapping("pass") - public Result pass(@RequestBody DocumentStatusUpdate vo) { + public Result pass(@RequestBody DocStatusUpdate vo) { return service.pass(vo, SessionUtil.get()); } @PostMapping("reject") - public Result reject(@RequestBody DocumentStatusUpdate vo) { + public Result reject(@RequestBody DocStatusUpdate vo) { return service.reject(vo, SessionUtil.get()); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOutboundController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOutboundController.java similarity index 85% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOutboundController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOutboundController.java index 09b1895..270c17c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/BizSellOutboundController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOutboundController.java @@ -1,14 +1,15 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.doc; -import cn.toesbieya.jxc.model.entity.BizSellOutboundSub; -import cn.toesbieya.jxc.utils.SessionUtil; import cn.toesbieya.jxc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.model.entity.BizSellOutbound; +import cn.toesbieya.jxc.model.entity.BizSellOutboundSub; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.SellOutboundVo; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.SellOutboundSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; -import cn.toesbieya.jxc.service.BizSellOutboundService; -import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.doc.BizSellOutboundService; +import cn.toesbieya.jxc.utils.SessionUtil; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -19,16 +20,16 @@ import java.math.BigDecimal; import java.util.List; @RestController -@RequestMapping("document/sell/outbound") -public class BizSellOutboundController { +@RequestMapping("doc/sell/outbound") +public class SellOutboundController { @Resource private BizSellOutboundService service; @GetMapping("getById") public Result getById(@RequestParam String id) { if (StringUtils.isEmpty(id)) return Result.fail("参数错误"); - BizSellOutbound outbound = service.getById(id); - return outbound == null ? Result.fail("获取单据信息失败") : Result.success(outbound); + SellOutboundVo vo = service.getById(id); + return vo == null ? Result.fail("获取单据信息失败") : Result.success(vo); } @GetMapping("getSubById") @@ -48,7 +49,7 @@ public class BizSellOutboundController { } @PostMapping("add") - public Result add(@RequestBody BizSellOutbound vo) { + public Result add(@RequestBody SellOutboundVo vo) { String errMsg = validateSub(vo.getData()); if (errMsg != null) return Result.fail(errMsg); @@ -63,7 +64,7 @@ public class BizSellOutboundController { } @PostMapping("update") - public Result update(@RequestBody BizSellOutbound vo) { + public Result update(@RequestBody SellOutboundVo vo) { String errMsg = validateUpdate(vo); if (errMsg == null) errMsg = validateSub(vo.getData()); if (errMsg != null) return Result.fail(errMsg); @@ -72,7 +73,7 @@ public class BizSellOutboundController { } @PostMapping("commit") - public Result commit(@RequestBody BizSellOutbound vo) { + public Result commit(@RequestBody SellOutboundVo vo) { boolean isFirst = StringUtils.isEmpty(vo.getId()); String errMsg = validateSub(vo.getData()); @@ -91,18 +92,18 @@ public class BizSellOutboundController { } @PostMapping("withdraw") - public Result withdraw(@RequestBody DocumentStatusUpdate vo) { + public Result withdraw(@RequestBody DocStatusUpdate vo) { return service.withdraw(vo, SessionUtil.get()); } @PostMapping("pass") - public Result pass(@RequestBody DocumentStatusUpdate vo) { + public Result pass(@RequestBody DocStatusUpdate vo) { if (StringUtils.isEmpty(vo.getPid())) return Result.fail("参数错误"); return service.pass(vo, SessionUtil.get()); } @PostMapping("reject") - public Result reject(@RequestBody DocumentStatusUpdate vo) { + public Result reject(@RequestBody DocStatusUpdate vo) { return service.reject(vo, SessionUtil.get()); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/MsgController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/ManageController.java similarity index 67% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/MsgController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/msg/ManageController.java index bf892ef..035bb3a 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/MsgController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/ManageController.java @@ -1,30 +1,29 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.msg; +import cn.toesbieya.jxc.constant.MsgConstant; import cn.toesbieya.jxc.model.entity.Msg; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.UserVo; -import cn.toesbieya.jxc.model.vo.search.MsgPersonalSearch; import cn.toesbieya.jxc.model.vo.search.MsgSearch; +import cn.toesbieya.jxc.service.msg.MsgService; import cn.toesbieya.jxc.utils.SessionUtil; -import cn.toesbieya.jxc.constant.MsgConstant; -import cn.toesbieya.jxc.service.MsgService; -import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController -@RequestMapping("message") -public class MsgController { +@RequestMapping("message/manage") +public class ManageController { @Resource - private MsgService msgService; + private MsgService service; - @PostMapping("manage/search") + @PostMapping("search") public Result search(@RequestBody MsgSearch vo) { - return Result.success(msgService.search(vo)); + return Result.success(service.search(vo)); } - @PostMapping("manage/add") + @PostMapping("add") public Result add(@RequestBody Msg msg) { String errMsg = validateAdd(msg); if (errMsg != null) return Result.fail(errMsg); @@ -33,19 +32,19 @@ public class MsgController { setAddInfo(user, msg); - return msgService.add(msg); + return service.add(msg); } - @PostMapping("manage/update") + @PostMapping("update") public Result update(@RequestBody Msg msg) { String errMsg = validateAdd(msg); if (errMsg == null) errMsg = validateUpdate(msg); if (errMsg != null) return Result.fail(errMsg); - return msgService.update(msg); + return service.update(msg); } - @PostMapping("manage/publish") + @PostMapping("publish") public Result publish(@RequestBody Msg msg) { boolean isFirstCreate = msg.getId() == null; @@ -62,10 +61,10 @@ public class MsgController { msg.setPtime(System.currentTimeMillis()); msg.setStatus(MsgConstant.STATUS_PUBLISHED); - return msgService.publish(msg); + return service.publish(msg); } - @PostMapping("manage/withdraw") + @PostMapping("withdraw") public Result withdraw(@RequestBody Msg msg) { if (msg.getId() == null) return Result.fail("参数错误"); @@ -76,32 +75,12 @@ public class MsgController { msg.setWtime(System.currentTimeMillis()); msg.setStatus(MsgConstant.STATUS_WITHDREW); - return msgService.withdraw(msg); - } - - @GetMapping("manage/del") - public Result del(@RequestParam Integer id) { - return msgService.del(id); - } - - @PostMapping("user/search") - public Result searchPersonal(@RequestBody MsgPersonalSearch vo) { - UserVo user = SessionUtil.get(); - - vo.setUid(user.getId()); - vo.setCtime(user.getCtime()); - - return Result.success(msgService.searchPersonal(vo)); - } - - @GetMapping("user/read") - public Result read(@RequestParam Integer id) { - return msgService.read(SessionUtil.get(), id); + return service.withdraw(msg); } - @GetMapping("user/readAll") - public Result readAll() { - return msgService.readAll(SessionUtil.get()); + @GetMapping("del") + public Result del(@RequestParam Integer id, @RequestParam String title) { + return service.del(id, title); } private void setAddInfo(UserVo user, Msg msg) { diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/UserController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/UserController.java new file mode 100644 index 0000000..1e6ddae --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/UserController.java @@ -0,0 +1,35 @@ +package cn.toesbieya.jxc.controller.msg; + +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.UserVo; +import cn.toesbieya.jxc.model.vo.search.MsgPersonalSearch; +import cn.toesbieya.jxc.service.msg.MsgUserService; +import cn.toesbieya.jxc.utils.SessionUtil; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@RestController("msgUserController") +@RequestMapping("message/user") +public class UserController { + @Resource + private MsgUserService service; + + @PostMapping("search") + public Result searchPersonal(@RequestBody MsgPersonalSearch vo) { + UserVo 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()); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCategoryController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/CategoryController.java similarity index 82% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/SysCategoryController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/sys/CategoryController.java index 835fb93..a1bdb08 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCategoryController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/CategoryController.java @@ -1,8 +1,8 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.sys; import cn.toesbieya.jxc.model.entity.SysCategory; import cn.toesbieya.jxc.model.vo.search.CategorySearch; -import cn.toesbieya.jxc.service.SysCategoryService; +import cn.toesbieya.jxc.service.sys.SysCategoryService; import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -11,18 +11,18 @@ import javax.annotation.Resource; @RestController @RequestMapping("system/category") -public class SysCategoryController { +public class CategoryController { @Resource - private SysCategoryService categoryService; + private SysCategoryService service; @GetMapping("getAll") public Result getAll() { - return Result.success(categoryService.getAll()); + return Result.success(service.getAll()); } @PostMapping("search") public Result search(@RequestBody CategorySearch vo) { - return Result.success(categoryService.search(vo)); + return Result.success(service.search(vo)); } @PostMapping("add") @@ -31,7 +31,7 @@ public class SysCategoryController { if (errMsg != null) return Result.fail(errMsg); category.setCtime(System.currentTimeMillis()); - return categoryService.add(category); + return service.add(category); } @PostMapping("update") @@ -39,13 +39,13 @@ public class SysCategoryController { String errMsg = validateCategoryUpdateParam(category); if (errMsg != null) return Result.fail(errMsg); - return categoryService.update(category); + return service.update(category); } @PostMapping("del") public Result del(@RequestBody SysCategory category) { if (category.getId() == null) return Result.fail("删除失败,参数错误"); - return categoryService.del(category); + return service.del(category); } private String validateCategoryCreateParam(SysCategory category) { diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCustomerController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/CustomerController.java similarity index 78% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/SysCustomerController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/sys/CustomerController.java index 6890205..c180aaf 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysCustomerController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/CustomerController.java @@ -1,8 +1,8 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.sys; import cn.toesbieya.jxc.model.entity.SysCustomer; import cn.toesbieya.jxc.model.vo.search.CustomerSearch; -import cn.toesbieya.jxc.service.SysCustomerService; +import cn.toesbieya.jxc.service.sys.SysCustomerService; import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -11,23 +11,18 @@ import javax.annotation.Resource; @RestController @RequestMapping("system/customer") -public class SysCustomerController { +public class CustomerController { @Resource - private SysCustomerService customerService; + private SysCustomerService service; @GetMapping("getLimitRegion") public Result getLimitRegion() { - return Result.success(customerService.getLimitRegion()); - } - - @GetMapping("get") - public Result get() { - return Result.success(customerService.get()); + return Result.success(service.getLimitRegion()); } @PostMapping("search") public Result search(@RequestBody CustomerSearch vo) { - return Result.success(customerService.search(vo)); + return Result.success(service.search(vo)); } @PostMapping("add") @@ -36,7 +31,7 @@ public class SysCustomerController { if (errMsg != null) return Result.fail("创建失败," + errMsg); customer.setCtime(System.currentTimeMillis()); - return customerService.add(customer); + return service.add(customer); } @PostMapping("update") @@ -44,13 +39,13 @@ public class SysCustomerController { String errMsg = validateUpdateParam(customer); if (errMsg != null) return Result.fail("修改失败," + errMsg); - return customerService.update(customer); + return service.update(customer); } @PostMapping("del") public Result del(@RequestBody SysCustomer customer) { if (customer.getId() == null) return Result.fail("删除失败,参数错误"); - return customerService.del(customer); + return service.del(customer); } private String validateCreateParam(SysCustomer customer) { diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysDepartmentController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/DepartmentController.java similarity index 81% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/SysDepartmentController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/sys/DepartmentController.java index 92de04c..277c2f2 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysDepartmentController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/DepartmentController.java @@ -1,9 +1,9 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.sys; import cn.toesbieya.jxc.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.model.entity.SysDepartment; import cn.toesbieya.jxc.model.vo.DepartmentVo; -import cn.toesbieya.jxc.service.SysDepartmentService; +import cn.toesbieya.jxc.service.sys.SysDepartmentService; import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -14,13 +14,13 @@ import java.util.stream.Collectors; @RestController @RequestMapping("system/department") -public class SysDepartmentController { +public class DepartmentController { @Resource - private SysDepartmentService departmentService; + private SysDepartmentService service; @GetMapping("get") public Result get(boolean all) { - List list = departmentService.getAll(); + List list = service.getAll(); if (!all) { list = list .stream() @@ -37,7 +37,7 @@ public class SysDepartmentController { || null == department.getStatus()) { return Result.fail("添加失败,参数错误"); } - return departmentService.add(department); + return service.add(department); } @PostMapping("update") @@ -48,7 +48,7 @@ public class SysDepartmentController { || null == department.getStatus()) { return Result.fail("修改失败,参数错误"); } - return departmentService.update(department); + return service.update(department); } @PostMapping("del") @@ -56,6 +56,6 @@ public class SysDepartmentController { if (null == department.getId() || StringUtils.isEmpty(department.getName())) { return Result.fail("删除失败,参数错误"); } - return departmentService.del(department); + return service.del(department); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysResourceController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/ResourceController.java similarity index 60% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/SysResourceController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/sys/ResourceController.java index 4bc10b8..76a2f37 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysResourceController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/ResourceController.java @@ -1,7 +1,7 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.sys; import cn.toesbieya.jxc.model.entity.SysResource; -import cn.toesbieya.jxc.service.SysResourceService; +import cn.toesbieya.jxc.service.sys.SysResourceService; import cn.toesbieya.jxc.model.vo.Result; import org.springframework.web.bind.annotation.*; @@ -9,18 +9,13 @@ import javax.annotation.Resource; @RestController @RequestMapping("system/resource") -public class SysResourceController { +public class ResourceController { @Resource - private SysResourceService resourceService; - - @GetMapping("get") - public Result get() { - return Result.success(resourceService.get()); - } + private SysResourceService service; @GetMapping("getAll") public Result getAll() { - return Result.success(resourceService.getAll()); + return Result.success(service.getAll()); } @PostMapping("update") @@ -30,6 +25,6 @@ public class SysResourceController { || resource.getIpRate() == null) { return Result.fail("参数错误"); } - return resourceService.update(resource); + return service.update(resource); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysRoleController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/RoleController.java similarity index 79% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/SysRoleController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/sys/RoleController.java index 832379f..15a733f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysRoleController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/RoleController.java @@ -1,10 +1,10 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.sys; import cn.toesbieya.jxc.model.entity.SysRole; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.search.RoleSearch; import cn.toesbieya.jxc.utils.SessionUtil; -import cn.toesbieya.jxc.service.SysRoleService; +import cn.toesbieya.jxc.service.sys.SysRoleService; import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -13,18 +13,18 @@ import javax.annotation.Resource; @RequestMapping("system/role") @RestController -public class SysRoleController { +public class RoleController { @Resource - private SysRoleService roleService; + private SysRoleService service; @GetMapping("get") public Result get() { - return Result.success(roleService.get()); + return Result.success(service.get()); } @PostMapping("search") public Result search(@RequestBody RoleSearch vo) { - return Result.success(roleService.search(vo)); + return Result.success(service.search(vo)); } @PostMapping("add") @@ -40,7 +40,7 @@ public class SysRoleController { role.setCname(user.getName()); role.setCtime(System.currentTimeMillis()); - return roleService.add(role); + return service.add(role); } @PostMapping("update") @@ -50,12 +50,12 @@ public class SysRoleController { || role.getStatus() == null) { return Result.fail("修改失败,参数错误"); } - return roleService.update(role); + return service.update(role); } @PostMapping("del") public Result del(@RequestBody SysRole role) { if (role.getId() == null) return Result.fail("删除失败,参数错误"); - return roleService.del(role); + return service.del(role); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysSupplierController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/SupplierController.java similarity index 75% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/SysSupplierController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/sys/SupplierController.java index 96764eb..e14079f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysSupplierController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/SupplierController.java @@ -1,8 +1,8 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.sys; import cn.toesbieya.jxc.model.entity.SysSupplier; import cn.toesbieya.jxc.model.vo.search.SupplierSearch; -import cn.toesbieya.jxc.service.SysSupplierService; +import cn.toesbieya.jxc.service.sys.SysSupplierService; import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -11,23 +11,18 @@ import javax.annotation.Resource; @RestController @RequestMapping("system/supplier") -public class SysSupplierController { +public class SupplierController { @Resource - private SysSupplierService supplierService; + private SysSupplierService service; @GetMapping("getLimitRegion") public Result getLimitRegion() { - return Result.success(supplierService.getLimitRegion()); - } - - @GetMapping("get") - public Result get() { - return Result.success(supplierService.get()); + return Result.success(service.getLimitRegion()); } @PostMapping("search") public Result search(@RequestBody SupplierSearch vo) { - return Result.success(supplierService.search(vo)); + return Result.success(service.search(vo)); } @PostMapping("add") @@ -35,22 +30,21 @@ public class SysSupplierController { String errMsg = validateCreateParam(supplier); if (errMsg != null) return Result.fail("添加失败," + errMsg); + supplier.setId(null); supplier.setCtime(System.currentTimeMillis()); - return supplierService.add(supplier); + return service.add(supplier); } @PostMapping("update") public Result update(@RequestBody SysSupplier supplier) { String errMsg = validateUpdateParam(supplier); - if (errMsg != null) return Result.fail("修改失败," + errMsg); - - return supplierService.update(supplier); + return errMsg == null ? service.update(supplier) : Result.fail("修改失败," + errMsg); } @PostMapping("del") public Result del(@RequestBody SysSupplier supplier) { if (supplier.getId() == null) return Result.fail("删除失败,参数错误"); - return supplierService.del(supplier); + return service.del(supplier); } private String validateCreateParam(SysSupplier supplier) { diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysUserController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/UserController.java similarity index 86% rename from java/local/src/main/java/cn/toesbieya/jxc/controller/SysUserController.java rename to java/local/src/main/java/cn/toesbieya/jxc/controller/sys/UserController.java index 84ae2bd..d2b8938 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/SysUserController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/UserController.java @@ -1,10 +1,10 @@ -package cn.toesbieya.jxc.controller; +package cn.toesbieya.jxc.controller.sys; import cn.toesbieya.jxc.model.entity.RecUserAction; import cn.toesbieya.jxc.model.entity.SysUser; import cn.toesbieya.jxc.model.vo.search.UserSearch; import cn.toesbieya.jxc.utils.ThreadUtil; -import cn.toesbieya.jxc.service.SysUserService; +import cn.toesbieya.jxc.service.sys.SysUserService; import cn.toesbieya.jxc.model.vo.Result; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMapping; @@ -16,15 +16,15 @@ import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; -@RestController +@RestController("sysUserController") @RequestMapping("system/user") -public class SysUserController { +public class UserController { @Resource - private SysUserService userService; + private SysUserService service; @PostMapping("search") public Result search(@RequestBody UserSearch vo) { - return Result.success(userService.search(vo)); + return Result.success(service.search(vo)); } @PostMapping("add") @@ -33,7 +33,7 @@ public class SysUserController { if (errMsg != null) { return Result.fail(errMsg); } - return userService.add(user); + return service.add(user); } @PostMapping("update") @@ -42,7 +42,7 @@ public class SysUserController { if (errMsg != null) { return Result.fail(errMsg); } - return userService.update(user); + return service.update(user); } @PostMapping("del") @@ -50,7 +50,7 @@ public class SysUserController { if (user.getId() == null) { return Result.fail("删除失败"); } - return userService.del(user); + return service.del(user); } @PostMapping("kick") @@ -62,7 +62,7 @@ public class SysUserController { List names = users.stream().map(SysUser::getName).collect(Collectors.toList()); action.setAction("踢出用户:【" + String.join(",", names) + "】"); - return userService.kick(users); + return service.kick(users); } @PostMapping("resetPwd") @@ -70,7 +70,7 @@ public class SysUserController { if (user.getId() == null || StringUtils.isEmpty(user.getName())) { return Result.fail("参数错误"); } - return userService.resetPwd(user); + return service.resetPwd(user); } private String validateUserCreateParam(SysUser user) { diff --git a/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java b/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java index b2b0bf4..7786a0c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/handler/GlobalExceptionHandler.java @@ -20,7 +20,7 @@ import javax.annotation.Resource; @RestControllerAdvice public class GlobalExceptionHandler { @Resource - private RecService recService; + private RecService service; //抛出异常时希望返回给前台 @ExceptionHandler(JsonResultException.class) @@ -54,8 +54,10 @@ public class GlobalExceptionHandler { private void recordUserAction(Exception e) { RecUserAction action = ThreadUtil.getAction(); if (action != null && !StringUtils.isEmpty(action.getAction())) { + action.setTime(System.currentTimeMillis()); action.setError(Util.exception2Str(e)); - recService.insertUserAction(action, UserActionEnum.FAIL); + action.setType(UserActionEnum.FAIL.getCode()); + service.insertUserAction(action); } ThreadUtil.clearAll(); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizDocHistoryMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizDocHistoryMapper.java new file mode 100644 index 0000000..ec1ef37 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizDocHistoryMapper.java @@ -0,0 +1,8 @@ +package cn.toesbieya.jxc.mapper; + +import cn.toesbieya.jxc.model.entity.BizDocHistory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface BizDocHistoryMapper extends BaseMapper { + +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizDocumentHistoryMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizDocumentHistoryMapper.java deleted file mode 100644 index ce6b23a..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizDocumentHistoryMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.toesbieya.jxc.mapper; - -import cn.toesbieya.jxc.model.entity.BizDocumentHistory; -import cn.toesbieya.jxc.model.vo.search.DocumentHistorySearch; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface BizDocumentHistoryMapper { - List getByPid(@Param("pid") String pid); - - List search(DocumentHistorySearch vo); - - int insert(BizDocumentHistory history); -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseInboundMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseInboundMapper.java index f8048bc..bc02674 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseInboundMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseInboundMapper.java @@ -1,33 +1,14 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.BizPurchaseInbound; -import cn.toesbieya.jxc.model.entity.BizPurchaseInboundSub; -import cn.toesbieya.jxc.model.vo.search.PurchaseInboundSearch; import cn.toesbieya.jxc.model.vo.export.PurchaseInboundExport; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface BizPurchaseInboundMapper { - BizPurchaseInbound getById(@Param("id") String id); - - List getSubById(@Param("id") String id); - - List search(PurchaseInboundSearch vo); - - List export(PurchaseInboundSearch vo); - - int insert(BizPurchaseInbound param); - - void addSub(List list); - - int update(BizPurchaseInbound param); - - int pass(@Param("id") String id, @Param("vid") Integer vid, @Param("vname") String vname, @Param("vtime") long vtime); - - int reject(@Param("id") String id); - - int del(@Param("id") String id); - - void delSubByPid(@Param("pid") String pid); +public interface BizPurchaseInboundMapper extends BaseMapper { + List export(@Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseInboundSubMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseInboundSubMapper.java new file mode 100644 index 0000000..c5905d5 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseInboundSubMapper.java @@ -0,0 +1,10 @@ +package cn.toesbieya.jxc.mapper; + +import cn.toesbieya.jxc.model.entity.BizPurchaseInboundSub; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +public interface BizPurchaseInboundSubMapper extends BaseMapper { + void insertBatch(List list); +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseOrderMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseOrderMapper.java index 852038f..5b2b6ac 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseOrderMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseOrderMapper.java @@ -1,38 +1,14 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.BizPurchaseOrder; -import cn.toesbieya.jxc.model.entity.BizPurchaseOrderSub; import cn.toesbieya.jxc.model.vo.export.PurchaseOrderExport; -import cn.toesbieya.jxc.model.vo.search.PurchaseOrderSearch; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; -import java.math.BigDecimal; import java.util.List; -public interface BizPurchaseOrderMapper { - BizPurchaseOrder getById(@Param("id") String id); - - List getSubById(@Param("id") String id); - - List search(PurchaseOrderSearch vo); - - List export(PurchaseOrderSearch vo); - - int insert(BizPurchaseOrder param); - - void addSub(List list); - - int update(BizPurchaseOrder param); - - int updateSubRemainNum(@Param("id") Integer id, @Param("remain_num") BigDecimal remain_num); - - int pass(@Param("id") String id, @Param("vid") Integer vid, @Param("vname") String vname, @Param("vtime") long vtime); - - int reject(@Param("id") String id); - - int del(@Param("id") String id); - - void delSubByPid(@Param("pid") String pid); - - int updateFinish(@Param("id") String id, @Param("finish") Integer finish, @Param("ftime") Long ftime); +public interface BizPurchaseOrderMapper extends BaseMapper { + List export(@Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseOrderSubMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseOrderSubMapper.java new file mode 100644 index 0000000..cc1c515 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizPurchaseOrderSubMapper.java @@ -0,0 +1,10 @@ +package cn.toesbieya.jxc.mapper; + +import cn.toesbieya.jxc.model.entity.BizPurchaseOrderSub; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +public interface BizPurchaseOrderSubMapper extends BaseMapper { + void insertBatch(List list); +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java index bdeaf12..2e8b098 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderMapper.java @@ -1,38 +1,14 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.BizSellOrder; -import cn.toesbieya.jxc.model.entity.BizSellOrderSub; import cn.toesbieya.jxc.model.vo.export.SellOrderExport; -import cn.toesbieya.jxc.model.vo.search.SellOrderSearch; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; -import java.math.BigDecimal; import java.util.List; -public interface BizSellOrderMapper { - BizSellOrder getById(@Param("id") String id); - - List getSubById(@Param("id") String id); - - List search(SellOrderSearch vo); - - List export(SellOrderSearch vo); - - int insert(BizSellOrder param); - - void addSub(List list); - - int update(BizSellOrder param); - - int updateSubRemainNum(@Param("id") Integer id, @Param("remain_num") BigDecimal remainNum); - - int pass(@Param("id") String id, @Param("vid") Integer vid, @Param("vname") String vname, @Param("vtime") long vtime); - - int reject(@Param("id") String id); - - int del(@Param("id") String id); - - void delSubByPid(@Param("pid") String pid); - - int updateFinish(@Param("id") String id, @Param("finish") Integer finish, @Param("ftime") Long ftime); +public interface BizSellOrderMapper extends BaseMapper { + List export(@Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderSubMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderSubMapper.java new file mode 100644 index 0000000..29f9c0c --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOrderSubMapper.java @@ -0,0 +1,10 @@ +package cn.toesbieya.jxc.mapper; + +import cn.toesbieya.jxc.model.entity.BizSellOrderSub; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +public interface BizSellOrderSubMapper extends BaseMapper { + void insertBatch(List list); +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOutboundMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOutboundMapper.java index 0e2ebd7..27b6318 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOutboundMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOutboundMapper.java @@ -1,33 +1,14 @@ package cn.toesbieya.jxc.mapper; -import cn.toesbieya.jxc.model.entity.BizSellOutboundSub; import cn.toesbieya.jxc.model.entity.BizSellOutbound; import cn.toesbieya.jxc.model.vo.export.SellOutboundExport; -import cn.toesbieya.jxc.model.vo.search.SellOutboundSearch; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface BizSellOutboundMapper { - BizSellOutbound getById(@Param("id") String id); - - List getSubById(@Param("id") String id); - - List search(SellOutboundSearch vo); - - List export(SellOutboundSearch vo); - - int insert(BizSellOutbound param); - - void addSub(List list); - - int update(BizSellOutbound param); - - int pass(@Param("id") String id, @Param("vid") Integer vid, @Param("vname") String vname, @Param("vtime") long vtime); - - int reject(@Param("id") String id); - - int del(@Param("id") String id); - - void delSubByPid(@Param("pid") String pid); +public interface BizSellOutboundMapper extends BaseMapper { + List export(@Param(Constants.WRAPPER) Wrapper wrapper); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOutboundSubMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOutboundSubMapper.java new file mode 100644 index 0000000..b5d9e79 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizSellOutboundSubMapper.java @@ -0,0 +1,10 @@ +package cn.toesbieya.jxc.mapper; + +import cn.toesbieya.jxc.model.entity.BizSellOutboundSub; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +public interface BizSellOutboundSubMapper extends BaseMapper { + void insertBatch(List list); +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizStockMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizStockMapper.java index aee4b2e..e8e9261 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizStockMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/BizStockMapper.java @@ -3,22 +3,20 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.BizStock; import cn.toesbieya.jxc.model.vo.export.StockExport; import cn.toesbieya.jxc.model.vo.result.StockSearchResult; -import cn.toesbieya.jxc.model.vo.search.StockSearch; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; -public interface BizStockMapper { - List search(StockSearch vo); +public interface BizStockMapper extends BaseMapper { + List search(@Param(Constants.WRAPPER) Wrapper wrapper); - List getDetail(@Param("cids") String cids); + List export(@Param(Constants.WRAPPER) Wrapper wrapper); - List getDetailById(@Param("ids") String ids); - - List export(StockSearch vo); - - int batchInsert(@Param("list") List list); + int insertBatch(@Param("list") List list); int outbound(@Param("id") Integer id, @Param("num") BigDecimal num); } \ No newline at end of file diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/MsgMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/MsgMapper.java index 221c7de..3204801 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/MsgMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/MsgMapper.java @@ -1,28 +1,12 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.Msg; -import cn.toesbieya.jxc.model.entity.MsgState; import cn.toesbieya.jxc.model.vo.search.MsgPersonalSearch; -import cn.toesbieya.jxc.model.vo.search.MsgSearch; -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; -public interface MsgMapper { - List search(MsgSearch search); - - int insert(Msg msg); - - int update(Msg msg); - - int withdraw(Msg msg); - - int del(@Param("id") int id); - - int insertState(MsgState state); - - boolean checkRead(@Param("mid") int mid, @Param("uid") int uid); - +public interface MsgMapper extends BaseMapper { List getReadByUser(MsgPersonalSearch search); List getUnreadByUser(MsgPersonalSearch search); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/MsgStateMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/MsgStateMapper.java new file mode 100644 index 0000000..f150aab --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/MsgStateMapper.java @@ -0,0 +1,7 @@ +package cn.toesbieya.jxc.mapper; + +import cn.toesbieya.jxc.model.entity.MsgState; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface MsgStateMapper extends BaseMapper { +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecAttachmentMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecAttachmentMapper.java index a533e54..ab4b9dc 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecAttachmentMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecAttachmentMapper.java @@ -1,20 +1,10 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.RecAttachment; -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; -public interface RecAttachmentMapper { - List getByPid(@Param("pid") String pid); - - List getUrlByPid(@Param("pid") String pid); - - int add(List list); - - int del(RecAttachment attachment); - - int delByPid(@Param("pid") String pid); - - int delByUrls(List list); +public interface RecAttachmentMapper extends BaseMapper { + int insertBatch(List list); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecLoginHistoryMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecLoginHistoryMapper.java index e0c7507..84b2d0c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecLoginHistoryMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecLoginHistoryMapper.java @@ -1,12 +1,7 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.RecLoginHistory; -import cn.toesbieya.jxc.model.vo.search.LoginHistorySearch; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.List; - -public interface RecLoginHistoryMapper { - int insert(RecLoginHistory history); - - List search(LoginHistorySearch vo); +public interface RecLoginHistoryMapper extends BaseMapper { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecUserActionMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecUserActionMapper.java index bdfe8ec..b85c423 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecUserActionMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/RecUserActionMapper.java @@ -1,12 +1,7 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.RecUserAction; -import cn.toesbieya.jxc.model.vo.search.UserActionSearch; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.List; - -public interface RecUserActionMapper { - void insert(RecUserAction action); - - List search(UserActionSearch vo); +public interface RecUserActionMapper extends BaseMapper { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCategoryMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCategoryMapper.java index 86534a0..b6f4e2d 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCategoryMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCategoryMapper.java @@ -1,27 +1,9 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysCategory; -import cn.toesbieya.jxc.model.vo.search.CategorySearch; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; -import java.util.List; - -public interface SysCategoryMapper { - List getAll(); - - List search(CategorySearch vo); - - SysCategory getById(@Param("id") int id); - - int add(SysCategory sysCategory); - - int update(SysCategory sysCategory); - - int del(@Param("id") int id); - - boolean hasChildren(@Param("id") int id); - - boolean isNameExist(@Param("name") String name, @Param("id") Integer id); - +public interface SysCategoryMapper extends BaseMapper { boolean checkIsUse(@Param("cid") Integer cid); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCustomerMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCustomerMapper.java index 11f48c2..02d6e2b 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCustomerMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysCustomerMapper.java @@ -2,25 +2,10 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysCustomer; import cn.toesbieya.jxc.model.vo.result.RegionValueResult; -import cn.toesbieya.jxc.model.vo.search.CustomerSearch; -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; -public interface SysCustomerMapper { - List get(); - - SysCustomer getById(int id); - - List search(CustomerSearch vo); - - int add(SysCustomer category); - - int update(SysCustomer category); - - int del(int id); - +public interface SysCustomerMapper extends BaseMapper { List getLimitRegion(); - - boolean isNameExist(@Param("name") String name, @Param("id") Integer id); } \ No newline at end of file diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java index 30a1c72..975e194 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysDepartmentMapper.java @@ -2,20 +2,13 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysDepartment; import cn.toesbieya.jxc.model.vo.DepartmentVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; -public interface SysDepartmentMapper { +public interface SysDepartmentMapper extends BaseMapper { List selectChildrenById(@Param("id") int id); List selectParentsById(@Param("id") int id); - - int insert(SysDepartment department); - - int update(SysDepartment department); - - int del(@Param("id") int id); - - boolean nameExist(@Param("id") Integer id, @Param("pid") int pid, @Param("name") String name); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRegionMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRegionMapper.java new file mode 100644 index 0000000..a28fe9d --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRegionMapper.java @@ -0,0 +1,7 @@ +package cn.toesbieya.jxc.mapper; + +import cn.toesbieya.jxc.model.entity.SysRegion; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +public interface SysRegionMapper extends BaseMapper { +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysResourceMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysResourceMapper.java index efd4b46..8d2f4e2 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysResourceMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysResourceMapper.java @@ -1,15 +1,7 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysResource; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.List; - -public interface SysResourceMapper { - List get(); - - List getAll(); - - List getByRole(int role); - - int update(SysResource resource); +public interface SysResourceMapper extends BaseMapper { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java index 08c09ff..c0a2070 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysRoleMapper.java @@ -1,25 +1,7 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysRole; -import cn.toesbieya.jxc.model.vo.search.RoleSearch; -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.List; - -public interface SysRoleMapper { - SysRole selectById(@Param("id") int id); - - List get(); - - List getAll(); - - List search(RoleSearch vo); - - int insert(SysRole role); - - int update(SysRole role); - - int del(int id); - - boolean isNameExist(@Param("name") String name, @Param("id") Integer id); +public interface SysRoleMapper extends BaseMapper { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysSupplierMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysSupplierMapper.java index d41b0ee..af72be0 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysSupplierMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysSupplierMapper.java @@ -2,25 +2,10 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysSupplier; import cn.toesbieya.jxc.model.vo.result.RegionValueResult; -import cn.toesbieya.jxc.model.vo.search.SupplierSearch; -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; -public interface SysSupplierMapper { - List get(); - - SysSupplier getById(int id); - - List search(SupplierSearch vo); - - int add(SysSupplier category); - - int update(SysSupplier category); - - int del(int id); - +public interface SysSupplierMapper extends BaseMapper { List getLimitRegion(); - - boolean isNameExist(@Param("name") String name, @Param("id") Integer id); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java index ec2b65d..9cf14d9 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/mapper/SysUserMapper.java @@ -1,29 +1,7 @@ package cn.toesbieya.jxc.mapper; import cn.toesbieya.jxc.model.entity.SysUser; -import cn.toesbieya.jxc.model.vo.PasswordUpdateParam; -import cn.toesbieya.jxc.model.vo.UserVo; -import cn.toesbieya.jxc.model.vo.search.UserSearch; -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.List; - -public interface SysUserMapper { - SysUser getByNameAndPwd(@Param("name") String name, @Param("pwd") String pwd); - - List search(UserSearch vo); - - boolean isNameExist(@Param("name") String name, @Param("id") Integer id); - - int insert(SysUser user); - - int update(SysUser user); - - int deleteById(@Param("id") Integer id); - - int resetPwd(@Param("id") Integer id, @Param("pwd") String pwd); - - int updatePwd(PasswordUpdateParam vo); - - int updateAvatar(@Param("id") Integer id, @Param("avatar") String avatar); +public interface SysUserMapper extends BaseMapper { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocument.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDoc.java similarity index 58% rename from java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocument.java rename to java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDoc.java index c3ac5c9..32fa52e 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocument.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDoc.java @@ -2,10 +2,8 @@ package cn.toesbieya.jxc.model.entity; import lombok.Data; -import java.util.List; - @Data -public class BizDocument { +public class BizDoc { private String id; private Integer cid; private String cname; @@ -15,8 +13,4 @@ public class BizDocument { private Long vtime; private Integer status; private String remark; - private List data; - private List imageList; - private List uploadImageList; - private List deleteImageList; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentHistory.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocHistory.java similarity index 92% rename from java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentHistory.java rename to java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocHistory.java index 65ab795..11fcca1 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentHistory.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocHistory.java @@ -9,7 +9,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class BizDocumentHistory { +public class BizDocHistory { private Integer id; private String pid; private Integer type; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentSub.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocSub.java similarity index 88% rename from java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentSub.java rename to java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocSub.java index 6705dd3..7aebb30 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocumentSub.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizDocSub.java @@ -5,7 +5,7 @@ import lombok.Data; import java.math.BigDecimal; @Data -public class BizDocumentSub { +public class BizDocSub { private Integer id; private String pid; private Integer cid; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInbound.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInbound.java index bcdcdb5..23ecd59 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInbound.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInbound.java @@ -7,6 +7,6 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizPurchaseInbound extends BizDocument { +public class BizPurchaseInbound extends BizDoc { private String pid; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInboundSub.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInboundSub.java index 8c99caf..9bcff75 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInboundSub.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseInboundSub.java @@ -7,6 +7,6 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizPurchaseInboundSub extends BizDocumentSub { +public class BizPurchaseInboundSub extends BizDocSub { } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrder.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrder.java index 0de091f..844bfb4 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrder.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrder.java @@ -9,7 +9,7 @@ import java.math.BigDecimal; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizPurchaseOrder extends BizDocument { +public class BizPurchaseOrder extends BizDoc { private Integer sid; private String sname; private Integer finish; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java index 34a03c3..f63e930 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizPurchaseOrderSub.java @@ -9,7 +9,7 @@ import java.math.BigDecimal; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizPurchaseOrderSub extends BizDocumentSub { +public class BizPurchaseOrderSub extends BizDocSub { private BigDecimal price; private BigDecimal remainNum; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java index 13f13ac..1249563 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrder.java @@ -9,7 +9,7 @@ import java.math.BigDecimal; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizSellOrder extends BizDocument { +public class BizSellOrder extends BizDoc { private Integer customerId; private String customerName; private Integer finish; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java index bd00c53..5ddb946 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOrderSub.java @@ -9,7 +9,7 @@ import java.math.BigDecimal; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizSellOrderSub extends BizDocumentSub { +public class BizSellOrderSub extends BizDocSub { private BigDecimal price; private BigDecimal remainNum; } \ No newline at end of file diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutbound.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutbound.java index f9f0b17..46d44a1 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutbound.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutbound.java @@ -7,6 +7,6 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizSellOutbound extends BizDocument { +public class BizSellOutbound extends BizDoc { private String pid; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutboundSub.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutboundSub.java index 0430487..5b31fb4 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutboundSub.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/BizSellOutboundSub.java @@ -7,6 +7,6 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class BizSellOutboundSub extends BizDocumentSub { +public class BizSellOutboundSub extends BizDocSub { private Integer sid; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java index 5d0b5ba..c48efda 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysCustomer.java @@ -16,7 +16,6 @@ public class SysCustomer { private String linkman; private String linkphone; private String region; - private String regionName; private Integer status; private Long ctime; private String remark; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java index e94dbcb..642ee5d 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysResource.java @@ -11,7 +11,6 @@ public class SysResource { private Integer id; private Integer pid; private String name; - private String fullname; private String url; private boolean admin = false; private Long totalRate; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java index fabe33a..82fab8d 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysSupplier.java @@ -10,7 +10,6 @@ public class SysSupplier { private String linkman; private String linkphone; private String region; - private String regionName; private Integer status; private Long ctime; private String remark; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/CustomerVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/CustomerVo.java new file mode 100644 index 0000000..be46166 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/CustomerVo.java @@ -0,0 +1,20 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.SysCustomer; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.BeanUtils; + +@Data +@NoArgsConstructor +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class CustomerVo extends SysCustomer { + private String regionName; + + public CustomerVo(SysCustomer parent) { + BeanUtils.copyProperties(parent, this); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PurchaseInboundVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PurchaseInboundVo.java new file mode 100644 index 0000000..e68543f --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PurchaseInboundVo.java @@ -0,0 +1,27 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.BizPurchaseInbound; +import cn.toesbieya.jxc.model.entity.BizPurchaseInboundSub; +import cn.toesbieya.jxc.model.entity.RecAttachment; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.BeanUtils; + +import java.util.List; + +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +public class PurchaseInboundVo extends BizPurchaseInbound { + private List data; + private List imageList; + private List uploadImageList; + private List deleteImageList; + + public PurchaseInboundVo(BizPurchaseInbound parent) { + BeanUtils.copyProperties(parent, this); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PurchaseOrderVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PurchaseOrderVo.java new file mode 100644 index 0000000..8752ad4 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/PurchaseOrderVo.java @@ -0,0 +1,27 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.BizPurchaseOrder; +import cn.toesbieya.jxc.model.entity.BizPurchaseOrderSub; +import cn.toesbieya.jxc.model.entity.RecAttachment; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.BeanUtils; + +import java.util.List; + +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +public class PurchaseOrderVo extends BizPurchaseOrder { + private List data; + private List imageList; + private List uploadImageList; + private List deleteImageList; + + public PurchaseOrderVo(BizPurchaseOrder parent) { + BeanUtils.copyProperties(parent, this); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/ResourceVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/ResourceVo.java new file mode 100644 index 0000000..eec3b83 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/ResourceVo.java @@ -0,0 +1,20 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.SysResource; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.BeanUtils; + +@Data +@NoArgsConstructor +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class ResourceVo extends SysResource { + private String fullname; + + public ResourceVo(SysResource parent) { + BeanUtils.copyProperties(parent, this); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SellOrderVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SellOrderVo.java new file mode 100644 index 0000000..1177cfb --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SellOrderVo.java @@ -0,0 +1,27 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.BizSellOrder; +import cn.toesbieya.jxc.model.entity.BizSellOrderSub; +import cn.toesbieya.jxc.model.entity.RecAttachment; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.BeanUtils; + +import java.util.List; + +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +public class SellOrderVo extends BizSellOrder { + private List data; + private List imageList; + private List uploadImageList; + private List deleteImageList; + + public SellOrderVo(BizSellOrder parent) { + BeanUtils.copyProperties(parent, this); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SellOutboundVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SellOutboundVo.java new file mode 100644 index 0000000..be0c2f0 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SellOutboundVo.java @@ -0,0 +1,27 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.BizSellOutbound; +import cn.toesbieya.jxc.model.entity.BizSellOutboundSub; +import cn.toesbieya.jxc.model.entity.RecAttachment; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.BeanUtils; + +import java.util.List; + +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +public class SellOutboundVo extends BizSellOutbound { + private List data; + private List imageList; + private List uploadImageList; + private List deleteImageList; + + public SellOutboundVo(BizSellOutbound parent) { + BeanUtils.copyProperties(parent, this); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SupplierVo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SupplierVo.java new file mode 100644 index 0000000..06d4591 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/SupplierVo.java @@ -0,0 +1,20 @@ +package cn.toesbieya.jxc.model.vo; + +import cn.toesbieya.jxc.model.entity.SysSupplier; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.BeanUtils; + +@Data +@NoArgsConstructor +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class SupplierVo extends SysSupplier { + private String regionName; + + public SupplierVo(SysSupplier parent) { + BeanUtils.copyProperties(parent, this); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/PageResult.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/PageResult.java index b4837fc..109776c 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/PageResult.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/result/PageResult.java @@ -14,10 +14,15 @@ public class PageResult { public PageResult(List list) { this.list = list; if (list instanceof Page) { - this.total = ((Page) list).getTotal(); + this.total = ((Page) list).getTotal(); } else { this.total = list.size(); } } + + public PageResult(long total, List list) { + this.total = total; + this.list = list; + } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocHistorySearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocHistorySearch.java new file mode 100644 index 0000000..3c92fdd --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocHistorySearch.java @@ -0,0 +1,15 @@ +package cn.toesbieya.jxc.model.vo.search; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class DocHistorySearch extends BaseSearch{ + private String pid; + private String type; + private String uid; + private String uname; +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocSearch.java similarity index 90% rename from java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentSearch.java rename to java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocSearch.java index 8a88e9c..1ebd7ff 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocSearch.java @@ -7,7 +7,7 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class DocumentSearch extends BaseSearch { +public class DocSearch extends BaseSearch { private String id; private String idFuzzy; private Integer cid; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentHistorySearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentHistorySearch.java deleted file mode 100644 index 8661d38..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/DocumentHistorySearch.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.toesbieya.jxc.model.vo.search; - -import lombok.Data; - -@Data -public class DocumentHistorySearch { - private String pid; - private String type; - private String uid; - private String uname; -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java index ae511d8..1b97867 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseInboundSearch.java @@ -7,7 +7,7 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class PurchaseInboundSearch extends DocumentSearch { +public class PurchaseInboundSearch extends DocSearch { private String pid; private String pidFuzzy; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseOrderSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseOrderSearch.java index 96ab958..8e1f593 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseOrderSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/PurchaseOrderSearch.java @@ -7,7 +7,7 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class PurchaseOrderSearch extends DocumentSearch { +public class PurchaseOrderSearch extends DocSearch { private Integer sid; private String sname; private String finish; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java index 7b097c9..0eede75 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOrderSearch.java @@ -7,7 +7,7 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class SellOrderSearch extends DocumentSearch { +public class SellOrderSearch extends DocSearch { private Integer customerId; private String customerName; private String finish; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java index 9f0f71d..172f411 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/SellOutboundSearch.java @@ -7,7 +7,7 @@ import lombok.ToString; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class SellOutboundSearch extends DocumentSearch { +public class SellOutboundSearch extends DocSearch { private String pid; private String pidFuzzy; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/update/DocumentStatusUpdate.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/update/DocStatusUpdate.java similarity index 80% rename from java/local/src/main/java/cn/toesbieya/jxc/model/vo/update/DocumentStatusUpdate.java rename to java/local/src/main/java/cn/toesbieya/jxc/model/vo/update/DocStatusUpdate.java index d723fed..7a23652 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/update/DocumentStatusUpdate.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/update/DocStatusUpdate.java @@ -3,7 +3,7 @@ package cn.toesbieya.jxc.model.vo.update; import lombok.Data; @Data -public class DocumentStatusUpdate { +public class DocStatusUpdate { private String id; private String pid; private String info; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java b/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java index 4f31b93..7b63464 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/module/PermissionModule.java @@ -1,8 +1,8 @@ package cn.toesbieya.jxc.module; -import cn.toesbieya.jxc.model.entity.SysResource; +import cn.toesbieya.jxc.model.vo.ResourceVo; import cn.toesbieya.jxc.model.vo.UserVo; -import cn.toesbieya.jxc.service.SysResourceService; +import cn.toesbieya.jxc.service.sys.SysResourceService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -20,7 +20,7 @@ public class PermissionModule { private final static ConcurrentHashMap urlMap = new ConcurrentHashMap<>(128); private final static ConcurrentHashMap adminUrlMap = new ConcurrentHashMap<>(128); @Resource - private SysResourceService resourceService; + private SysResourceService service; public static boolean authority(UserVo user, String url) { if (user.isAdmin() || !needAuthority(url)) { @@ -44,10 +44,10 @@ public class PermissionModule { public void init() { Instant start = Instant.now(); - List resources = resourceService.getAll(); + List resources = service.getAll(); if (resources != null) { - for (SysResource p : resources) { + for (ResourceVo p : resources) { if (p.isAdmin()) { adminUrlMap.put(p.getUrl(), p.getId()); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java b/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java index 9cdec68..dc37b89 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/module/request/RequestModule.java @@ -1,7 +1,7 @@ package cn.toesbieya.jxc.module.request; -import cn.toesbieya.jxc.model.entity.SysResource; -import cn.toesbieya.jxc.service.SysResourceService; +import cn.toesbieya.jxc.model.vo.ResourceVo; +import cn.toesbieya.jxc.service.sys.SysResourceService; import cn.toesbieya.jxc.utils.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +26,7 @@ public class RequestModule { private final static long EXPIRE_SECONDS = 10L; //url的总访问频率限制 private static ConcurrentHashMap limitMap; - private SysResourceService resourceService; + private SysResourceService service; /** * 未在resource表中配置的不进行限制 @@ -67,8 +67,8 @@ public class RequestModule { private void initLimitMap() { limitMap = new ConcurrentHashMap<>(); - List resources = resourceService.getAll(); - for (SysResource resource : resources) { + List resources = service.getAll(); + for (ResourceVo resource : resources) { RateLimiterHelper helper = new RateLimiterHelper(resource.getTotalRate(), resource.getIpRate()); limitMap.put(resource.getUrl(), helper); } @@ -80,7 +80,7 @@ public class RequestModule { } @Autowired - public void setResourceService(SysResourceService resourceService) { - this.resourceService = resourceService; + public void setService(SysResourceService service) { + this.service = service; } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/schedule/DocumentTask.java b/java/local/src/main/java/cn/toesbieya/jxc/schedule/DocTask.java similarity index 69% rename from java/local/src/main/java/cn/toesbieya/jxc/schedule/DocumentTask.java rename to java/local/src/main/java/cn/toesbieya/jxc/schedule/DocTask.java index 751efc7..4691f40 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/schedule/DocumentTask.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/schedule/DocTask.java @@ -1,6 +1,6 @@ package cn.toesbieya.jxc.schedule; -import cn.toesbieya.jxc.constant.DocumentConstant; +import cn.toesbieya.jxc.constant.DocConstant; import cn.toesbieya.jxc.utils.DateUtil; import cn.toesbieya.jxc.utils.RedisUtil; import lombok.extern.slf4j.Slf4j; @@ -19,7 +19,7 @@ import java.util.Map; @Component @Slf4j @DependsOn("redisUtil") -public class DocumentTask { +public class DocTask { @PostConstruct public void run() { template("初始化单据ID", 0); @@ -28,25 +28,25 @@ public class DocumentTask { //每天零点重置单据ID的值 @Async("scheduledExecutor") @Scheduled(cron = "1 0 0 */1 * ?") - public void autoRefreshDocumentID() { + public void autoRefreshDocId() { template("定时更新单据ID", 1); } //启动时初始化单据ID - private void initDocumentsID() { - String[] fields = new String[DocumentConstant.DOCUMENT_TYPE.length + 1]; + private void initDocId() { + String[] fields = new String[DocConstant.DOC_TYPE.length + 1]; 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 result = RedisUtil.hmget(DocumentConstant.DOCUMENT_TYPE_REDIS_KEY, fields); + List result = RedisUtil.hmget(DocConstant.DOC_TYPE_REDIS_KEY, fields); long now = DateUtil.getTimestampNow(); //日期不是今天时,更新全部 Object firstItem = result.get(0); if (null == firstItem || now != (long) firstItem) { - updateAllDocument(now); - log.info("更新【{}】种单据ID成功", DocumentConstant.DOCUMENT_TYPE.length); + updateAllDoc(now); + log.info("更新【{}】种单据ID成功", DocConstant.DOC_TYPE.length); return; } @@ -58,31 +58,31 @@ public class DocumentTask { for (int i = 1; i < resultSize; i++) { if (result.get(i) == null) { updateNum++; - update.put(DocumentConstant.DOCUMENT_TYPE[i - 1], 1); + update.put(DocConstant.DOC_TYPE[i - 1], 1); } } if (updateNum > 0) { - RedisUtil.hmset(DocumentConstant.DOCUMENT_TYPE_REDIS_KEY, update); + RedisUtil.hmset(DocConstant.DOC_TYPE_REDIS_KEY, update); log.info("更新增加的单据【{}】种", updateNum); } } //每种单据的值置为1 - private void updateAllDocument(long now) { + private void updateAllDoc(long now) { Map map = new HashMap<>(); map.put("date", now); - for (String v : DocumentConstant.DOCUMENT_TYPE) { + for (String v : DocConstant.DOC_TYPE) { 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) { 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)) { if (!locker.lock()) { @@ -91,10 +91,10 @@ public class DocumentTask { } if (type == 0) { - initDocumentsID(); + initDocId(); } else { - updateAllDocument(DateUtil.getTimestampNow()); + updateAllDoc(DateUtil.getTimestampNow()); } log.info("{}成功,耗时:{}毫秒", action, ChronoUnit.MILLIS.between(start, Instant.now())); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/schedule/StatisticTask.java b/java/local/src/main/java/cn/toesbieya/jxc/schedule/StatisticTask.java index 8543ebd..25dbc23 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/schedule/StatisticTask.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/schedule/StatisticTask.java @@ -21,11 +21,11 @@ import java.util.Map; @Slf4j public class StatisticTask { @Resource - private StatisticMapper statisticMapper; + private StatisticMapper mapper; @PostConstruct public void run() { - this.autoStat(); + autoStat(); } //每天零点统计信息 @@ -38,23 +38,23 @@ public class StatisticTask { long today = DateUtil.getTimestampNow(); //检查是否已统计过昨日已完成的订单数 - if (!statisticMapper.checkDailyFinishOrderExist(lastDay)) { - Integer lastDayPurchaseOrderFinish = statisticMapper.getPurchaseOrderLastDayFinishOrderNum(); - Integer lastDaySellOrderFinish = statisticMapper.getSellOrderLastDayFinishOrderNum(); + if (!mapper.checkDailyFinishOrderExist(lastDay)) { + Integer lastDayPurchaseOrderFinish = mapper.getPurchaseOrderLastDayFinishOrderNum(); + Integer lastDaySellOrderFinish = mapper.getSellOrderLastDayFinishOrderNum(); StatFinishOrder param = new StatFinishOrder(); param.setPurchase(lastDayPurchaseOrderFinish); param.setSell(lastDaySellOrderFinish); param.setTime(lastDay); - statisticMapper.insertFinishOrder(param); + mapper.insertFinishOrder(param); } //检查是否已统计过昨日的采购额、销售额、毛利 - if (!statisticMapper.checkDailyProfitExist(lastDay)) { + if (!mapper.checkDailyProfitExist(lastDay)) { //昨日各个商品的采购额、销售额 - List purchaseProfitGoods = statisticMapper.getPurchaseOrderDailyProfitGoods(lastDay, today); - List sellProfitGoods = statisticMapper.getSellOrderDailyProfitGoods(lastDay, today); + List purchaseProfitGoods = mapper.getPurchaseOrderDailyProfitGoods(lastDay, today); + List sellProfitGoods = mapper.getSellOrderDailyProfitGoods(lastDay, today); //昨日的采购总额、销售总额 BigDecimal totalPurchase = new BigDecimal(0); @@ -104,10 +104,10 @@ public class StatisticTask { statProfitTotal.setProfit(totalProfit); statProfitTotal.setTime(lastDay); - statisticMapper.insertProfitTotal(statProfitTotal); + mapper.insertProfitTotal(statProfitTotal); if (purchaseProfitGoods.size() > 0) { - statisticMapper.insertProfitGoodsBatch(purchaseProfitGoods); + mapper.insertProfitGoodsBatch(purchaseProfitGoods); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java index 8af16a5..d5585b1 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java @@ -4,15 +4,17 @@ import cn.toesbieya.jxc.annoation.TimeCost; import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.enumeration.GeneralStatusEnum; import cn.toesbieya.jxc.enumeration.RecLoginHistoryEnum; -import cn.toesbieya.jxc.mapper.SysRoleMapper; import cn.toesbieya.jxc.mapper.SysUserMapper; -import cn.toesbieya.jxc.model.entity.SysResource; +import cn.toesbieya.jxc.model.entity.RecLoginHistory; import cn.toesbieya.jxc.model.entity.SysRole; import cn.toesbieya.jxc.model.entity.SysUser; import cn.toesbieya.jxc.model.vo.*; +import cn.toesbieya.jxc.service.sys.SysDepartmentService; +import cn.toesbieya.jxc.service.sys.SysResourceService; +import cn.toesbieya.jxc.service.sys.SysRoleService; import cn.toesbieya.jxc.utils.QiniuUtil; -import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.SessionUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -30,11 +32,17 @@ public class AccountService { @Resource private SysDepartmentService departmentService; @Resource - private SysRoleMapper roleMapper; + private SysRoleService roleService; @TimeCost public Result login(LoginParam param, String ip) { - SysUser user = userMapper.getByNameAndPwd(param.getUsername(), param.getPassword()); + long now = System.currentTimeMillis(); + + SysUser user = userMapper.selectOne( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getName, param.getUsername()) + .eq(SysUser::getPwd, param.getPassword()) + ); if (user == null) { return Result.fail("用户名或密码错误"); @@ -63,7 +71,7 @@ public class AccountService { if (roleId != null) { //获取用户的角色 - SysRole role = roleMapper.selectById(roleId); + SysRole role = roleService.getRoleById(roleId); if (role != null) { //设置角色名称 @@ -72,12 +80,12 @@ public class AccountService { info.setRoleName(roleName); //获取用户的权限列表 - List resources = resourceService.getByRole(roleId); + List resources = resourceService.getResourceByRole(role); userResourcesUrlMap = new HashMap<>(128); userResourcesIdSet = new HashSet<>(128); - for (SysResource resource : resources) { + for (ResourceVo resource : resources) { Integer resourceId = resource.getId(); userResourcesUrlMap.put(resource.getUrl(), resourceId); userResourcesIdSet.add(resourceId); @@ -110,14 +118,32 @@ public class AccountService { SessionUtil.save(userVo); //记录登陆信息 - recService.insertLoginHistory(userVo, ip, RecLoginHistoryEnum.LOGIN); + recService.insertLoginHistory( + RecLoginHistory + .builder() + .uid(user.getId()) + .uname(user.getName()) + .ip(ip) + .type(RecLoginHistoryEnum.LOGIN.getCode()) + .time(now) + .build() + ); return Result.success(info); } public Result logout(UserVo user, String ip) { if (user != null) { - recService.insertLoginHistory(user, ip, RecLoginHistoryEnum.LOGOUT); + recService.insertLoginHistory( + RecLoginHistory + .builder() + .uid(user.getId()) + .uname(user.getName()) + .ip(ip) + .type(RecLoginHistoryEnum.LOGOUT.getCode()) + .time(System.currentTimeMillis()) + .build() + ); SessionUtil.remove(user.getToken()); } @@ -127,7 +153,10 @@ public class AccountService { public Result register(RegisterParam param) { String name = param.getUsername(); - if (userMapper.isNameExist(name, null)) { + if (userMapper + .selectCount(Wrappers.lambdaQuery(SysUser.class).eq(SysUser::getName, name)) + .equals(0) + ) { return Result.fail("该用户名称已存在"); } @@ -145,13 +174,24 @@ public class AccountService { @UserAction("'修改密码'") public Result updatePwd(PasswordUpdateParam param) { - int rows = userMapper.updatePwd(param); + int rows = userMapper.update( + null, + Wrappers.lambdaUpdate(SysUser.class) + .set(SysUser::getPwd, param.getNewPwd()) + .eq(SysUser::getId, param.getId()) + .eq(SysUser::getPwd, param.getOldPwd()) + ); return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请检查原密码是否正确"); } @UserAction("'修改头像'") public Result updateAvatar(UserVo user, String avatar) { - int rows = userMapper.updateAvatar(user.getId(), avatar); + int rows = userMapper.update( + null, + Wrappers.lambdaUpdate(SysUser.class) + .set(SysUser::getAvatar, avatar) + .eq(SysUser::getId, user.getId()) + ); //更新成功后删除云上旧的头像,同时更新redis中的用户信息 if (rows > 0) { @@ -159,10 +199,8 @@ public class AccountService { if (!StringUtils.isEmpty(oldAvatar)) { QiniuUtil.delete(oldAvatar); } - user.setAvatar(avatar); SessionUtil.save(user); - return Result.success("上传头像成功"); } @@ -173,6 +211,11 @@ public class AccountService { } public boolean checkName(String name, Integer id) { - return !userMapper.isNameExist(name, id); + Integer num = userMapper.selectCount( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getName, name) + .ne(id != null, SysUser::getId, id) + ); + return num != null && num > 0; } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizDocumentHistoryService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/BizDocumentHistoryService.java deleted file mode 100644 index cb45b17..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizDocumentHistoryService.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.toesbieya.jxc.service; - -import cn.toesbieya.jxc.model.entity.BizDocumentHistory; -import cn.toesbieya.jxc.model.vo.search.DocumentHistorySearch; -import cn.toesbieya.jxc.mapper.BizDocumentHistoryMapper; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -@Service -public class BizDocumentHistoryService { - @Resource - private BizDocumentHistoryMapper historyMapper; - - public List search(DocumentHistorySearch vo) { - return historyMapper.search(vo); - } - - public List getByPid(String pid) { - return historyMapper.getByPid(pid); - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java index 8068879..d757b53 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/BizStockService.java @@ -1,15 +1,18 @@ package cn.toesbieya.jxc.service; +import cn.toesbieya.jxc.mapper.BizStockMapper; import cn.toesbieya.jxc.model.entity.BizStock; import cn.toesbieya.jxc.model.vo.export.StockExport; import cn.toesbieya.jxc.model.vo.result.PageResult; import cn.toesbieya.jxc.model.vo.result.StockSearchResult; import cn.toesbieya.jxc.model.vo.search.StockSearch; import cn.toesbieya.jxc.utils.ExcelUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.BizStockMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -19,7 +22,7 @@ import java.util.List; @Slf4j public class BizStockService { @Resource - private BizStockMapper stockMapper; + private BizStockMapper mapper; private final ExcelUtil.CommonMergeOptions mergeOptions = new ExcelUtil.CommonMergeOptions( @@ -30,19 +33,50 @@ public class BizStockService { public PageResult search(StockSearch vo) { PageHelper.startPage(vo.getPage(), vo.getPageSize()); - return new PageResult<>(stockMapper.search(vo)); + return new PageResult<>(getByCondition(vo)); + } + + public List getByCondition(StockSearch vo) { + return mapper.search(getSearchCondition(vo)); } + @SuppressWarnings("unchecked") public List getDetail(String cids) { - return stockMapper.getDetail(cids); + return mapper.selectList( + Wrappers.lambdaQuery(BizStock.class) + .inSql(!StringUtils.isEmpty(cids), BizStock::getCid, cids) + .gt(BizStock::getNum, 0) + .orderByDesc(BizStock::getCgddid, BizStock::getCgrkid) + ); } public List getDetailById(String ids) { - return stockMapper.getDetailById(ids); + return mapper.selectList( + Wrappers.lambdaQuery(BizStock.class) + .inSql(!StringUtils.isEmpty(ids), BizStock::getId, ids) + ); } public void export(StockSearch vo, HttpServletResponse response) throws Exception { - List list = stockMapper.export(vo); + List list = mapper.export(getSearchCondition(vo)); ExcelUtil.export(list, response, "库存导出", mergeOptions); } + + private Wrapper getSearchCondition(StockSearch vo) { + String ids = vo.getIds(); + String cids = vo.getCids(); + String cgddids = vo.getCgddids(); + String cgrkids = vo.getCgrkids(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + return Wrappers.lambdaQuery(BizStock.class) + .inSql(!StringUtils.isEmpty(ids), BizStock::getId, ids) + .inSql(!StringUtils.isEmpty(cids), BizStock::getCid, cids) + .inSql(!StringUtils.isEmpty(cgddids), BizStock::getCgddid, cgddids) + .inSql(!StringUtils.isEmpty(cgrkids), BizStock::getCgrkid, cgrkids) + .gt(BizStock::getNum, 0) + .ge(startTime != null, BizStock::getCtime, startTime) + .le(endTime != null, BizStock::getCtime, endTime); + } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/RecService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/RecService.java index a80a48f..9860a0b 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/RecService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/RecService.java @@ -1,26 +1,29 @@ package cn.toesbieya.jxc.service; -import cn.toesbieya.jxc.enumeration.RecLoginHistoryEnum; -import cn.toesbieya.jxc.enumeration.UserActionEnum; +import cn.toesbieya.jxc.mapper.RecAttachmentMapper; +import cn.toesbieya.jxc.mapper.RecLoginHistoryMapper; +import cn.toesbieya.jxc.mapper.RecUserActionMapper; import cn.toesbieya.jxc.model.entity.RecAttachment; import cn.toesbieya.jxc.model.entity.RecLoginHistory; import cn.toesbieya.jxc.model.entity.RecUserAction; -import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.result.PageResult; import cn.toesbieya.jxc.model.vo.search.LoginHistorySearch; import cn.toesbieya.jxc.model.vo.search.UserActionSearch; +import cn.toesbieya.jxc.utils.IpUtil; import cn.toesbieya.jxc.utils.QiniuUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.RecAttachmentMapper; -import cn.toesbieya.jxc.mapper.RecLoginHistoryMapper; -import cn.toesbieya.jxc.mapper.RecUserActionMapper; -import cn.toesbieya.jxc.utils.IpUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; @Service @Slf4j @@ -33,55 +36,104 @@ public class RecService { private RecAttachmentMapper attachmentMapper; public PageResult searchLoginHistory(LoginHistorySearch vo) { + Integer uid = vo.getUid(); + String uname = vo.getUname(); + Integer type = vo.getType(); + String ip = vo.getIp(); + String address = vo.getAddress(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + Wrapper wrapper = + Wrappers.lambdaQuery(RecLoginHistory.class) + .eq(uid != null, RecLoginHistory::getUid, uid) + .like(!StringUtils.isEmpty(uname), RecLoginHistory::getUname, vo.getUname()) + .eq(type != null, RecLoginHistory::getType, type) + .eq(!StringUtils.isEmpty(ip), RecLoginHistory::getIp, vo.getIp()) + .like(!StringUtils.isEmpty(address), RecLoginHistory::getAddress, vo.getAddress()) + .ge(startTime != null, RecLoginHistory::getTime, startTime) + .le(endTime != null, RecLoginHistory::getTime, endTime) + .orderByDesc(RecLoginHistory::getTime); + PageHelper.startPage(vo.getPage(), vo.getPageSize()); - List list = loginHistoryMapper.search(vo); - return new PageResult<>(list); + return new PageResult<>(loginHistoryMapper.selectList(wrapper)); } public PageResult searchUserAction(UserActionSearch vo) { + Integer uid = vo.getUid(); + String uname = vo.getUname(); + String type = vo.getType(); + String ip = vo.getIp(); + String url = vo.getUrl(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + Wrapper wrapper = + Wrappers.lambdaQuery(RecUserAction.class) + .eq(uid != null, RecUserAction::getUid, uid) + .like(!StringUtils.isEmpty(uname), RecUserAction::getUname, uname) + .inSql(!StringUtils.isEmpty(type), RecUserAction::getType, type) + .eq(!StringUtils.isEmpty(ip), RecUserAction::getIp, ip) + .eq(!StringUtils.isEmpty(url), RecUserAction::getUrl, url) + .ge(startTime != null, RecUserAction::getTime, startTime) + .le(endTime != null, RecUserAction::getTime, endTime) + .orderByDesc(RecUserAction::getTime); + PageHelper.startPage(vo.getPage(), vo.getPageSize()); - List list = userActionMapper.search(vo); - return new PageResult<>(list); + return new PageResult<>(userActionMapper.selectList(wrapper)); } public List getAttachmentByPid(String pid) { - return attachmentMapper.getByPid(pid); + if (StringUtils.isEmpty(pid)) { + return Collections.emptyList(); + } + + return attachmentMapper.selectList( + Wrappers.lambdaQuery(RecAttachment.class) + .eq(RecAttachment::getPid, pid) + .orderByAsc(RecAttachment::getSort) + ); } public void handleAttachment(List uploadImageList, List deleteImageList) { - if (uploadImageList != null && uploadImageList.size() > 0) { - attachmentMapper.add(uploadImageList); + if (!CollectionUtils.isEmpty(uploadImageList)) { + attachmentMapper.insertBatch(uploadImageList); } - if (deleteImageList != null && deleteImageList.size() > 0) { - attachmentMapper.delByUrls(deleteImageList); - QiniuUtil.deleteBatch(deleteImageList.toArray(new String[0])); + if (!CollectionUtils.isEmpty(deleteImageList)) { + attachmentMapper.delete( + Wrappers.lambdaQuery(RecAttachment.class) + .in(RecAttachment::getUrl, deleteImageList) + ); + QiniuUtil.deleteBatch(deleteImageList); } } public void delAttachmentByPid(String pid) { - List urls = attachmentMapper.getUrlByPid(pid); - if (urls.size() == 0) return; - attachmentMapper.delByPid(pid); - QiniuUtil.deleteBatch(urls.toArray(new String[0])); + List list = attachmentMapper.selectList( + Wrappers.lambdaQuery(RecAttachment.class) + .eq(RecAttachment::getPid, pid) + ); + + if (CollectionUtils.isEmpty(list)) return; + + attachmentMapper.delete(Wrappers.lambdaQuery(RecAttachment.class).eq(RecAttachment::getPid, pid)); + + List urls = list.stream().map(RecAttachment::getUrl).collect(Collectors.toList()); + QiniuUtil.deleteBatch(urls); } @Async("dbInsertExecutor") - public void insertLoginHistory(UserVo user, String ip, RecLoginHistoryEnum historyEnum) { - RecLoginHistory history = RecLoginHistory.builder() - .uid(user.getId()) - .uname(user.getName()) - .ip(ip) - .type(historyEnum.getCode()) - .time(System.currentTimeMillis()) - .build(); - history.setAddress(IpUtil.getIpAddress(ip)); + public void insertLoginHistory(RecLoginHistory history) { + if (StringUtils.isEmpty(history.getAddress())) { + history.setAddress(IpUtil.getIpAddress(history.getIp())); + } + history.setId(null); loginHistoryMapper.insert(history); } @Async("dbInsertExecutor") - public void insertUserAction(RecUserAction action, UserActionEnum type) { - action.setTime(System.currentTimeMillis()); - action.setType(type.getCode()); + public void insertUserAction(RecUserAction action) { + action.setId(null); userActionMapper.insert(action); } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/StatisticService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/StatisticService.java index f8b6c54..1dcd97b 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/StatisticService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/StatisticService.java @@ -21,7 +21,7 @@ import java.util.Map; @Slf4j public class StatisticService { @Resource - private StatisticMapper statisticMapper; + private StatisticMapper mapper; //获取首页四个色块的数据,在线用户、今日采购额、今日销售额、今日毛利润 public FourBlockStat getFourBlock() { @@ -29,8 +29,8 @@ public class StatisticService { FourBlockStat stat = new FourBlockStat(); - BigDecimal purchase = statisticMapper.getPurchaseOrderDailyTotalPurchasePrice(now, null); - BigDecimal sell = statisticMapper.getSellOrderDailyTotalPurchasePrice(now, null); + BigDecimal purchase = mapper.getPurchaseOrderDailyTotalPurchasePrice(now, null); + BigDecimal sell = mapper.getSellOrderDailyTotalPurchasePrice(now, null); long onlineNum = WebSocketUtil.getOnlineUserNum(); @@ -45,25 +45,25 @@ public class StatisticService { //获取历史七天的每日采购额、销售额、毛利润 public List getDailyProfitStat() { long lastWeekDay = DateUtil.getTimestampBeforeNow(7); - return statisticMapper.searchTotalProfit(lastWeekDay, null); + return mapper.searchTotalProfit(lastWeekDay, null); } //获取历史七天已完成的采购订单数、销售订单数 public List getDailyFinishOrder() { long lastWeekDay = DateUtil.getTimestampBeforeNow(7); - return statisticMapper.searchFinishOrder(lastWeekDay, null); + return mapper.searchFinishOrder(lastWeekDay, null); } //获取每种商品的采购总额、销售总额、总毛利 public Collection getTotalProfitGoods() { //获取历史的信息 - List history = statisticMapper.getHistoryTotalProfitGoods(); + List history = mapper.getHistoryTotalProfitGoods(); //获取今日的信息 long today = DateUtil.getTimestampNow(); long nextDay = DateUtil.getTimestampBeforeNow(-1); - history.addAll(statisticMapper.getPurchaseOrderDailyProfitGoods(today, nextDay)); - history.addAll(statisticMapper.getSellOrderDailyProfitGoods(today, nextDay)); + history.addAll(mapper.getPurchaseOrderDailyProfitGoods(today, nextDay)); + history.addAll(mapper.getSellOrderDailyProfitGoods(today, nextDay)); Map map = new HashMap<>(history.size()); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCategoryService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysCategoryService.java deleted file mode 100644 index 84de565..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCategoryService.java +++ /dev/null @@ -1,79 +0,0 @@ -package cn.toesbieya.jxc.service; - -import cn.toesbieya.jxc.annoation.Lock; -import cn.toesbieya.jxc.annoation.UserAction; -import cn.toesbieya.jxc.model.entity.SysCategory; -import cn.toesbieya.jxc.model.vo.search.CategorySearch; -import cn.toesbieya.jxc.mapper.SysCategoryMapper; -import cn.toesbieya.jxc.model.vo.Result; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -@Service -public class SysCategoryService { - @Resource - private SysCategoryMapper categoryMapper; - - public List getAll() { - return categoryMapper.getAll(); - } - - public List search(CategorySearch vo) { - return categoryMapper.search(vo); - } - - @UserAction("'添加分类:'+#category.name") - @Lock("'category'+#category.pid") - public Result add(SysCategory category) { - String err = check(category); - if (err != null) return Result.fail("添加失败," + err); - - int rows = categoryMapper.add(category); - return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); - } - - @UserAction("'修改分类:'+#category.name") - @Lock("'category'+#category.id") - public Result update(SysCategory category) { - String err = check(category); - if (err != null) return Result.fail("修改失败," + err); - - int rows = categoryMapper.update(category); - return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新后重试"); - } - - @UserAction("'删除分类:'+#category.name") - @Lock("'category'+#category.id") - public Result del(SysCategory category) { - Integer cid = category.getId(); - if (categoryMapper.hasChildren(cid)) { - return Result.fail("请先删除该分类下的子节点"); - } - if (categoryMapper.checkIsUse(cid)) { - return Result.fail("该分类已在业务中使用,不可删除"); - } - int rows = categoryMapper.del(cid); - return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); - } - - private String check(SysCategory category) { - if (category.getPid() != 0) { - SysCategory parent = categoryMapper.getById(category.getPid()); - if (parent == null || parent.getType() == 1) { - return "父节点状态变更,请刷新后重试"; - } - } - if (categoryMapper.isNameExist(category.getName(), category.getId())) { - return String.format("分类【%s】已存在",category.getName()); - } - - if (category.getId() != null && category.getType() == 1) { - if (categoryMapper.hasChildren(category.getId())) { - return "该分类下存在子节点,不能改为实体类型"; - } - } - return null; - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCustomerService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysCustomerService.java deleted file mode 100644 index a323205..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysCustomerService.java +++ /dev/null @@ -1,58 +0,0 @@ -package cn.toesbieya.jxc.service; - -import cn.toesbieya.jxc.annoation.UserAction; -import cn.toesbieya.jxc.model.entity.SysCustomer; -import cn.toesbieya.jxc.model.vo.result.PageResult; -import cn.toesbieya.jxc.model.vo.result.RegionValueResult; -import cn.toesbieya.jxc.model.vo.search.CustomerSearch; -import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.SysCustomerMapper; -import cn.toesbieya.jxc.model.vo.Result; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -@Service -public class SysCustomerService { - @Resource - private SysCustomerMapper customerMapper; - - public List getLimitRegion() { - return customerMapper.getLimitRegion(); - } - - public List get() { - return customerMapper.get(); - } - - public PageResult search(CustomerSearch vo) { - PageHelper.startPage(vo.getPage(), vo.getPageSize()); - List SysCustomers = customerMapper.search(vo); - return new PageResult<>(SysCustomers); - } - - @UserAction("'添加客户:'+ #customer.name") - public Result add(SysCustomer customer) { - if (customerMapper.isNameExist(customer.getName(), null)) { - return Result.fail("添加失败,客户【" + customer.getName() + "】已存在"); - } - int rows = customerMapper.add(customer); - return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); - } - - @UserAction("'修改客户:'+ #customer.name") - public Result update(SysCustomer customer) { - if (customerMapper.isNameExist(customer.getName(), customer.getId())) { - return Result.fail("修改失败,客户【" + customer.getName() + "】已存在"); - } - int rows = customerMapper.update(customer); - return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新重试"); - } - - @UserAction("删除客户:'+ #customer.name") - public Result del(SysCustomer customer) { - int rows = customerMapper.del(customer.getId()); - return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysResourceService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysResourceService.java deleted file mode 100644 index 9654cef..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysResourceService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.toesbieya.jxc.service; - -import cn.toesbieya.jxc.model.entity.SysResource; -import cn.toesbieya.jxc.mapper.SysResourceMapper; -import cn.toesbieya.jxc.module.request.RequestModule; -import cn.toesbieya.jxc.model.vo.Result; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; - -import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; - -@Service -@Slf4j -public class SysResourceService { - @Resource - private SysResourceMapper resourceMapper; - - public List get() { - List list = resourceMapper.get(); - completeNode(list); - return list; - } - - public List getAll() { - List list = resourceMapper.getAll(); - completeNode(list); - return list; - } - - public List getByRole(int role) { - List list = resourceMapper.getByRole(role); - completeNode(list); - return list; - } - - public Result update(SysResource resource) { - int rows = resourceMapper.update(resource); - if (rows > 0) { - RequestModule.updateRate(resource.getUrl(), resource.getTotalRate(), resource.getIpRate()); - } - return Result.success("修改成功"); - } - - private void completeNode(List list) { - HashMap url = new HashMap<>(128); - HashMap name = new HashMap<>(128); - - for (SysResource resource : list) { - //pid为0时跳过 - if (resource.getPid() == 0) { - url.put(resource.getId(), resource.getUrl()); - name.put(resource.getId(), resource.getName()); - resource.setFullname(resource.getName()); - continue; - } - - //获取父节点进行拼接 - String parentUrl = url.get(resource.getPid()); - String parentName = name.get(resource.getPid()); - assert !StringUtils.isEmpty(parentUrl) && !StringUtils.isEmpty(parentName); - - resource.setUrl(parentUrl + resource.getUrl()); - resource.setFullname(parentName + " - " + resource.getName()); - url.put(resource.getId(), resource.getUrl()); - name.put(resource.getId(), resource.getFullname()); - } - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysRoleService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysRoleService.java deleted file mode 100644 index c1b56c9..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysRoleService.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.toesbieya.jxc.service; - -import cn.toesbieya.jxc.annoation.UserAction; -import cn.toesbieya.jxc.model.entity.SysRole; -import cn.toesbieya.jxc.model.vo.result.PageResult; -import cn.toesbieya.jxc.model.vo.search.RoleSearch; -import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.SysRoleMapper; -import cn.toesbieya.jxc.model.vo.Result; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -@Service -public class SysRoleService { - @Resource - private SysRoleMapper roleMapper; - - public List get() { - return roleMapper.get(); - } - - public List getAll() { - return roleMapper.getAll(); - } - - public PageResult search(RoleSearch vo) { - PageHelper.startPage(vo.getPage(), vo.getPageSize()); - return new PageResult<>(roleMapper.search(vo)); - } - - @UserAction("'添加角色:'+#role.name") - public Result add(SysRole role) { - if (roleMapper.isNameExist(role.getName(), null)) { - return Result.fail("添加失败,角色名称重复"); - } - int rows = roleMapper.insert(role); - return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); - } - - @UserAction("'修改角色:'+#role.name") - public Result update(SysRole role) { - if (roleMapper.isNameExist(role.getName(), role.getId())) { - return Result.fail("修改失败,角色名称重复"); - } - roleMapper.update(role); - return Result.success("修改成功"); - } - - @UserAction("'删除角色:'+#role.name") - public Result del(SysRole role) { - int rows = roleMapper.del(role.getId()); - return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysSupplierService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysSupplierService.java deleted file mode 100644 index c26dad3..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysSupplierService.java +++ /dev/null @@ -1,58 +0,0 @@ -package cn.toesbieya.jxc.service; - -import cn.toesbieya.jxc.annoation.UserAction; -import cn.toesbieya.jxc.model.entity.SysSupplier; -import cn.toesbieya.jxc.model.vo.result.PageResult; -import cn.toesbieya.jxc.model.vo.result.RegionValueResult; -import cn.toesbieya.jxc.model.vo.search.SupplierSearch; -import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.SysSupplierMapper; -import cn.toesbieya.jxc.model.vo.Result; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.List; - -@Service -public class SysSupplierService { - @Resource - private SysSupplierMapper supplierMapper; - - public List getLimitRegion() { - return supplierMapper.getLimitRegion(); - } - - public List get() { - return supplierMapper.get(); - } - - public PageResult search(SupplierSearch vo) { - PageHelper.startPage(vo.getPage(), vo.getPageSize()); - List sysSuppliers = supplierMapper.search(vo); - return new PageResult<>(sysSuppliers); - } - - @UserAction("'添加供应商:'+ #supplier.name") - public Result add(SysSupplier supplier) { - if (supplierMapper.isNameExist(supplier.getName(), null)) { - return Result.fail("添加失败,供应商【" + supplier.getName() + "】已存在"); - } - int rows = supplierMapper.add(supplier); - return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); - } - - @UserAction("'修改供应商:'+ #supplier.name") - public Result update(SysSupplier supplier) { - if (supplierMapper.isNameExist(supplier.getName(), supplier.getId())) { - return Result.fail("修改失败,供应商【" + supplier.getName() + "】已存在"); - } - int rows = supplierMapper.update(supplier); - return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新重试"); - } - - @UserAction("删除供应商:'+ #supplier.name") - public Result del(SysSupplier supplier) { - int rows = supplierMapper.del(supplier.getId()); - return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysUserService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/SysUserService.java deleted file mode 100644 index af74b99..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysUserService.java +++ /dev/null @@ -1,95 +0,0 @@ -package cn.toesbieya.jxc.service; - -import cn.toesbieya.jxc.annoation.UserAction; -import cn.toesbieya.jxc.model.entity.SysUser; -import cn.toesbieya.jxc.model.vo.UserVo; -import cn.toesbieya.jxc.model.vo.result.PageResult; -import cn.toesbieya.jxc.model.vo.search.UserSearch; -import cn.toesbieya.jxc.utils.Util; -import cn.toesbieya.jxc.utils.WebSocketUtil; -import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.SysUserMapper; -import cn.toesbieya.jxc.model.vo.Result; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.DigestUtils; - -import javax.annotation.Resource; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -@Service -public class SysUserService { - private static final String DEFAULT_PWD = DigestUtils.md5DigestAsHex("123456".getBytes()); - @Resource - private SysUserMapper userMapper; - - public PageResult search(UserSearch vo) { - PageHelper.startPage(vo.getPage(), vo.getPageSize()); - - List users = userMapper.search(vo); - - //当前在线的用户id - Set onlineUserIds = WebSocketUtil.getOnlineUserIds(); - - //设置在线情况 - for (UserVo user : users) { - user.setOnline(Util.some(onlineUserIds, i -> user.getId().equals(i))); - } - - return new PageResult<>(users); - } - - @UserAction("'添加用户:'+#user.name") - public Result add(SysUser user) { - if (userMapper.isNameExist(user.getName(), null)) { - return Result.fail("该用户名称已存在"); - } - - user.setCtime(System.currentTimeMillis()); - user.setPwd(DEFAULT_PWD); - - userMapper.insert(user); - return Result.success("添加成功"); - } - - @UserAction("'修改用户:'+#user.name") - public Result update(SysUser user) { - if (userMapper.isNameExist(user.getName(), user.getId())) { - return Result.fail("该用户名称已存在"); - } - - userMapper.update(user); - - return Result.success("修改成功"); - } - - @UserAction("'删除用户:'+#user.name") - @Transactional(rollbackFor = Exception.class) - public Result del(SysUser user) { - int rows = userMapper.deleteById(user.getId()); - WebSocketUtil.sendLogoutEvent(Collections.singletonList(user.getId()), "该用户已删除"); - return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); - } - - @UserAction - public Result kick(List users) { - WebSocketUtil.sendLogoutEvent( - users - .stream() - .map(SysUser::getId) - .collect(Collectors.toList()), - "你已被强制下线,请重新登陆" - ); - - return Result.success("踢出成功"); - } - - @UserAction("'重置用户密码:'+#user.name") - public Result resetPwd(SysUser user) { - int rows = userMapper.resetPwd(user.getId(), DEFAULT_PWD); - return rows > 0 ? Result.success() : Result.fail("重置失败,未匹配到用户"); - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizDocHistoryService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizDocHistoryService.java new file mode 100644 index 0000000..a3a4cef --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizDocHistoryService.java @@ -0,0 +1,36 @@ +package cn.toesbieya.jxc.service.doc; + +import cn.toesbieya.jxc.mapper.BizDocHistoryMapper; +import cn.toesbieya.jxc.model.entity.BizDocHistory; +import cn.toesbieya.jxc.model.vo.result.PageResult; +import cn.toesbieya.jxc.model.vo.search.DocHistorySearch; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; + +@Service +public class BizDocHistoryService { + @Resource + private BizDocHistoryMapper mapper; + + public PageResult search(DocHistorySearch vo) { + String pid=vo.getPid(); + String type = vo.getType(); + String uid = vo.getUid(); + String uname = vo.getUname(); + + Wrapper 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); + + PageHelper.startPage(vo.getPage(), vo.getPageSize()); + return new PageResult<>(mapper.selectList(wrapper)); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseInboundService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseInboundService.java similarity index 62% rename from java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseInboundService.java rename to java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseInboundService.java index 8e5093f..b289d3b 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseInboundService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseInboundService.java @@ -1,4 +1,4 @@ -package cn.toesbieya.jxc.service; +package cn.toesbieya.jxc.service.doc; import cn.toesbieya.jxc.annoation.Lock; import cn.toesbieya.jxc.annoation.UserAction; @@ -6,20 +6,21 @@ import cn.toesbieya.jxc.enumeration.DocFinishEnum; import cn.toesbieya.jxc.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.exception.JsonResultException; -import cn.toesbieya.jxc.mapper.BizDocumentHistoryMapper; -import cn.toesbieya.jxc.mapper.BizPurchaseInboundMapper; -import cn.toesbieya.jxc.mapper.BizPurchaseOrderMapper; -import cn.toesbieya.jxc.mapper.BizStockMapper; +import cn.toesbieya.jxc.mapper.*; import cn.toesbieya.jxc.model.entity.*; +import cn.toesbieya.jxc.model.vo.PurchaseInboundVo; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.export.PurchaseInboundExport; import cn.toesbieya.jxc.model.vo.result.PageResult; import cn.toesbieya.jxc.model.vo.search.PurchaseInboundSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; -import cn.toesbieya.jxc.utils.DocumentUtil; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.RecService; +import cn.toesbieya.jxc.utils.DocUtil; import cn.toesbieya.jxc.utils.ExcelUtil; -import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.Util; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -39,61 +40,72 @@ public class BizPurchaseInboundService { @Resource private BizPurchaseInboundMapper mainMapper; @Resource + private BizPurchaseInboundSubMapper subMapper; + @Resource private BizPurchaseOrderMapper orderMapper; @Resource - private BizDocumentHistoryMapper historyMapper; + private BizPurchaseOrderSubMapper orderSubMapper; + @Resource + private BizDocHistoryMapper historyMapper; @Resource private BizStockMapper stockMapper; @Resource private RecService recService; - public BizPurchaseInbound getById(String id) { - BizPurchaseInbound main = mainMapper.getById(id); + //组装子表、附件列表的数据 + public PurchaseInboundVo getById(String id) { + BizPurchaseInbound main = mainMapper.selectById(id); if (main == null) return null; - main.setData(this.getSubById(id)); - main.setImageList(recService.getAttachmentByPid(id)); + PurchaseInboundVo vo = new PurchaseInboundVo(main); - return main; + vo.setData(getSubById(id)); + vo.setImageList(recService.getAttachmentByPid(id)); + + return vo; } + //根据主表ID获取子表 public List getSubById(String id) { - return mainMapper.getSubById(id); + return subMapper.selectList( + Wrappers.lambdaQuery(BizPurchaseInboundSub.class) + .eq(BizPurchaseInboundSub::getPid, id) + ); } public PageResult search(PurchaseInboundSearch vo) { PageHelper.startPage(vo.getPage(), vo.getPageSize()); - return new PageResult<>(mainMapper.search(vo)); + return new PageResult<>(mainMapper.selectList(getSearchCondition(vo))); } public void export(PurchaseInboundSearch vo, HttpServletResponse response) throws Exception { - List list = mainMapper.export(vo); + List list = mainMapper.export(getSearchCondition(vo)); ExcelUtil.exportSimply(list, response, "采购入库单导出"); } @UserAction("'添加采购入库单'") @Transactional(rollbackFor = Exception.class) - public Result add(BizPurchaseInbound doc) { + public Result add(PurchaseInboundVo doc) { return addMain(doc); } @UserAction("'修改采购入库单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result update(BizPurchaseInbound doc) { + public Result update(PurchaseInboundVo doc) { return updateMain(doc); } @UserAction("'提交采购入库单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result commit(BizPurchaseInbound doc) { + public Result commit(PurchaseInboundVo doc) { boolean isFirstCreate = StringUtils.isEmpty(doc.getId()); Result result = isFirstCreate ? addMain(doc) : updateMain(doc); historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(doc.getId()) .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) @@ -111,16 +123,16 @@ public class BizPurchaseInboundService { @UserAction("'撤回采购入库单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result withdraw(DocumentStatusUpdate vo, UserVo user) { + public Result withdraw(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("撤回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) @@ -138,18 +150,27 @@ public class BizPurchaseInboundService { @UserAction("'通过采购入库单'+#vo.id") @Lock({"#vo.pid", "#vo.id"}) @Transactional(rollbackFor = Exception.class) - public Result pass(DocumentStatusUpdate vo, UserVo user) { + public Result pass(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); String pid = vo.getPid(); long now = System.currentTimeMillis(); //检查采购订单状态、入库商品是否符合订单要求 - List inboundSubList = mainMapper.getSubById(vo.getId()); - String err = checkOrder(vo.getPid(), inboundSubList); + List subList = getSubById(id); + String err = checkOrder(pid, subList); if (err != null) return Result.fail("通过失败," + err); - if (mainMapper.pass(id, user.getId(), user.getName(), now) < 1) { + if (1 > mainMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseInbound.class) + .set(BizPurchaseInbound::getStatus, DocStatusEnum.VERIFIED.getCode()) + .set(BizPurchaseInbound::getVid, user.getId()) + .set(BizPurchaseInbound::getVname, user.getName()) + .set(BizPurchaseInbound::getVtime, now) + .eq(BizPurchaseInbound::getId, id) + .eq(BizPurchaseInbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) + )) { return Result.fail("通过失败,请刷新重试"); } @@ -157,8 +178,7 @@ public class BizPurchaseInboundService { List stockList = new ArrayList<>(); DocFinishEnum finish = DocFinishEnum.FINISHED; - //使用一级缓存 - List orderSubList = orderMapper.getSubById(pid); + List orderSubList = getOrderSubListByPid(pid); //生成需要入库的商品列表 for (BizPurchaseOrderSub orderSub : orderSubList) { @@ -166,7 +186,7 @@ public class BizPurchaseInboundService { continue; } - BizPurchaseInboundSub inboundSub = Util.find(inboundSubList, i -> i.getCid().equals(orderSub.getCid())); + BizPurchaseInboundSub inboundSub = Util.find(subList, i -> i.getCid().equals(orderSub.getCid())); if (inboundSub == null) continue; @@ -185,28 +205,38 @@ public class BizPurchaseInboundService { } //更新采购订单子表的remainNum - orderMapper.updateSubRemainNum(orderSub.getId(), gap); + orderSubMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseOrderSub.class) + .set(BizPurchaseOrderSub::getRemainNum, gap) + .eq(BizPurchaseOrderSub::getId, orderSub.getId()) + ); } //更新采购订单完成情况 - if (1 > orderMapper.updateFinish(pid, finish.getCode(), finish == DocFinishEnum.FINISHED ? now : null)) { + if (1 > orderMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseOrder.class) + .set(BizPurchaseOrder::getFinish, finish.getCode()) + .set(BizPurchaseOrder::getFtime, finish == DocFinishEnum.FINISHED ? now : null) + .eq(BizPurchaseOrder::getId, pid) + .eq(BizPurchaseOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) + )) { throw new JsonResultException("通过失败,采购订单状态有误,请刷新重试"); } //插入库存 - if (stockList.size() == 0) throw new JsonResultException("通过失败,入库异常"); - stockMapper.batchInsert(stockList); + if (stockList.isEmpty()) throw new JsonResultException("通过失败,入库异常"); + stockMapper.insertBatch(stockList); historyMapper.insert( - BizDocumentHistory.builder() - .pid(id) - .type(DocHistoryEnum.PASS.getCode()) - .uid(user.getId()) - .uname(user.getName()) + BizDocHistory + .builder() + .pid(id).type(DocHistoryEnum.PASS.getCode()) + .uid(user.getId()).uname(user.getName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) - .time(now) - .info(info) + .time(now).info(info) .build() ); @@ -216,16 +246,16 @@ public class BizPurchaseInboundService { @UserAction("'驳回采购入库单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result reject(DocumentStatusUpdate vo, UserVo user) { + public Result reject(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("驳回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) @@ -244,24 +274,24 @@ public class BizPurchaseInboundService { @Lock("#id") @Transactional(rollbackFor = Exception.class) public Result del(String id) { - if (mainMapper.del(id) < 1) { + if (mainMapper.deleteById(id) < 1) { return Result.fail("删除失败"); } //同时删除子表和附件 - mainMapper.delSubByPid(id); + delSubByPid(id); recService.delAttachmentByPid(id); return Result.success("删除成功"); } - private Result addMain(BizPurchaseInbound doc) { + private Result addMain(PurchaseInboundVo doc) { List subList = doc.getData(); String err = checkOrder(doc.getPid(), subList); if (err != null) return Result.fail(err); - String id = DocumentUtil.getDocumentID("CGRK"); + String id = DocUtil.getDocId("CGRK"); if (StringUtils.isEmpty(id)) { return Result.fail("获取单号失败"); @@ -273,7 +303,7 @@ public class BizPurchaseInboundService { subList.forEach(sub -> sub.setPid(id)); mainMapper.insert(doc); - mainMapper.addSub(subList); + subMapper.insertBatch(subList); //插入附件 List uploadImageList = doc.getUploadImageList(); @@ -287,7 +317,7 @@ public class BizPurchaseInboundService { return Result.success("添加成功", id); } - private Result updateMain(BizPurchaseInbound doc) { + private Result updateMain(PurchaseInboundVo doc) { String docId = doc.getId(); String err = checkUpdateStatus(docId); @@ -295,13 +325,20 @@ public class BizPurchaseInboundService { if (err != null) return Result.fail(err); //更新主表 - mainMapper.update(doc); + mainMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseInbound.class) + .set(BizPurchaseInbound::getPid, doc.getPid()) + .set(BizPurchaseInbound::getStatus, doc.getStatus()) + .set(BizPurchaseInbound::getRemark, doc.getRemark()) + .eq(BizPurchaseInbound::getId, docId) + ); //删除旧的子表 - mainMapper.delSubByPid(docId); + delSubByPid(docId); //插入新的子表 - mainMapper.addSub(doc.getData()); + subMapper.insertBatch(doc.getData()); //附件增删 List uploadImageList = doc.getUploadImageList(); @@ -317,7 +354,7 @@ public class BizPurchaseInboundService { //只有拟定状态的单据才能修改 private String checkUpdateStatus(String id) { - BizPurchaseInbound doc = mainMapper.getById(id); + BizPurchaseInbound doc = mainMapper.selectById(id); if (doc == null || !doc.getStatus().equals(DocStatusEnum.DRAFT.getCode())) { return "单据状态已更新,请刷新后重试"; } @@ -326,7 +363,7 @@ public class BizPurchaseInboundService { //检查采购订单是否已审核、未完成、还有未入库的商品 private String checkOrder(String pid, List docSubList) { - BizPurchaseOrder order = orderMapper.getById(pid); + BizPurchaseOrder order = orderMapper.selectById(pid); if (order == null || !order.getStatus().equals(DocStatusEnum.VERIFIED.getCode()) @@ -335,7 +372,7 @@ public class BizPurchaseInboundService { return "采购订单状态异常"; } - List orderSubList = orderMapper.getSubById(pid); + List orderSubList = getOrderSubListByPid(pid); if (CollectionUtils.isEmpty(orderSubList)) return "没有找到采购订单的数据"; @@ -355,4 +392,39 @@ public class BizPurchaseInboundService { } return null; } + + //根据主表ID删除子表 + private void delSubByPid(String pid) { + subMapper.delete( + Wrappers.lambdaQuery(BizPurchaseInboundSub.class) + .eq(BizPurchaseInboundSub::getPid, pid) + ); + } + + //驳回单据,只有等待审核单据的才能被驳回 + private int rejectById(String id) { + return mainMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseInbound.class) + .set(BizPurchaseInbound::getStatus, DocStatusEnum.DRAFT.getCode()) + .eq(BizPurchaseInbound::getId, id) + .eq(BizPurchaseInbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) + ); + } + + private List getOrderSubListByPid(String pid) { + return orderSubMapper.selectList( + Wrappers.lambdaQuery(BizPurchaseOrderSub.class) + .eq(BizPurchaseOrderSub::getPid, pid) + ); + } + + private Wrapper getSearchCondition(PurchaseInboundSearch vo) { + String pid = vo.getPid(); + String pidFuzzy = vo.getPidFuzzy(); + + return DocUtil.baseCondition(BizPurchaseInbound.class, vo) + .eq(pid != null, BizPurchaseInbound::getPid, pid) + .like(!StringUtils.isEmpty(pidFuzzy), BizPurchaseInbound::getPid, pidFuzzy); + } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseOrderService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseOrderService.java similarity index 60% rename from java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseOrderService.java rename to java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseOrderService.java index 947d839..cf80393 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizPurchaseOrderService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseOrderService.java @@ -1,24 +1,29 @@ -package cn.toesbieya.jxc.service; +package cn.toesbieya.jxc.service.doc; import cn.toesbieya.jxc.annoation.Lock; import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.enumeration.DocStatusEnum; +import cn.toesbieya.jxc.mapper.BizDocHistoryMapper; import cn.toesbieya.jxc.mapper.BizPurchaseOrderMapper; -import cn.toesbieya.jxc.model.entity.BizDocumentHistory; +import cn.toesbieya.jxc.mapper.BizPurchaseOrderSubMapper; +import cn.toesbieya.jxc.model.entity.BizDocHistory; import cn.toesbieya.jxc.model.entity.BizPurchaseOrder; import cn.toesbieya.jxc.model.entity.BizPurchaseOrderSub; import cn.toesbieya.jxc.model.entity.RecAttachment; +import cn.toesbieya.jxc.model.vo.PurchaseOrderVo; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.export.PurchaseOrderExport; import cn.toesbieya.jxc.model.vo.result.PageResult; import cn.toesbieya.jxc.model.vo.search.PurchaseOrderSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.RecService; +import cn.toesbieya.jxc.utils.DocUtil; import cn.toesbieya.jxc.utils.ExcelUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.BizDocumentHistoryMapper; -import cn.toesbieya.jxc.utils.DocumentUtil; -import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,57 +39,66 @@ public class BizPurchaseOrderService { @Resource private BizPurchaseOrderMapper mainMapper; @Resource - private BizDocumentHistoryMapper historyMapper; + private BizPurchaseOrderSubMapper subMapper; + @Resource + private BizDocHistoryMapper historyMapper; @Resource private RecService recService; - public BizPurchaseOrder getById(String id) { - BizPurchaseOrder main = mainMapper.getById(id); + //组装子表、附件列表的数据 + public PurchaseOrderVo getById(String id) { + BizPurchaseOrder main = mainMapper.selectById(id); if (main == null) return null; - main.setData(this.getSubById(id)); - main.setImageList(recService.getAttachmentByPid(id)); + PurchaseOrderVo vo = new PurchaseOrderVo(main); + + vo.setData(getSubById(id)); + vo.setImageList(recService.getAttachmentByPid(id)); - return main; + return vo; } + //根据主表ID获取子表 public List getSubById(String id) { - return mainMapper.getSubById(id); + return subMapper.selectList( + Wrappers.lambdaQuery(BizPurchaseOrderSub.class) + .eq(BizPurchaseOrderSub::getPid, id) + ); } public PageResult search(PurchaseOrderSearch vo) { PageHelper.startPage(vo.getPage(), vo.getPageSize()); - return new PageResult<>(mainMapper.search(vo)); + return new PageResult<>(mainMapper.selectList(getSearchCondition(vo))); } public void export(PurchaseOrderSearch vo, HttpServletResponse response) throws Exception { - List list = mainMapper.export(vo); + List list = mainMapper.export(getSearchCondition(vo)); ExcelUtil.exportSimply(list, response, "采购订单导出"); } @UserAction("'添加采购订单'") @Transactional(rollbackFor = Exception.class) - public Result add(BizPurchaseOrder doc) { + public Result add(PurchaseOrderVo doc) { return addMain(doc); } @UserAction("'修改采购订单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result update(BizPurchaseOrder doc) { + public Result update(PurchaseOrderVo doc) { return updateMain(doc); } @UserAction("'提交采购订单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result commit(BizPurchaseOrder doc) { + public Result commit(PurchaseOrderVo doc) { boolean isFirstCreate = StringUtils.isEmpty(doc.getId()); Result result = isFirstCreate ? addMain(doc) : updateMain(doc); historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(doc.getId()) .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) @@ -102,16 +116,16 @@ public class BizPurchaseOrderService { @UserAction("'撤回采购订单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result withdraw(DocumentStatusUpdate vo, UserVo user) { + public Result withdraw(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("撤回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) @@ -129,17 +143,26 @@ public class BizPurchaseOrderService { @UserAction("'通过采购订单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result pass(DocumentStatusUpdate vo, UserVo user) { + public Result pass(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); long now = System.currentTimeMillis(); - if (mainMapper.pass(id, user.getId(), user.getName(), now) < 1) { + if (0 == mainMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseOrder.class) + .set(BizPurchaseOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) + .set(BizPurchaseOrder::getVid, user.getId()) + .set(BizPurchaseOrder::getVname, user.getName()) + .set(BizPurchaseOrder::getVtime, now) + .eq(BizPurchaseOrder::getId, id) + .eq(BizPurchaseOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) + )) { return Result.fail("通过失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) @@ -157,16 +180,16 @@ public class BizPurchaseOrderService { @UserAction("'驳回采购订单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result reject(DocumentStatusUpdate vo, UserVo user) { + public Result reject(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("驳回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) @@ -185,19 +208,19 @@ public class BizPurchaseOrderService { @Lock("#id") @Transactional(rollbackFor = Exception.class) public Result del(String id) { - if (mainMapper.del(id) < 1) { + if (mainMapper.deleteById(id) < 1) { return Result.fail("删除失败"); } //同时删除子表和附件 - mainMapper.delSubByPid(id); + delSubByPid(id); recService.delAttachmentByPid(id); return Result.success("删除成功"); } - private Result addMain(BizPurchaseOrder doc) { - String id = DocumentUtil.getDocumentID("CGDD"); + private Result addMain(PurchaseOrderVo doc) { + String id = DocUtil.getDocId("CGDD"); if (StringUtils.isEmpty(id)) { return Result.fail("获取单号失败"); @@ -215,7 +238,7 @@ public class BizPurchaseOrderService { //插入主表和子表 mainMapper.insert(doc); - mainMapper.addSub(subList); + subMapper.insertBatch(subList); //插入附件 List uploadImageList = doc.getUploadImageList(); @@ -229,22 +252,31 @@ public class BizPurchaseOrderService { return Result.success("添加成功", id); } - private Result updateMain(BizPurchaseOrder doc) { + private Result updateMain(PurchaseOrderVo doc) { String docId = doc.getId(); String err = checkUpdateStatus(docId); if (err != null) return Result.fail(err); //更新主表 - mainMapper.update(doc); + mainMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseOrder.class) + .set(BizPurchaseOrder::getSid, doc.getSid()) + .set(BizPurchaseOrder::getSname, doc.getSname()) + .set(BizPurchaseOrder::getStatus, doc.getStatus()) + .set(BizPurchaseOrder::getTotal, doc.getTotal()) + .set(BizPurchaseOrder::getRemark, doc.getRemark()) + .eq(BizPurchaseOrder::getId, docId) + ); //删除旧的子表 - mainMapper.delSubByPid(docId); + delSubByPid(docId); //插入新的子表 List subList = doc.getData(); subList.forEach(sub -> sub.setRemainNum(sub.getNum())); - mainMapper.addSub(subList); + subMapper.insertBatch(subList); //附件增删 List uploadImageList = doc.getUploadImageList(); @@ -260,10 +292,44 @@ public class BizPurchaseOrderService { //只有拟定状态的单据才能修改 private String checkUpdateStatus(String id) { - BizPurchaseOrder doc = mainMapper.getById(id); + BizPurchaseOrder doc = mainMapper.selectById(id); if (doc == null || !doc.getStatus().equals(DocStatusEnum.DRAFT.getCode())) { return "单据状态已更新,请刷新后重试"; } return null; } + + //根据主表ID删除子表 + private void delSubByPid(String pid) { + subMapper.delete( + Wrappers.lambdaQuery(BizPurchaseOrderSub.class) + .eq(BizPurchaseOrderSub::getPid, pid) + ); + } + + //驳回单据,只有等待审核单据的才能被驳回 + private int rejectById(String id) { + return mainMapper.update( + null, + Wrappers.lambdaUpdate(BizPurchaseOrder.class) + .set(BizPurchaseOrder::getStatus, DocStatusEnum.DRAFT.getCode()) + .eq(BizPurchaseOrder::getId, id) + .eq(BizPurchaseOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) + ); + } + + private Wrapper getSearchCondition(PurchaseOrderSearch vo) { + Integer sid = vo.getSid(); + String sname = vo.getSname(); + String finish = vo.getFinish(); + Long ftimeStart = vo.getFtimeStart(); + Long ftimeEnd = vo.getFtimeEnd(); + + return DocUtil.baseCondition(BizPurchaseOrder.class, vo) + .eq(sid != null, BizPurchaseOrder::getSid, sid) + .like(!StringUtils.isEmpty(sname), BizPurchaseOrder::getSname, sname) + .inSql(!StringUtils.isEmpty(finish), BizPurchaseOrder::getFinish, finish) + .ge(ftimeStart != null, BizPurchaseOrder::getCtime, ftimeStart) + .le(ftimeEnd != null, BizPurchaseOrder::getCtime, ftimeEnd); + } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOrderService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOrderService.java similarity index 63% rename from java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOrderService.java rename to java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOrderService.java index e7f7efd..47a94b9 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOrderService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOrderService.java @@ -1,23 +1,28 @@ -package cn.toesbieya.jxc.service; +package cn.toesbieya.jxc.service.doc; import cn.toesbieya.jxc.annoation.Lock; import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.enumeration.DocStatusEnum; -import cn.toesbieya.jxc.mapper.BizDocumentHistoryMapper; +import cn.toesbieya.jxc.mapper.BizDocHistoryMapper; import cn.toesbieya.jxc.mapper.BizSellOrderMapper; -import cn.toesbieya.jxc.mapper.BizStockMapper; +import cn.toesbieya.jxc.mapper.BizSellOrderSubMapper; import cn.toesbieya.jxc.model.entity.*; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.SellOrderVo; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.export.SellOrderExport; import cn.toesbieya.jxc.model.vo.result.PageResult; import cn.toesbieya.jxc.model.vo.result.StockSearchResult; import cn.toesbieya.jxc.model.vo.search.SellOrderSearch; import cn.toesbieya.jxc.model.vo.search.StockSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; -import cn.toesbieya.jxc.utils.DocumentUtil; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.BizStockService; +import cn.toesbieya.jxc.service.RecService; +import cn.toesbieya.jxc.utils.DocUtil; import cn.toesbieya.jxc.utils.ExcelUtil; -import cn.toesbieya.jxc.model.vo.Result; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -36,58 +41,68 @@ public class BizSellOrderService { @Resource private BizSellOrderMapper mainMapper; @Resource - private BizStockMapper stockMapper; + private BizSellOrderSubMapper subMapper; @Resource - private BizDocumentHistoryMapper historyMapper; + private BizDocHistoryMapper historyMapper; + @Resource + private BizStockService stockService; @Resource private RecService recService; - public BizSellOrder getById(String id) { - BizSellOrder main = mainMapper.getById(id); + //组装子表、附件列表的数据 + public SellOrderVo getById(String id) { + BizSellOrder main = mainMapper.selectById(id); + if (main == null) return null; - main.setData(this.getSubById(id)); - main.setImageList(recService.getAttachmentByPid(id)); + SellOrderVo vo = new SellOrderVo(main); - return main; + vo.setData(getSubById(id)); + vo.setImageList(recService.getAttachmentByPid(id)); + + return vo; } + //根据主表ID获取子表 public List getSubById(String id) { - return mainMapper.getSubById(id); + return subMapper.selectList( + Wrappers.lambdaQuery(BizSellOrderSub.class) + .eq(BizSellOrderSub::getPid, id) + ); } public PageResult search(SellOrderSearch vo) { PageHelper.startPage(vo.getPage(), vo.getPageSize()); - return new PageResult<>(mainMapper.search(vo)); + return new PageResult<>(mainMapper.selectList(getSearchCondition(vo))); } public void export(SellOrderSearch vo, HttpServletResponse response) throws Exception { - List list = mainMapper.export(vo); + List list = mainMapper.export(getSearchCondition(vo)); ExcelUtil.exportSimply(list, response, "销售订单导出"); } @UserAction("'添加销售订单'") @Transactional(rollbackFor = Exception.class) - public Result add(BizSellOrder doc) { + public Result add(SellOrderVo doc) { return addMain(doc); } @UserAction("'修改销售订单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result update(BizSellOrder doc) { + public Result update(SellOrderVo doc) { return updateMain(doc); } @UserAction("'提交销售订单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result commit(BizSellOrder doc) { + public Result commit(SellOrderVo doc) { boolean isFirstCreate = StringUtils.isEmpty(doc.getId()); Result result = isFirstCreate ? addMain(doc) : updateMain(doc); historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(doc.getId()) .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) @@ -105,16 +120,16 @@ public class BizSellOrderService { @UserAction("'撤回销售订单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result withdraw(DocumentStatusUpdate vo, UserVo user) { + public Result withdraw(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("撤回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) @@ -132,17 +147,26 @@ public class BizSellOrderService { @UserAction("'通过销售订单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result pass(DocumentStatusUpdate vo, UserVo user) { + public Result pass(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); long now = System.currentTimeMillis(); - if (mainMapper.pass(id, user.getId(), user.getName(), now) < 1) { + if (0 == mainMapper.update( + null, + Wrappers.lambdaUpdate(BizSellOrder.class) + .set(BizSellOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) + .set(BizSellOrder::getVid, user.getId()) + .set(BizSellOrder::getVname, user.getName()) + .set(BizSellOrder::getVtime, now) + .eq(BizSellOrder::getId, id) + .eq(BizSellOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) + )) { return Result.fail("通过失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) @@ -160,16 +184,16 @@ public class BizSellOrderService { @UserAction("'驳回销售订单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result reject(DocumentStatusUpdate vo, UserVo user) { + public Result reject(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("驳回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) @@ -188,22 +212,22 @@ public class BizSellOrderService { @Lock("#id") @Transactional(rollbackFor = Exception.class) public Result del(String id) { - if (mainMapper.del(id) < 1) { + if (mainMapper.deleteById(id) < 1) { return Result.fail("删除失败"); } //同时删除子表和附件 - mainMapper.delSubByPid(id); + delSubByPid(id); recService.delAttachmentByPid(id); return Result.success("删除成功"); } - private Result addMain(BizSellOrder doc) { + private Result addMain(SellOrderVo doc) { String err = checkStock(doc.getData()); if (err != null) return Result.fail(err); - String id = DocumentUtil.getDocumentID("XSDD"); + String id = DocUtil.getDocId("XSDD"); if (StringUtils.isEmpty(id)) { return Result.fail("获取单号失败"); @@ -220,7 +244,7 @@ public class BizSellOrderService { //插入主表和子表 mainMapper.insert(doc); - mainMapper.addSub(subList); + subMapper.insertBatch(subList); //插入附件 List uploadImageList = doc.getUploadImageList(); @@ -234,7 +258,7 @@ public class BizSellOrderService { return Result.success("添加成功", id); } - private Result updateMain(BizSellOrder doc) { + private Result updateMain(SellOrderVo doc) { String docId = doc.getId(); String err = checkUpdateStatus(docId); @@ -242,15 +266,24 @@ public class BizSellOrderService { if (err != null) return Result.fail(err); //更新主表 - mainMapper.update(doc); + mainMapper.update( + null, + Wrappers.lambdaUpdate(BizSellOrder.class) + .set(BizSellOrder::getCustomerId, doc.getCustomerId()) + .set(BizSellOrder::getCustomerName, doc.getCustomerName()) + .set(BizSellOrder::getStatus, doc.getStatus()) + .set(BizSellOrder::getTotal, doc.getTotal()) + .set(BizSellOrder::getRemark, doc.getRemark()) + .eq(BizSellOrder::getId, docId) + ); //删除旧的子表 - mainMapper.delSubByPid(docId); + delSubByPid(docId); //插入新的子表 List subList = doc.getData(); - subList.forEach(sub->sub.setRemainNum(sub.getNum())); - mainMapper.addSub(subList); + subList.forEach(sub -> sub.setRemainNum(sub.getNum())); + subMapper.insertBatch(subList); //附件增删 List uploadImageList = doc.getUploadImageList(); @@ -266,7 +299,7 @@ public class BizSellOrderService { //只有拟定状态的单据才能修改 private String checkUpdateStatus(String id) { - BizSellOrder doc = mainMapper.getById(id); + BizSellOrder doc = mainMapper.selectById(id); if (doc == null || !doc.getStatus().equals(DocStatusEnum.DRAFT.getCode())) { return "单据状态已更新,请刷新后重试"; } @@ -278,7 +311,7 @@ public class BizSellOrderService { List cids = list.stream().map(i -> String.valueOf(i.getCid())).collect(Collectors.toList()); StockSearch vo = new StockSearch(); vo.setCids(String.join(",", cids)); - List stockList = stockMapper.search(vo); + List stockList = stockService.getByCondition(vo); //list长度必然大于等于stockList长度 int subListLength = list.size(); @@ -288,7 +321,7 @@ public class BizSellOrderService { return String.format("商品【%s】库存不足", sub.getCname()); } - list.sort(Comparator.comparing(BizDocumentSub::getCid)); + list.sort(Comparator.comparing(BizDocSub::getCid)); stockList.sort(Comparator.comparing(StockSearchResult::getCid)); for (int i = 0; i < subListLength; i++) { BizSellOrderSub sub = list.get(i); @@ -300,4 +333,38 @@ public class BizSellOrderService { 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 getSearchCondition(SellOrderSearch vo) { + Integer customerId = vo.getCustomerId(); + String customerName = vo.getCustomerName(); + String finish = vo.getFinish(); + Long ftimeStart = vo.getFtimeStart(); + Long ftimeEnd = vo.getFtimeEnd(); + + return DocUtil.baseCondition(BizSellOrder.class, vo) + .eq(customerId != null, BizSellOrder::getCustomerId, customerId) + .like(!StringUtils.isEmpty(customerName), BizSellOrder::getCustomerName, customerName) + .inSql(!StringUtils.isEmpty(finish), BizSellOrder::getFinish, finish) + .ge(ftimeStart != null, BizSellOrder::getCtime, ftimeStart) + .le(ftimeEnd != null, BizSellOrder::getCtime, ftimeEnd); + } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOutboundService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOutboundService.java similarity index 67% rename from java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOutboundService.java rename to java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOutboundService.java index b64d0c1..d699d84 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/BizSellOutboundService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOutboundService.java @@ -1,4 +1,4 @@ -package cn.toesbieya.jxc.service; +package cn.toesbieya.jxc.service.doc; import cn.toesbieya.jxc.annoation.Lock; import cn.toesbieya.jxc.annoation.UserAction; @@ -6,20 +6,22 @@ import cn.toesbieya.jxc.enumeration.DocFinishEnum; import cn.toesbieya.jxc.enumeration.DocHistoryEnum; import cn.toesbieya.jxc.enumeration.DocStatusEnum; import cn.toesbieya.jxc.exception.JsonResultException; -import cn.toesbieya.jxc.mapper.BizDocumentHistoryMapper; -import cn.toesbieya.jxc.mapper.BizSellOrderMapper; -import cn.toesbieya.jxc.mapper.BizSellOutboundMapper; -import cn.toesbieya.jxc.mapper.BizStockMapper; +import cn.toesbieya.jxc.mapper.*; import cn.toesbieya.jxc.model.entity.*; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.SellOutboundVo; import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.export.SellOutboundExport; import cn.toesbieya.jxc.model.vo.result.PageResult; import cn.toesbieya.jxc.model.vo.search.SellOutboundSearch; -import cn.toesbieya.jxc.model.vo.update.DocumentStatusUpdate; -import cn.toesbieya.jxc.utils.DocumentUtil; +import cn.toesbieya.jxc.model.vo.update.DocStatusUpdate; +import cn.toesbieya.jxc.service.BizStockService; +import cn.toesbieya.jxc.service.RecService; +import cn.toesbieya.jxc.utils.DocUtil; import cn.toesbieya.jxc.utils.ExcelUtil; -import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.Util; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -41,9 +43,13 @@ public class BizSellOutboundService { @Resource private BizSellOutboundMapper mainMapper; @Resource + private BizSellOutboundSubMapper subMapper; + @Resource private BizSellOrderMapper orderMapper; @Resource - private BizDocumentHistoryMapper historyMapper; + private BizSellOrderSubMapper orderSubMapper; + @Resource + private BizDocHistoryMapper historyMapper; @Resource private BizStockMapper stockMapper; @Resource @@ -51,53 +57,60 @@ public class BizSellOutboundService { @Resource private BizStockService stockService; - public BizSellOutbound getById(String id) { - BizSellOutbound main = mainMapper.getById(id); + //组装子表、附件列表的数据 + public SellOutboundVo getById(String id) { + BizSellOutbound main = mainMapper.selectById(id); if (main == null) return null; - main.setData(this.getSubById(id)); - main.setImageList(recService.getAttachmentByPid(id)); + SellOutboundVo vo = new SellOutboundVo(main); + + vo.setData(getSubById(id)); + vo.setImageList(recService.getAttachmentByPid(id)); - return main; + return vo; } - public List getSubById(String pid) { - return mainMapper.getSubById(pid); + //根据主表ID获取子表 + public List getSubById(String id) { + return subMapper.selectList( + Wrappers.lambdaQuery(BizSellOutboundSub.class) + .eq(BizSellOutboundSub::getPid, id) + ); } public PageResult search(SellOutboundSearch vo) { PageHelper.startPage(vo.getPage(), vo.getPageSize()); - return new PageResult<>(mainMapper.search(vo)); + return new PageResult<>(mainMapper.selectList(getSearchCondition(vo))); } public void export(SellOutboundSearch vo, HttpServletResponse response) throws Exception { - List list = mainMapper.export(vo); + List list = mainMapper.export(getSearchCondition(vo)); ExcelUtil.exportSimply(list, response, "销售出库单导出"); } @UserAction("'添加销售出库单'") @Transactional(rollbackFor = Exception.class) - public Result add(BizSellOutbound doc) { + public Result add(SellOutboundVo doc) { return addMain(doc); } @UserAction("'修改销售出库单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result update(BizSellOutbound doc) { + public Result update(SellOutboundVo doc) { return updateMain(doc); } @UserAction("'提交销售出库单'+#doc.id") @Lock("#doc.id") @Transactional(rollbackFor = Exception.class) - public Result commit(BizSellOutbound doc) { + public Result commit(SellOutboundVo doc) { boolean isFirstCreate = StringUtils.isEmpty(doc.getId()); Result result = isFirstCreate ? addMain(doc) : updateMain(doc); historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(doc.getId()) .type(DocHistoryEnum.COMMIT.getCode()) .uid(doc.getCid()) @@ -115,16 +128,16 @@ public class BizSellOutboundService { @UserAction("'撤回销售出库单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result withdraw(DocumentStatusUpdate vo, UserVo user) { + public Result withdraw(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("撤回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) @@ -142,17 +155,26 @@ public class BizSellOutboundService { @UserAction("'通过销售出库单'+#vo.id") @Lock({"#vo.pid", "#vo.id"}) @Transactional(rollbackFor = Exception.class) - public Result pass(DocumentStatusUpdate vo, UserVo user) { + public Result pass(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); String pid = vo.getPid(); long now = System.currentTimeMillis(); - List subList = this.getSubById(vo.getId()); + List subList = getSubById(vo.getId()); String err = check(vo.getPid(), subList); if (err != null) return Result.fail("通过失败," + err); - if (mainMapper.pass(id, user.getId(), user.getName(), now) < 1) { + if (1 > mainMapper.update( + null, + Wrappers.lambdaUpdate(BizSellOutbound.class) + .set(BizSellOutbound::getStatus, DocStatusEnum.VERIFIED.getCode()) + .set(BizSellOutbound::getVid, user.getId()) + .set(BizSellOutbound::getVname, user.getName()) + .set(BizSellOutbound::getVtime, now) + .eq(BizSellOutbound::getId, id) + .eq(BizSellOutbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) + )) { return Result.fail("通过失败,请刷新重试"); } @@ -171,7 +193,7 @@ public class BizSellOutboundService { //更新销售订单子表的剩余未出库数量,记录销售订单的完成情况 DocFinishEnum finish = DocFinishEnum.FINISHED; - List orderSubList = orderMapper.getSubById(pid); + List orderSubList = getOrderSubListByPid(pid); for (BizSellOrderSub orderSub : orderSubList) { if (orderSub.getRemainNum().equals(BigDecimal.ZERO)) { @@ -189,16 +211,29 @@ public class BizSellOutboundService { finish = DocFinishEnum.UNDERWAY; } - orderMapper.updateSubRemainNum(orderSub.getId(), gap); + //更新采购订单子表的remainNum + orderSubMapper.update( + null, + Wrappers.lambdaUpdate(BizSellOrderSub.class) + .set(BizSellOrderSub::getRemainNum, gap) + .eq(BizSellOrderSub::getId, orderSub.getId()) + ); } //更新销售订单完成情况 - if (1 > orderMapper.updateFinish(pid, finish.getCode(), finish == DocFinishEnum.FINISHED ? now : null)) { + if (1 > orderMapper.update( + null, + Wrappers.lambdaUpdate(BizSellOrder.class) + .set(BizSellOrder::getFinish, finish.getCode()) + .set(BizSellOrder::getFtime, finish == DocFinishEnum.FINISHED ? now : null) + .eq(BizSellOrder::getId, pid) + .eq(BizSellOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) + )) { throw new JsonResultException("通过失败,销售订单状态有误,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) @@ -216,16 +251,16 @@ public class BizSellOutboundService { @UserAction("'驳回销售出库单'+#vo.id") @Lock("#vo.id") @Transactional(rollbackFor = Exception.class) - public Result reject(DocumentStatusUpdate vo, UserVo user) { + public Result reject(DocStatusUpdate vo, UserVo user) { String id = vo.getId(); String info = vo.getInfo(); - if (mainMapper.reject(id) < 1) { + if (rejectById(id) < 1) { return Result.fail("驳回失败,请刷新重试"); } historyMapper.insert( - BizDocumentHistory.builder() + BizDocHistory.builder() .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) @@ -244,24 +279,24 @@ public class BizSellOutboundService { @Lock("#id") @Transactional(rollbackFor = Exception.class) public Result del(String id) { - if (mainMapper.del(id) < 1) { + if (mainMapper.deleteById(id) < 1) { return Result.fail("删除失败"); } //同时删除子表和附件 - mainMapper.delSubByPid(id); + delSubByPid(id); recService.delAttachmentByPid(id); return Result.success("删除成功"); } - private Result addMain(BizSellOutbound doc) { + private Result addMain(SellOutboundVo doc) { List subList = doc.getData(); String err = check(doc.getPid(), subList); if (err != null) return Result.fail(err); - String id = DocumentUtil.getDocumentID("XSCK"); + String id = DocUtil.getDocId("XSCK"); if (StringUtils.isEmpty(id)) { return Result.fail("获取单号失败"); @@ -269,10 +304,11 @@ public class BizSellOutboundService { doc.setId(id); + //设置子表的pid subList.forEach(sub -> sub.setPid(id)); mainMapper.insert(doc); - mainMapper.addSub(subList); + subMapper.insertBatch(subList); //插入附件 List uploadImageList = doc.getUploadImageList(); @@ -286,17 +322,30 @@ public class BizSellOutboundService { return Result.success("添加成功", id); } - private Result updateMain(BizSellOutbound doc) { + private Result updateMain(SellOutboundVo doc) { String docId = doc.getId(); String err = checkUpdateStatus(docId); if (err == null) err = check(doc.getPid(), doc.getData()); if (err != null) return Result.fail(err); - mainMapper.update(doc); - mainMapper.delSubByPid(docId); - mainMapper.addSub(doc.getData()); + //更新主表 + mainMapper.update( + null, + Wrappers.lambdaUpdate(BizSellOutbound.class) + .set(BizSellOutbound::getPid, doc.getPid()) + .set(BizSellOutbound::getStatus, doc.getStatus()) + .set(BizSellOutbound::getRemark, doc.getRemark()) + .eq(BizSellOutbound::getId, docId) + ); + + //删除旧的子表 + delSubByPid(docId); + + //插入新的子表 + subMapper.insertBatch(doc.getData()); + //附件增删 List uploadImageList = doc.getUploadImageList(); Long time = System.currentTimeMillis(); for (RecAttachment attachment : uploadImageList) { @@ -310,7 +359,7 @@ public class BizSellOutboundService { //只有拟定状态的单据才能修改 private String checkUpdateStatus(String id) { - BizSellOutbound doc = mainMapper.getById(id); + BizSellOutbound doc = mainMapper.selectById(id); if (doc == null || !doc.getStatus().equals(DocStatusEnum.DRAFT.getCode())) { return "单据状态已更新,请刷新后重试"; } @@ -319,7 +368,7 @@ public class BizSellOutboundService { //添加、修改、通过前都需要检查 private String check(String pid, List docSubList) { - BizSellOrder order = orderMapper.getById(pid); + BizSellOrder order = orderMapper.selectById(pid); //检查销售订单是否已审核、未完成 if (order == null @@ -329,14 +378,14 @@ public class BizSellOutboundService { return "销售订单状态异常"; } - List orderSubList = orderMapper.getSubById(pid); + List orderSubList = getOrderSubListByPid(pid); if (CollectionUtils.isEmpty(orderSubList)) { return "没有找到销售订单的数据"; } //按分类统计商品的出库数量 - Map outboundCount = this.getOutboundCount(docSubList); + Map outboundCount = getOutboundCount(docSubList); String[] cids = new String[outboundCount.size()]; @@ -370,6 +419,41 @@ public class BizSellOutboundService { return null; } + //根据主表ID删除子表 + private void delSubByPid(String pid) { + subMapper.delete( + Wrappers.lambdaQuery(BizSellOutboundSub.class) + .eq(BizSellOutboundSub::getPid, pid) + ); + } + + //驳回单据,只有等待审核单据的才能被驳回 + private int rejectById(String id) { + return mainMapper.update( + null, + Wrappers.lambdaUpdate(BizSellOutbound.class) + .set(BizSellOutbound::getStatus, DocStatusEnum.DRAFT.getCode()) + .eq(BizSellOutbound::getId, id) + .eq(BizSellOutbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) + ); + } + + private List getOrderSubListByPid(String pid) { + return orderSubMapper.selectList( + Wrappers.lambdaQuery(BizSellOrderSub.class) + .eq(BizSellOrderSub::getPid, pid) + ); + } + + private Wrapper getSearchCondition(SellOutboundSearch vo) { + String pid = vo.getPid(); + String pidFuzzy = vo.getPidFuzzy(); + + return DocUtil.baseCondition(BizSellOutbound.class, vo) + .eq(pid != null, BizSellOutbound::getPid, pid) + .like(!StringUtils.isEmpty(pidFuzzy), BizSellOutbound::getPid, pidFuzzy); + } + private Map getOutboundCount(List list) { if (CollectionUtils.isEmpty(list)) { return new HashMap<>(); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/MsgService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/msg/MsgService.java similarity index 54% rename from java/local/src/main/java/cn/toesbieya/jxc/service/MsgService.java rename to java/local/src/main/java/cn/toesbieya/jxc/service/msg/MsgService.java index ce16068..b9ace9d 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/MsgService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/msg/MsgService.java @@ -1,19 +1,18 @@ -package cn.toesbieya.jxc.service; +package cn.toesbieya.jxc.service.msg; import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.constant.MsgConstant; import cn.toesbieya.jxc.constant.SocketConstant; +import cn.toesbieya.jxc.mapper.MsgMapper; import cn.toesbieya.jxc.model.entity.Msg; -import cn.toesbieya.jxc.model.entity.MsgState; +import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.model.vo.SocketEventVo; -import cn.toesbieya.jxc.model.vo.UserVo; import cn.toesbieya.jxc.model.vo.result.PageResult; -import cn.toesbieya.jxc.model.vo.search.MsgPersonalSearch; import cn.toesbieya.jxc.model.vo.search.MsgSearch; import cn.toesbieya.jxc.utils.WebSocketUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; -import cn.toesbieya.jxc.mapper.MsgMapper; -import cn.toesbieya.jxc.model.vo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -27,23 +26,49 @@ import java.util.stream.Collectors; @Slf4j public class MsgService { @Resource - private MsgMapper msgMapper; + private MsgMapper mapper; public PageResult search(MsgSearch vo) { + String title = vo.getTitle(); + String type = vo.getType(); + String status = vo.getStatus(); + + Wrapper wrapper = + Wrappers.lambdaQuery(Msg.class) + .like(!StringUtils.isEmpty(title), Msg::getTitle, title) + .inSql(!StringUtils.isEmpty(type), Msg::getType, type) + .inSql(!StringUtils.isEmpty(status), Msg::getStatus, status) + .orderByDesc(Msg::getId); + PageHelper.startPage(vo.getPage(), vo.getPageSize()); - List list = msgMapper.search(vo); - return new PageResult<>(list); + return new PageResult<>(mapper.selectList(wrapper)); } @UserAction("'添加消息:'+#msg.title") public Result add(Msg msg) { - msgMapper.insert(msg); + mapper.insert(msg); return Result.success("添加成功", msg); } @UserAction("'修改消息:'+#msg.title") public Result update(Msg msg) { - int rows = msgMapper.update(msg); + int rows = mapper.update( + null, + Wrappers.lambdaUpdate(Msg.class) + .set(Msg::getTitle, msg.getTitle()) + .set(Msg::getContent, msg.getContent()) + .set(Msg::getType, msg.getType()) + .set(Msg::getPid, msg.getPid()) + .set(Msg::getPname, msg.getPname()) + .set(Msg::getPtime, msg.getPtime()) + .set(Msg::getWid, msg.getWid()) + .set(Msg::getWname, msg.getWname()) + .set(Msg::getWtime, msg.getWtime()) + .set(Msg::getStatus, msg.getStatus()) + .set(Msg::getBroadcast, msg.getBroadcast()) + .set(Msg::getRecipient, msg.getRecipient()) + .eq(Msg::getId, msg.getId()) + ); return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新重试"); } @@ -59,6 +84,7 @@ public class MsgService { SocketEventVo eventVo = new SocketEventVo(); eventVo.setEvent(SocketConstant.EVENT_NEW_MESSAGE); + //发送websocket消息 if (msg.getBroadcast().equals(MsgConstant.TO_ALL)) { eventVo.setType(SocketConstant.REDIS_EVENT_BROADCAST); WebSocketUtil.sendEvent(eventVo); @@ -82,51 +108,24 @@ public class MsgService { return result; } + @UserAction("'撤回消息:'+#msg.title") public Result withdraw(Msg msg) { - int rows = msgMapper.withdraw(msg); + int rows = mapper.update( + null, + Wrappers.lambdaUpdate(Msg.class) + .set(Msg::getStatus, msg.getStatus()) + .set(Msg::getWid, msg.getWid()) + .set(Msg::getWname, msg.getWname()) + .set(Msg::getWtime, msg.getWtime()) + .eq(Msg::getId, msg.getId()) + .eq(Msg::getStatus, msg.getStatus()) + ); return rows > 0 ? Result.success("撤回成功", msg) : Result.fail("撤回失败,请刷新重试"); } - public Result del(int id) { - int rows = msgMapper.del(id); + @UserAction("'删除消息:'+#title") + public Result del(int id, String title) { + int rows = mapper.deleteById(id); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); } - - public PageResult searchPersonal(MsgPersonalSearch vo) { - PageHelper.startPage(vo.getPage(), vo.getPageSize()); - List list = vo.isUnread() ? msgMapper.getUnreadByUser(vo) : msgMapper.getReadByUser(vo); - return new PageResult<>(list); - } - - public Result read(UserVo user, int id) { - if (msgMapper.checkRead(id, user.getId())) { - return Result.success(); - } - - MsgState state = new MsgState(); - - state.setMid(id); - state.setUid(user.getId()); - state.setTime(System.currentTimeMillis()); - - return Result.success(msgMapper.insertState(state)); - } - - public Result readAll(UserVo user) { - MsgPersonalSearch vo = new MsgPersonalSearch(); - vo.setUid(user.getId()); - vo.setCtime(user.getCtime()); - - MsgState state = new MsgState(); - state.setUid(user.getId()); - state.setTime(System.currentTimeMillis()); - - List list = msgMapper.getUnreadByUser(vo); - for (Msg msg : list) { - state.setMid(msg.getId()); - msgMapper.insertState(state); - } - - return Result.success(); - } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/msg/MsgUserService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/msg/MsgUserService.java new file mode 100644 index 0000000..a0c389c --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/msg/MsgUserService.java @@ -0,0 +1,71 @@ +package cn.toesbieya.jxc.service.msg; + +import cn.toesbieya.jxc.annoation.UserAction; +import cn.toesbieya.jxc.mapper.MsgMapper; +import cn.toesbieya.jxc.mapper.MsgStateMapper; +import cn.toesbieya.jxc.model.entity.Msg; +import cn.toesbieya.jxc.model.entity.MsgState; +import cn.toesbieya.jxc.model.entity.SysUser; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.result.PageResult; +import cn.toesbieya.jxc.model.vo.search.MsgPersonalSearch; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class MsgUserService { + @Resource + private MsgMapper msgMapper; + @Resource + private MsgStateMapper msgStateMapper; + + public PageResult search(MsgPersonalSearch vo) { + PageHelper.startPage(vo.getPage(), vo.getPageSize()); + List list = vo.isUnread() ? msgMapper.getUnreadByUser(vo) : msgMapper.getReadByUser(vo); + return new PageResult<>(list); + } + + public Result read(SysUser user, int id) { + //如果该消息已读,直接返回 + if (!msgStateMapper + .selectCount( + Wrappers.lambdaQuery(MsgState.class) + .eq(MsgState::getId, id) + .eq(MsgState::getMid, user.getId()) + ) + .equals(0)) { + return Result.success(); + } + + MsgState state = new MsgState(); + state.setMid(id); + state.setUid(user.getId()); + state.setTime(System.currentTimeMillis()); + + return Result.success(msgStateMapper.insert(state)); + } + + @UserAction("'清空所有未读消息'") + public Result readAll(SysUser user) { + MsgPersonalSearch vo = new MsgPersonalSearch(); + vo.setUid(user.getId()); + vo.setCtime(user.getCtime()); + + MsgState state = new MsgState(); + state.setUid(user.getId()); + state.setTime(System.currentTimeMillis()); + + List list = msgMapper.getUnreadByUser(vo); + + for (Msg msg : list) { + state.setMid(msg.getId()); + msgStateMapper.insert(state); + } + + return Result.success(); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysCategoryService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysCategoryService.java new file mode 100644 index 0000000..c90af92 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysCategoryService.java @@ -0,0 +1,121 @@ +package cn.toesbieya.jxc.service.sys; + +import cn.toesbieya.jxc.annoation.Lock; +import cn.toesbieya.jxc.annoation.UserAction; +import cn.toesbieya.jxc.mapper.SysCategoryMapper; +import cn.toesbieya.jxc.model.entity.SysCategory; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.search.CategorySearch; +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 SysCategoryService { + @Resource + private SysCategoryMapper mapper; + + public List getAll() { + return mapper.selectList(null); + } + + public List search(CategorySearch vo) { + Integer id = vo.getId(); + String ids = vo.getIds(); + Integer pid = vo.getPid(); + String pids = vo.getPids(); + String name = vo.getName(); + Integer type = vo.getType(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + return mapper.selectList( + Wrappers.lambdaQuery(SysCategory.class) + .eq(id != null, SysCategory::getId, id) + .inSql(!StringUtils.isEmpty(ids), SysCategory::getId, ids) + .eq(pid != null, SysCategory::getPid, pid) + .inSql(!StringUtils.isEmpty(pids), SysCategory::getPid, pids) + .like(!StringUtils.isEmpty(name), SysCategory::getName, name) + .eq(type != null, SysCategory::getType, type) + .ge(startTime != null, SysCategory::getCtime, startTime) + .le(endTime != null, SysCategory::getCtime, endTime) + .orderByDesc(SysCategory::getCtime) + ); + } + + @UserAction("'添加分类:'+#category.name") + @Lock("'category'+#category.pid") + public Result add(SysCategory category) { + String err = check(category); + if (err != null) return Result.fail("添加失败," + err); + + int rows = mapper.insert(category); + return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); + } + + @UserAction("'修改分类:'+#category.name") + @Lock("'category'+#category.id") + public Result update(SysCategory category) { + String err = check(category); + if (err != null) return Result.fail("修改失败," + err); + + int rows = mapper.update( + null, + Wrappers.lambdaUpdate(SysCategory.class) + .set(SysCategory::getPid, category.getPid()) + .set(SysCategory::getName, category.getName()) + .set(SysCategory::getType, category.getType()) + .eq(SysCategory::getId, category.getId()) + ); + return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新后重试"); + } + + @UserAction("'删除分类:'+#category.name") + @Lock("'category'+#category.id") + public Result del(SysCategory category) { + Integer cid = category.getId(); + if (hasChildren(cid)) { + return Result.fail("请先删除该分类下的子节点"); + } + if (mapper.checkIsUse(cid)) { + return Result.fail("该分类已在业务中使用,不可删除"); + } + int rows = mapper.deleteById(cid); + return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); + } + + private String check(SysCategory category) { + //当该分类不是顶级节点时,判断其父节点是否允许有下级 + if (!category.getPid().equals(0)) { + SysCategory parent = mapper.selectById(category.getPid()); + if (parent == null || parent.getType().equals(1)) { + return "父节点状态变更,请刷新后重试"; + } + } + Integer id = category.getId(); + Integer exist = mapper.selectCount( + Wrappers.lambdaQuery(SysCategory.class) + .eq(SysCategory::getName, category.getName()) + .ne(id != null, SysCategory::getId, id) + ); + if (exist != null && exist > 0) { + return String.format("分类【%s】已存在", category.getName()); + } + if (id != null && category.getType().equals(1) && hasChildren(id)) { + return "该分类下存在子节点,不能改为实体类型"; + } + return null; + } + + private boolean hasChildren(Integer id) { + Integer checkNum = mapper.selectCount( + Wrappers.lambdaQuery(SysCategory.class) + .eq(SysCategory::getPid, id) + ); + + return checkNum != null && checkNum > 0; + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysCustomerService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysCustomerService.java new file mode 100644 index 0000000..b628f89 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysCustomerService.java @@ -0,0 +1,141 @@ +package cn.toesbieya.jxc.service.sys; + +import cn.toesbieya.jxc.annoation.UserAction; +import cn.toesbieya.jxc.enumeration.GeneralStatusEnum; +import cn.toesbieya.jxc.mapper.SysCustomerMapper; +import cn.toesbieya.jxc.mapper.SysRegionMapper; +import cn.toesbieya.jxc.model.entity.SysCustomer; +import cn.toesbieya.jxc.model.entity.SysRegion; +import cn.toesbieya.jxc.model.vo.CustomerVo; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.result.PageResult; +import cn.toesbieya.jxc.model.vo.result.RegionValueResult; +import cn.toesbieya.jxc.model.vo.search.CustomerSearch; +import cn.toesbieya.jxc.utils.Util; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.*; + +@Service +public class SysCustomerService { + @Resource + private SysCustomerMapper customerMapper; + @Resource + private SysRegionMapper regionMapper; + + public List getLimitRegion() { + return customerMapper.getLimitRegion(); + } + + public PageResult search(CustomerSearch vo) { + Integer id = vo.getId(); + String name = vo.getName(); + String address = vo.getAddress(); + String linkman = vo.getLinkman(); + String linkphone = vo.getLinkphone(); + String region = vo.getRegion(); + Integer status = vo.getStatus(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + Wrapper wrapper = + Wrappers.lambdaQuery(SysCustomer.class) + .eq(id != null, SysCustomer::getId, id) + .like(!StringUtils.isEmpty(name), SysCustomer::getName, name) + .like(!StringUtils.isEmpty(address), SysCustomer::getAddress, address) + .like(!StringUtils.isEmpty(linkman), SysCustomer::getLinkman, linkman) + .eq(!StringUtils.isEmpty(linkphone), SysCustomer::getLinkphone, linkphone) + .inSql(!StringUtils.isEmpty(region), SysCustomer::getRegion, region) + .eq(status != null, SysCustomer::getStatus, status) + .ge(startTime != null, SysCustomer::getCtime, startTime) + .le(endTime != null, SysCustomer::getCtime, endTime) + .orderByDesc(SysCustomer::getCtime); + + PageHelper.startPage(vo.getPage(), vo.getPageSize()); + + List customers = customerMapper.selectList(wrapper); + + PageResult pageResult = new PageResult<>(customers); + + int customerNum = customers.size(); + + List list = new ArrayList<>(customerNum); + + Set regionIds = new HashSet<>(customerNum); + + customers.forEach(customer -> { + list.add(new CustomerVo(customer)); + regionIds.add(customer.getRegion()); + }); + + //获取关联的行政区域的名称 + List regions = regionIds.size() > 0 ? regionMapper.selectBatchIds(regionIds) : Collections.emptyList(); + list.forEach(customerVo -> { + SysRegion matched = Util.find(regions, item -> customerVo.getRegion().equals(item.getId())); + + if (matched != null) { + customerVo.setRegionName(matched.getName()); + } + }); + + return new PageResult<>(pageResult.getTotal(), list); + } + + @UserAction("'添加客户:'+ #customer.name") + public Result add(SysCustomer customer) { + if (isNameExist(customer.getName(), null)) { + return Result.fail(String.format("添加失败,客户【%s】已存在", customer.getName())); + } + int rows = customerMapper.insert(customer); + return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); + } + + @UserAction("'修改客户:'+ #customer.name") + public Result update(SysCustomer customer) { + Integer id = customer.getId(); + String name = customer.getName(); + + if (isNameExist(name, id)) { + return Result.fail(String.format("修改失败,客户【%s】已存在", name)); + } + + int rows = customerMapper.update( + null, + Wrappers.lambdaUpdate(SysCustomer.class) + .set(SysCustomer::getName, name) + .set(SysCustomer::getAddress, customer.getAddress()) + .set(SysCustomer::getLinkman, customer.getLinkman()) + .set(SysCustomer::getLinkphone, customer.getLinkphone()) + .set(SysCustomer::getRegion, customer.getRegion()) + .set(SysCustomer::getStatus, customer.getStatus()) + .set(SysCustomer::getRemark, customer.getRemark()) + .eq(SysCustomer::getId, id) + ); + return rows > 0 ? Result.success("修改成功") : Result.fail("修改失败,请刷新重试"); + } + + @UserAction("删除客户:'+ #customer.name") + public Result del(SysCustomer customer) { + int rows = customerMapper.delete( + Wrappers.lambdaQuery(SysCustomer.class) + .eq(SysCustomer::getId, customer.getId()) + .eq(SysCustomer::getStatus, GeneralStatusEnum.DISABLED.getCode()) + ); + return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); + } + + private boolean isNameExist(String name, Integer id) { + Integer num = customerMapper.selectCount( + Wrappers.lambdaQuery(SysCustomer.class) + .eq(SysCustomer::getName, name) + .ne(id != null, SysCustomer::getId, id) + ); + + return num != null && num > 0; + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/SysDepartmentService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysDepartmentService.java similarity index 74% rename from java/local/src/main/java/cn/toesbieya/jxc/service/SysDepartmentService.java rename to java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysDepartmentService.java index 49edd42..fea6510 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/SysDepartmentService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysDepartmentService.java @@ -1,15 +1,15 @@ -package cn.toesbieya.jxc.service; +package cn.toesbieya.jxc.service.sys; import cn.toesbieya.jxc.annoation.UserAction; import cn.toesbieya.jxc.enumeration.DataScopeEnum; import cn.toesbieya.jxc.mapper.SysDepartmentMapper; -import cn.toesbieya.jxc.mapper.SysRoleMapper; import cn.toesbieya.jxc.model.entity.SysDepartment; import cn.toesbieya.jxc.model.entity.SysRole; import cn.toesbieya.jxc.model.entity.SysUser; import cn.toesbieya.jxc.model.vo.DepartmentVo; import cn.toesbieya.jxc.model.vo.Result; import cn.toesbieya.jxc.utils.Util; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -27,7 +27,7 @@ public class SysDepartmentService { @Resource private SysDepartmentMapper departmentMapper; @Resource - private SysRoleMapper roleMapper; + private SysRoleService roleService; public List getAll() { return departmentMapper.selectChildrenById(1); @@ -46,12 +46,9 @@ public class SysDepartmentService { //获取用户的数据范围(部门ID集合),返回null说明无需限制 public Set getUserDataScope(SysUser user) { - Integer roleId = user.getRole(); - if (user.isAdmin()) return null; - if (roleId == null) return Collections.emptySet(); - SysRole role = roleMapper.selectById(roleId); + SysRole role = roleService.getRoleById(user.getRole()); if (role == null) return Collections.emptySet(); @@ -90,8 +87,8 @@ public class SysDepartmentService { @UserAction("'添加部门:'+#department.name") public Result add(SysDepartment department) { - if (departmentMapper.nameExist(null, department.getPid(), department.getName())) { - return Result.fail("添加失败,部门名称重复"); + if (isNameExist(null, department.getPid(), department.getName())) { + return Result.fail("添加失败,存在名称相同的同级部门"); } int rows = departmentMapper.insert(department); return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); @@ -99,16 +96,27 @@ public class SysDepartmentService { @UserAction("'修改部门:'+#department.name") public Result update(SysDepartment department) { - if (departmentMapper.nameExist(department.getId(), department.getPid(), department.getName())) { - return Result.fail("修改失败,部门名称重复"); + if (isNameExist(department.getId(), department.getPid(), department.getName())) { + return Result.fail("修改失败,存在名称相同的同级部门"); } - departmentMapper.update(department); + departmentMapper.updateById(department); return Result.success("修改成功"); } @UserAction("'删除部门:'+#department.name") public Result del(SysDepartment department) { - int rows = departmentMapper.del(department.getId()); + int rows = departmentMapper.deleteById(department.getId()); return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); } + + //判断同级节点中是否有相同的部门名称 + private boolean isNameExist(Integer id, Integer pid, String name) { + Integer num = departmentMapper.selectCount( + Wrappers.lambdaQuery(SysDepartment.class) + .eq(SysDepartment::getName, name) + .ne(id != null, SysDepartment::getId, id) + .eq(SysDepartment::getPid, pid) + ); + return num != null && num > 0; + } } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysResourceService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysResourceService.java new file mode 100644 index 0000000..73478c9 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysResourceService.java @@ -0,0 +1,99 @@ +package cn.toesbieya.jxc.service.sys; + +import cn.toesbieya.jxc.mapper.SysResourceMapper; +import cn.toesbieya.jxc.model.entity.SysResource; +import cn.toesbieya.jxc.model.entity.SysRole; +import cn.toesbieya.jxc.model.vo.ResourceVo; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.module.request.RequestModule; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; + +@Service +@Slf4j +public class SysResourceService { + @Resource + private SysResourceMapper mapper; + + public List getAll() { + return completeNode(mapper.selectList(null)); + } + + public List getResourceByRole(SysRole role) { + if (role == null) { + return Collections.emptyList(); + } + + String ids = role.getResourceId(); + + if (StringUtils.isEmpty(ids)) { + return Collections.emptyList(); + } + + List list = mapper.selectList( + Wrappers.lambdaQuery(SysResource.class) + .inSql(SysResource::getId, ids) + ); + + return completeNode(list); + } + + public Result update(SysResource resource) { + int rows = mapper.updateById(resource); + if (rows > 0) { + RequestModule.updateRate(resource.getUrl(), resource.getTotalRate(), resource.getIpRate()); + } + return Result.success("修改成功"); + } + + private List completeNode(List list) { + List result = new ArrayList<>(list.size()); + HashMap urlMap = new HashMap<>(128); + HashMap nameMap = new HashMap<>(128); + + for (SysResource resource : list) { + ResourceVo vo = new ResourceVo(resource); + + Integer id = resource.getId(); + String url = resource.getUrl(); + String name = resource.getName(); + + //跳过顶级节点 + if (resource.getPid() == 0) { + vo.setFullname(name); + + urlMap.put(id, url); + nameMap.put(id, name); + } + else { + Integer pid = resource.getPid(); + + //获取父节点进行拼接 + String parentUrl = urlMap.get(pid); + String parentName = nameMap.get(pid); + + assert !StringUtils.isEmpty(parentUrl) && !StringUtils.isEmpty(parentName); + + String fullname = parentName + " - " + name; + + vo.setUrl(parentUrl + url); + vo.setFullname(fullname); + + urlMap.put(id, url); + nameMap.put(id, fullname); + } + + result.add(vo); + } + + return result; + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysRoleService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysRoleService.java new file mode 100644 index 0000000..345fcf1 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysRoleService.java @@ -0,0 +1,109 @@ +package cn.toesbieya.jxc.service.sys; + +import cn.toesbieya.jxc.annoation.UserAction; +import cn.toesbieya.jxc.enumeration.GeneralStatusEnum; +import cn.toesbieya.jxc.mapper.SysRoleMapper; +import cn.toesbieya.jxc.model.entity.SysRole; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.result.PageResult; +import cn.toesbieya.jxc.model.vo.search.RoleSearch; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class SysRoleService { + @Resource + private SysRoleMapper mapper; + + public List get() { + return mapper.selectList( + Wrappers.lambdaQuery(SysRole.class) + .eq(SysRole::getStatus, GeneralStatusEnum.ENABLED.getCode()) + ); + } + + public SysRole getRoleById(Integer id) { + return id == null ? null : mapper.selectById(id); + } + + public PageResult search(RoleSearch vo) { + Integer id = vo.getId(); + String name = vo.getName(); + Integer cid = vo.getCid(); + String cname = vo.getCname(); + Integer status = vo.getStatus(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + Wrapper wrapper = + Wrappers.lambdaQuery(SysRole.class) + .eq(id != null, SysRole::getId, id) + .like(!StringUtils.isEmpty(name), SysRole::getName, name) + .eq(cid != null, SysRole::getCid, cid) + .like(!StringUtils.isEmpty(cname), SysRole::getName, cname) + .eq(status != null, SysRole::getStatus, status) + .ge(startTime != null, SysRole::getCtime, startTime) + .le(endTime != null, SysRole::getCtime, endTime) + .orderByDesc(SysRole::getCtime); + + PageHelper.startPage(vo.getPage(), vo.getPageSize()); + return new PageResult<>(mapper.selectList(wrapper)); + } + + @UserAction("'添加角色:'+#role.name") + public Result add(SysRole role) { + if (isNameExist(role.getName(), null)) { + return Result.fail("添加失败,角色名称重复"); + } + int rows = mapper.insert(role); + return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); + } + + @UserAction("'修改角色:'+#role.name") + public Result update(SysRole role) { + Integer id = role.getId(); + String name = role.getName(); + + if (isNameExist(name, id)) { + return Result.fail("修改失败,角色名称重复"); + } + + mapper.update( + null, + Wrappers.lambdaUpdate(SysRole.class) + .set(SysRole::getName, name) + .set(SysRole::getStatus, role.getStatus()) + .set(SysRole::getScope, role.getScope()) + .set(SysRole::getDepartmentId, role.getDepartmentId()) + .set(SysRole::getResourceId, role.getResourceId()) + .eq(SysRole::getId, id) + ); + return Result.success("修改成功"); + } + + @UserAction("'删除角色:'+#role.name") + public Result del(SysRole role) { + int rows = mapper.delete( + Wrappers.lambdaQuery(SysRole.class) + .eq(SysRole::getId, role.getId()) + .eq(SysRole::getStatus, GeneralStatusEnum.DISABLED.getCode()) + ); + return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); + } + + private boolean isNameExist(String name, Integer id) { + Integer num = mapper.selectCount( + Wrappers.lambdaQuery(SysRole.class) + .eq(SysRole::getName, name) + .ne(id != null, SysRole::getId, id) + ); + + return num != null && num > 0; + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysSupplierService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysSupplierService.java new file mode 100644 index 0000000..794ffde --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysSupplierService.java @@ -0,0 +1,140 @@ +package cn.toesbieya.jxc.service.sys; + +import cn.toesbieya.jxc.annoation.UserAction; +import cn.toesbieya.jxc.enumeration.GeneralStatusEnum; +import cn.toesbieya.jxc.mapper.SysRegionMapper; +import cn.toesbieya.jxc.mapper.SysSupplierMapper; +import cn.toesbieya.jxc.model.entity.SysRegion; +import cn.toesbieya.jxc.model.entity.SysSupplier; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.SupplierVo; +import cn.toesbieya.jxc.model.vo.result.PageResult; +import cn.toesbieya.jxc.model.vo.result.RegionValueResult; +import cn.toesbieya.jxc.model.vo.search.SupplierSearch; +import cn.toesbieya.jxc.utils.Util; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.*; + +@Service +public class SysSupplierService { + @Resource + private SysSupplierMapper supplierMapper; + @Resource + private SysRegionMapper regionMapper; + + public List getLimitRegion() { + return supplierMapper.getLimitRegion(); + } + + public PageResult search(SupplierSearch vo) { + Integer id = vo.getId(); + String name = vo.getName(); + String address = vo.getAddress(); + String linkman = vo.getLinkman(); + String linkphone = vo.getLinkphone(); + String region = vo.getRegion(); + Integer status = vo.getStatus(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + Wrapper wrapper = + Wrappers.lambdaQuery(SysSupplier.class) + .eq(id != null, SysSupplier::getId, id) + .like(!StringUtils.isEmpty(name), SysSupplier::getName, name) + .like(!StringUtils.isEmpty(address), SysSupplier::getAddress, address) + .like(!StringUtils.isEmpty(linkman), SysSupplier::getLinkman, linkman) + .eq(!StringUtils.isEmpty(linkphone), SysSupplier::getLinkphone, linkphone) + .inSql(!StringUtils.isEmpty(region), SysSupplier::getRegion, region) + .eq(status != null, SysSupplier::getStatus, status) + .ge(startTime != null, SysSupplier::getCtime, startTime) + .le(endTime != null, SysSupplier::getCtime, endTime) + .orderByDesc(SysSupplier::getCtime); + + PageHelper.startPage(vo.getPage(), vo.getPageSize()); + + List suppliers = supplierMapper.selectList(wrapper); + + PageResult pageResult = new PageResult<>(suppliers); + + int supplierNum = suppliers.size(); + + List list = new ArrayList<>(supplierNum); + + Set regionIds = new HashSet<>(supplierNum); + + suppliers.forEach(supplier -> { + list.add(new SupplierVo(supplier)); + regionIds.add(supplier.getRegion()); + }); + + //获取关联的行政区域的名称 + List regions = regionIds.size() > 0 ? regionMapper.selectBatchIds(regionIds) : Collections.emptyList(); + list.forEach(supplierVo -> { + SysRegion matched = Util.find(regions, item -> supplierVo.getRegion().equals(item.getId())); + if (matched != null) { + supplierVo.setRegionName(matched.getName()); + } + }); + + return new PageResult<>(pageResult.getTotal(), list); + } + + @UserAction("'添加供应商:'+ #supplier.name") + public Result add(SysSupplier supplier) { + if (isNameExist(supplier.getName(), null)) { + return Result.fail(String.format("添加失败,供应商【%s】已存在",supplier.getName())); + } + int rows = supplierMapper.insert(supplier); + return rows > 0 ? Result.success("添加成功") : Result.fail("添加失败"); + } + + @UserAction("'修改供应商:'+ #supplier.name") + public Result update(SysSupplier supplier) { + Integer id = supplier.getId(); + String name = supplier.getName(); + + if (isNameExist(name, id)) { + return Result.fail(String.format("修改失败,供应商【%s】已存在",name)); + } + + supplierMapper.update( + null, + Wrappers.lambdaUpdate(SysSupplier.class) + .set(SysSupplier::getName, name) + .set(SysSupplier::getAddress, supplier.getAddress()) + .set(SysSupplier::getLinkman, supplier.getLinkman()) + .set(SysSupplier::getLinkphone, supplier.getLinkphone()) + .set(SysSupplier::getRegion, supplier.getRegion()) + .set(SysSupplier::getStatus, supplier.getStatus()) + .set(SysSupplier::getRemark, supplier.getRemark()) + .eq(SysSupplier::getId, id) + ); + return Result.success("修改成功"); + } + + @UserAction("删除供应商:'+ #supplier.name") + public Result del(SysSupplier supplier) { + int rows = supplierMapper.delete( + Wrappers.lambdaQuery(SysSupplier.class) + .eq(SysSupplier::getId, supplier.getId()) + .eq(SysSupplier::getStatus, GeneralStatusEnum.DISABLED.getCode()) + ); + return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新重试"); + } + + private boolean isNameExist(String name, Integer id) { + Integer num = supplierMapper.selectCount( + Wrappers.lambdaQuery(SysSupplier.class) + .eq(SysSupplier::getName, name) + .ne(id != null, SysSupplier::getId, id) + ); + + return num != null && num > 0; + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysUserService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysUserService.java new file mode 100644 index 0000000..1f30f00 --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysUserService.java @@ -0,0 +1,173 @@ +package cn.toesbieya.jxc.service.sys; + +import cn.toesbieya.jxc.annoation.UserAction; +import cn.toesbieya.jxc.mapper.SysRoleMapper; +import cn.toesbieya.jxc.mapper.SysUserMapper; +import cn.toesbieya.jxc.model.entity.SysRole; +import cn.toesbieya.jxc.model.entity.SysUser; +import cn.toesbieya.jxc.model.vo.Result; +import cn.toesbieya.jxc.model.vo.UserVo; +import cn.toesbieya.jxc.model.vo.result.PageResult; +import cn.toesbieya.jxc.model.vo.search.UserSearch; +import cn.toesbieya.jxc.utils.Util; +import cn.toesbieya.jxc.utils.WebSocketUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.DigestUtils; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class SysUserService { + private static final String DEFAULT_PWD = DigestUtils.md5DigestAsHex("123456".getBytes()); + @Resource + private SysUserMapper userMapper; + @Resource + private SysRoleMapper roleMapper; + + public PageResult search(UserSearch vo) { + Integer id = vo.getId(); + String name = vo.getName(); + String roleIds = vo.getRole(); + Integer status = vo.getStatus(); + Long startTime = vo.getStartTime(); + Long endTime = vo.getEndTime(); + + Wrapper wrapper = + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::isAdmin, 0) + .eq(id != null, SysUser::getId, id) + .like(!StringUtils.isEmpty(name), SysUser::getName, name) + .inSql(!StringUtils.isEmpty(roleIds), SysUser::getRole, roleIds) + .eq(status != null, SysUser::getStatus, status) + .ge(startTime != null, SysUser::getCtime, startTime) + .le(endTime != null, SysUser::getCtime, endTime) + .orderByDesc(SysUser::getCtime); + + PageHelper.startPage(vo.getPage(), vo.getPageSize()); + List users = userMapper.selectList(wrapper); + PageResult pageResult = new PageResult<>(users); + + int userNum = users.size(); + + //当前在线的用户id + Set onlineUserIds = WebSocketUtil.getOnlineUserIds(); + + //传递给前端的结果集 + List result = new ArrayList<>(userNum); + + //查询得到的用户的角色id + Set userRoleIds = new HashSet<>(userNum); + + users.forEach(user -> { + result.add(new UserVo(user)); + Integer rid = user.getRole(); + if (rid != null) userRoleIds.add(rid); + }); + + List roles = userRoleIds.size() > 0 ? roleMapper.selectBatchIds(userRoleIds) : Collections.emptyList(); + + result.forEach(userVo -> { + //设置在线情况 + userVo.setOnline(Util.some(onlineUserIds, i -> userVo.getId().equals(i))); + + Integer userRoleId = userVo.getRole(); + if (userRoleId != null) { + //设置用户的角色名称 + SysRole matched = Util.find(roles, i -> i.getId().equals(userRoleId)); + if (matched != null) { + userVo.setRoleName(matched.getName()); + } + } + }); + + return new PageResult<>(pageResult.getTotal(), result); + } + + @UserAction("'添加用户:'+#user.name") + public Result add(SysUser user) { + if (isNameExist(user.getName(), null)) { + return Result.fail("该用户名称已存在"); + } + + user.setId(null); + user.setCtime(System.currentTimeMillis()); + user.setPwd(DEFAULT_PWD); + + userMapper.insert(user); + return Result.success("添加成功"); + } + + @UserAction("'修改用户:'+#user.name") + public Result update(SysUser user) { + Integer id = user.getId(); + String name = user.getName(); + + if (isNameExist(name, id)) { + return Result.fail("该用户名称已存在"); + } + + userMapper.update( + null, + Wrappers.lambdaUpdate(SysUser.class) + .set(SysUser::getName, name) + .set(SysUser::getRole, user.getRole()) + .set(SysUser::getDept, user.getDept()) + .set(SysUser::getStatus, user.getStatus()) + .eq(SysUser::getId, id) + ); + + return Result.success("修改成功"); + } + + @UserAction("'删除用户:'+#user.name") + @Transactional(rollbackFor = Exception.class) + public Result del(SysUser user) { + int rows = userMapper.delete( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getId, user.getId()) + .eq(SysUser::isAdmin, 0) + ); + WebSocketUtil.sendLogoutEvent(Collections.singletonList(user.getId()), "该用户已删除"); + return rows > 0 ? Result.success("删除成功") : Result.fail("删除失败,请刷新后重试"); + } + + @UserAction + public Result kick(List users) { + WebSocketUtil.sendLogoutEvent( + users + .stream() + .map(SysUser::getId) + .collect(Collectors.toList()), + "你已被强制下线,请重新登陆" + ); + + return Result.success("踢出成功"); + } + + @UserAction("'重置用户密码:'+#user.name") + public Result resetPwd(SysUser user) { + int rows = userMapper.update( + null, + Wrappers.lambdaUpdate(SysUser.class) + .set(SysUser::getPwd, DEFAULT_PWD) + .eq(SysUser::getId, user.getId()) + ); + return rows > 0 ? Result.success() : Result.fail("重置失败,未匹配到用户"); + } + + private boolean isNameExist(String name, Integer id) { + Integer num = userMapper.selectCount( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getName, name) + .ne(id != null, SysUser::getId, id) + ); + return num != null && num > 0; + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/DocUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/utils/DocUtil.java new file mode 100644 index 0000000..2678f1e --- /dev/null +++ b/java/local/src/main/java/cn/toesbieya/jxc/utils/DocUtil.java @@ -0,0 +1,80 @@ +package cn.toesbieya.jxc.utils; + +import cn.toesbieya.jxc.constant.DocConstant; +import cn.toesbieya.jxc.model.entity.BizDoc; +import cn.toesbieya.jxc.model.vo.search.DocSearch; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.google.common.io.ByteStreams; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.io.ClassPathResource; +import org.springframework.data.redis.core.script.DefaultRedisScript; +import org.springframework.data.redis.core.script.RedisScript; +import org.springframework.util.StringUtils; + +import java.io.IOException; +import java.time.format.DateTimeFormatter; +import java.util.Arrays; + +@Slf4j +public class DocUtil { + private static String GET_DOC_ID_SCRIPT; + + static { + try { + GET_DOC_ID_SCRIPT = new String(ByteStreams.toByteArray(new ClassPathResource("/script/get_doc_id.lua").getInputStream())); + } + catch (IOException e) { + e.printStackTrace(); + } + } + + //获取单号,形如 {type}0001 + public static String getDocId(String type) { + if (!Arrays.asList(DocConstant.DOC_TYPE).contains(type)) { + log.error("单据类型有误,【{}】不存在", type); + return null; + } + + RedisScript redisScript = new DefaultRedisScript<>(GET_DOC_ID_SCRIPT, Long.class); + + Long result = RedisUtil.getStringRedisTemplate().execute( + redisScript, + Arrays.asList(DocConstant.UPDATE_DOC_LOCK_KEY, DocConstant.DOC_TYPE_REDIS_KEY), + String.valueOf(DateUtil.getTimestampNow()), + type + ); + + if (result == null || result <= 1) return null; + + return String.format("%s%s%04d", type, DateUtil.dateFormat(DateTimeFormatter.BASIC_ISO_DATE), result - 1); + } + + public static LambdaQueryWrapper baseCondition(Class c, DocSearch vo) { + String id = vo.getId(); + String idFuzzy = vo.getIdFuzzy(); + Integer cid = vo.getCid(); + String cname = vo.getCname(); + Integer vid = vo.getVid(); + String vname = vo.getVname(); + String status = vo.getStatus(); + Long ctimeStart = vo.getCtimeStart(); + Long ctimeEnd = vo.getCtimeEnd(); + Long vtimeStart = vo.getVtimeStart(); + Long vtimeEnd = vo.getVtimeEnd(); + + return Wrappers.lambdaQuery(c) + .eq(!StringUtils.isEmpty(id), BizDoc::getId, id) + .like(!StringUtils.isEmpty(idFuzzy), BizDoc::getId, idFuzzy) + .eq(cid != null, BizDoc::getCid, cid) + .like(!StringUtils.isEmpty(cname), BizDoc::getCname, cname) + .eq(vid != null, BizDoc::getVid, vid) + .like(!StringUtils.isEmpty(vname), BizDoc::getVname, vname) + .inSql(!StringUtils.isEmpty(status), BizDoc::getStatus, status) + .ge(ctimeStart != null, BizDoc::getCtime, ctimeStart) + .le(ctimeEnd != null, BizDoc::getCtime, ctimeEnd) + .ge(vtimeStart != null, BizDoc::getCtime, vtimeStart) + .le(vtimeEnd != null, BizDoc::getCtime, vtimeEnd) + .orderByDesc(BizDoc::getCtime); + } +} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/DocumentUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/utils/DocumentUtil.java deleted file mode 100644 index a72e63c..0000000 --- a/java/local/src/main/java/cn/toesbieya/jxc/utils/DocumentUtil.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.toesbieya.jxc.utils; - -import cn.toesbieya.jxc.constant.DocumentConstant; -import com.google.common.io.ByteStreams; -import lombok.extern.slf4j.Slf4j; -import org.springframework.core.io.ClassPathResource; -import org.springframework.data.redis.core.script.DefaultRedisScript; -import org.springframework.data.redis.core.script.RedisScript; - -import java.io.IOException; -import java.time.format.DateTimeFormatter; -import java.util.Arrays; - -@Slf4j -public class DocumentUtil { - private static String GET_DOCUMENT_ID_SCRIPT; - - static { - try { - GET_DOCUMENT_ID_SCRIPT = new String(ByteStreams.toByteArray(new ClassPathResource("/script/get_document_id.lua").getInputStream())); - } - catch (IOException e) { - e.printStackTrace(); - } - } - - //获取单号,形如 {type}0001 - public static String getDocumentID(String type) { - if (!Arrays.asList(DocumentConstant.DOCUMENT_TYPE).contains(type)) { - log.error("单据类型有误,【{}】不存在", type); - return null; - } - - RedisScript redisScript = new DefaultRedisScript<>(GET_DOCUMENT_ID_SCRIPT, Long.class); - - Long result = RedisUtil.getStringRedisTemplate().execute( - redisScript, - Arrays.asList(DocumentConstant.UPDATE_DOCUMENTS_LOCK_KEY, DocumentConstant.DOCUMENT_TYPE_REDIS_KEY), - String.valueOf(DateUtil.getTimestampNow()), - type - ); - - if (result == null || result <= 1) return null; - - return String.format("%s%s%04d", type, DateUtil.dateFormat(DateTimeFormatter.BASIC_ISO_DATE), result - 1); - } -} diff --git a/java/local/src/main/java/cn/toesbieya/jxc/utils/QiniuUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/utils/QiniuUtil.java index 2b2941d..b37aaf5 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/utils/QiniuUtil.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/utils/QiniuUtil.java @@ -1,17 +1,19 @@ package cn.toesbieya.jxc.utils; +import cn.toesbieya.jxc.config.QiniuConfig; import com.qiniu.common.QiniuException; import com.qiniu.storage.BucketManager; import com.qiniu.storage.Configuration; import com.qiniu.storage.Region; import com.qiniu.util.Auth; -import cn.toesbieya.jxc.config.QiniuConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.DependsOn; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; +import java.util.List; + @Slf4j @Component @DependsOn("redisUtil") @@ -62,4 +64,8 @@ public class QiniuUtil { log.info("七牛云批量删除文件失败,{}", e.getMessage()); } } + + public static void deleteBatch(List key) { + deleteBatch(key.toArray(new String[0])); + } } diff --git a/java/local/src/main/resources/application.yml b/java/local/src/main/resources/application.yml index e58de81..888502e 100644 --- a/java/local/src/main/resources/application.yml +++ b/java/local/src/main/resources/application.yml @@ -13,6 +13,7 @@ spring: redis: host: localhost port: 6379 + password: timeout: 3000 lettuce: pool: @@ -29,11 +30,17 @@ spring: aop: proxy-target-class: true -mybatis: +mybatis-plus: mapper-locations: - classpath*:/mapper/**/*.xml configuration: - map-underscore-to-camel-case: true + local-cache-scope: STATEMENT + cache-enabled: false + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + global-config: + banner: false + db-config: + id-type: NONE pagehelper: helperDialect: mysql @@ -43,7 +50,6 @@ pagehelper: socket: #hostname: 172.24.52.184 - hostname: localhost port: 12580 max-frame-payload-length: 1048576 max-http-content-length: 1048576 diff --git a/java/local/src/main/resources/mapper/BizDocumentHistory.xml b/java/local/src/main/resources/mapper/BizDocumentHistory.xml deleted file mode 100644 index 01cbcbf..0000000 --- a/java/local/src/main/resources/mapper/BizDocumentHistory.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - insert into biz_doc_history (pid, type, uid, uname, status_before, status_after, time, info) - VALUES (#{pid}, #{type}, #{uid}, #{uname}, #{statusBefore}, #{statusAfter}, #{time}, #{info}) - - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizPurchaseInbound.xml b/java/local/src/main/resources/mapper/BizPurchaseInbound.xml index 292549b..e051ace 100644 --- a/java/local/src/main/resources/mapper/BizPurchaseInbound.xml +++ b/java/local/src/main/resources/mapper/BizPurchaseInbound.xml @@ -1,111 +1,19 @@ - - and id=#{id} - and id like "%"#{idFuzzy}"%" - and pid=#{pid} - and pid like "%"#{pidFuzzy}"%" - and cid=#{cid} - and cname like "%"#{cname}"%" - and vid=#{vid} - and vname like "%"#{vname}"%" - and status in (${status}) - and ctime = ]]> #{ctimeStart} - and ctime #{ctimeEnd} - and vtime = ]]> #{vtimeStart} - and vtime #{vtimeEnd} - - - - - select id, - pid, - cname, - from_unixtime(ctime/1000,'%Y-%m-%d %H:%m:%s') ctime, - from_unixtime(vtime/1000,'%Y-%m-%d %H:%m:%s') vtime, - vname, - case status when 0 then '拟定' when 1 then'待审核' when 2 then '已审核' end status, - remark - from biz_purchase_inbound - where 1 - - order by ctime desc + pid, + cname, + from_unixtime(ctime / 1000, '%Y-%m-%d %H:%m:%s') ctime, + from_unixtime(vtime / 1000, '%Y-%m-%d %H:%m:%s') vtime, + vname, + case status + when 0 then '拟定' + when 1 then '待审核' + when 2 then '已审核' + end status, + remark + from biz_purchase_inbound ${ew.customSqlSegment} - - insert into biz_purchase_inbound - - id,pid,cid,cname,ctime, - vid, - vname, - vtime, - status, - remark, - - - #{id},#{pid},#{cid},#{cname},#{ctime}, - #{vid}, - #{vname}, - #{vtime}, - #{status}, - #{remark}, - - - - INSERT INTO biz_purchase_inbound_sub(pid, cid, cname, num) - VALUES - - (#{i.pid},#{i.cid},#{i.cname},#{i.num}) - - - - update biz_purchase_inbound - set pid=#{pid}, - status=#{status}, - remark=#{remark} - where id = #{id} - - - update biz_purchase_inbound - set status=2, - vid=#{vid}, - vname=#{vname}, - vtime=#{vtime} - where id = #{id} - and status = 1 - - - update biz_purchase_inbound - set status=0 - where id = #{id} - and status = 1 - - - delete - from biz_purchase_inbound - where id = #{id} - and status = 0 - - - delete - from biz_purchase_inbound_sub - where pid = #{pid} - diff --git a/java/local/src/main/resources/mapper/BizPurchaseInboundSub.xml b/java/local/src/main/resources/mapper/BizPurchaseInboundSub.xml new file mode 100644 index 0000000..787b1ba --- /dev/null +++ b/java/local/src/main/resources/mapper/BizPurchaseInboundSub.xml @@ -0,0 +1,10 @@ + + + + + INSERT INTO biz_purchase_inbound_sub(pid, cid, cname, num) VALUES + + (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}) + + + \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizPurchaseOrder.xml b/java/local/src/main/resources/mapper/BizPurchaseOrder.xml index cf8ec1f..96cce1d 100644 --- a/java/local/src/main/resources/mapper/BizPurchaseOrder.xml +++ b/java/local/src/main/resources/mapper/BizPurchaseOrder.xml @@ -1,133 +1,26 @@ - - and id=#{id} - and id like "%"#{idFuzzy}"%" - and sid=#{sid} - and sname like "%"#{sname}"%" - and cid=#{cid} - and cname like "%"#{cname}"%" - and vid=#{vid} - and vname like "%"#{vname}"%" - and status in (${status}) - and finish in (${finish}) - and ctime = ]]> #{ctimeStart} - and ctime #{ctimeEnd} - and vtime = ]]> #{vtimeStart} - and vtime #{vtimeEnd} - and ftime = ]]> #{ftimeStart} - and ftime #{ftimeEnd} - - - - - select id, - sname, - cname, - from_unixtime(ctime/1000,'%Y-%m-%d %H:%m:%s') ctime, - vname, - case status when 0 then '拟定' when 1 then'待审核' when 2 then '已审核' end status, - case finish when 0 then '未开始' when 1 then '进行中' when 2 then '已完成' end finish, - from_unixtime(vtime/1000,'%Y-%m-%d %H:%m:%s') vtime, - from_unixtime(ftime/1000,'%Y-%m-%d %H:%m:%s') ftime, - total, - remark - from biz_purchase_order - where 1 - - order by ctime desc + sname, + cname, + from_unixtime(ctime / 1000, '%Y-%m-%d %H:%m:%s') ctime, + vname, + case status + when 0 then '拟定' + when 1 then '待审核' + when 2 then '已审核' + end status, + case finish + when 0 then '未开始' + when 1 then '进行中' + when 2 then '已完成' + end finish, + from_unixtime(vtime / 1000, '%Y-%m-%d %H:%m:%s') vtime, + from_unixtime(ftime / 1000, '%Y-%m-%d %H:%m:%s') ftime, + total, + remark + from biz_purchase_order ${ew.customSqlSegment} - - insert into biz_purchase_order - - id,sid,sname,cid,cname,ctime,finish,total, - vid, - vname, - vtime, - status, - ftime, - remark, - - - #{id},#{sid},#{sname},#{cid},#{cname},#{ctime},0,#{total}, - #{vid}, - #{vname}, - #{vtime}, - #{status}, - #{ftime}, - #{remark}, - - - - INSERT INTO biz_purchase_order_sub(pid, cid, cname, num, price, remain_num) - VALUES - - (#{i.pid},#{i.cid},#{i.cname},#{i.num},#{i.price},#{i.remainNum}) - - - - update biz_purchase_order - set sid=#{sid}, - sname=#{sname}, - status=#{status}, - total=#{total}, - remark=#{remark} - where id = #{id} - - - update biz_purchase_order - set status=2, - vid=#{vid}, - vname=#{vname}, - vtime=#{vtime} - where id = #{id} - and status = 1 - - - update biz_purchase_order - set status=0 - where id = #{id} - and status = 1 - - - delete - from biz_purchase_order - where id = #{id} - and status = 0 - - - delete - from biz_purchase_order_sub - where pid = #{pid} - - - update biz_purchase_order - set finish=#{finish}, - ftime=#{ftime} - where id = #{id} - and status = 2 - - - update biz_purchase_order_sub - set remain_num=#{remain_num} - where id = #{id} - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizPurchaseOrderSub.xml b/java/local/src/main/resources/mapper/BizPurchaseOrderSub.xml new file mode 100644 index 0000000..2500b1a --- /dev/null +++ b/java/local/src/main/resources/mapper/BizPurchaseOrderSub.xml @@ -0,0 +1,10 @@ + + + + + INSERT INTO biz_purchase_order_sub(pid, cid, cname, num, price, remain_num) VALUES + + (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum}) + + + \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizSellOrder.xml b/java/local/src/main/resources/mapper/BizSellOrder.xml index 8e50c17..42d15f0 100644 --- a/java/local/src/main/resources/mapper/BizSellOrder.xml +++ b/java/local/src/main/resources/mapper/BizSellOrder.xml @@ -1,133 +1,26 @@ - - and id=#{id} - and id like "%"#{idFuzzy}"%" - and customer_id=#{customerId} - and customer_name like "%"#{customerName}"%" - and cid=#{cid} - and cname like "%"#{cname}"%" - and vid=#{vid} - and vname like "%"#{vname}"%" - and status in (${status}) - and finish in (${finish}) - and ctime = ]]> #{ctimeStart} - and ctime #{ctimeEnd} - and vtime = ]]> #{vtimeStart} - and vtime #{vtimeEnd} - and ftime = ]]> #{ftimeStart} - and ftime #{ftimeEnd} - - - - - select id, - customer_name, - cname, - from_unixtime(ctime/1000,'%Y-%m-%d %H:%m:%s') ctime, - vname, - case status when 0 then '拟定' when 1 then'待审核' when 2 then '已审核' end status, - case finish when 0 then '未开始' when 1 then '进行中' when 2 then '已完成' end finish, - from_unixtime(vtime/1000,'%Y-%m-%d %H:%m:%s') vtime, - from_unixtime(ftime/1000,'%Y-%m-%d %H:%m:%s') ftime, - total, - remark - from biz_sell_order - where 1 - - order by ctime desc + customer_name, + cname, + from_unixtime(ctime / 1000, '%Y-%m-%d %H:%m:%s') ctime, + vname, + case status + when 0 then '拟定' + when 1 then '待审核' + when 2 then '已审核' + end status, + case finish + when 0 then '未开始' + when 1 then '进行中' + when 2 then '已完成' + end finish, + from_unixtime(vtime / 1000, '%Y-%m-%d %H:%m:%s') vtime, + from_unixtime(ftime / 1000, '%Y-%m-%d %H:%m:%s') ftime, + total, + remark + from biz_sell_order ${ew.customSqlSegment} - - insert into biz_sell_order - - id,customer_id,customer_name,cid,cname,ctime,finish,total, - vid, - vname, - vtime, - status, - ftime, - remark, - - - #{id},#{customerId},#{customerName},#{cid},#{cname},#{ctime},0,#{total}, - #{vid}, - #{vname}, - #{vtime}, - #{status}, - #{ftime}, - #{remark}, - - - - INSERT INTO biz_sell_order_sub(pid, cid, cname, num, price, remain_num) - VALUES - - (#{i.pid},#{i.cid},#{i.cname},#{i.num},#{i.price},#{i.remainNum}) - - - - update biz_sell_order - set customer_id=#{customerId}, - customer_name=#{customerName}, - status=#{status}, - total=#{total}, - remark=#{remark} - where id = #{id} - - - update biz_sell_order - set status=2, - vid=#{vid}, - vname=#{vname}, - vtime=#{vtime} - where id = #{id} - and status = 1 - - - update biz_sell_order - set status=0 - where id = #{id} - and status = 1 - - - delete - from biz_sell_order - where id = #{id} - and status = 0 - - - delete - from biz_sell_order_sub - where pid = #{pid} - - - update biz_sell_order - set finish=#{finish}, - ftime=#{ftime} - where id = #{id} - and status = 2 - - - update biz_sell_order_sub - set remain_num=#{remain_num} - where id = #{id} - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizSellOrderSub.xml b/java/local/src/main/resources/mapper/BizSellOrderSub.xml new file mode 100644 index 0000000..75b21b6 --- /dev/null +++ b/java/local/src/main/resources/mapper/BizSellOrderSub.xml @@ -0,0 +1,10 @@ + + + + + INSERT INTO biz_sell_order_sub(pid, cid, cname, num, price, remain_num) VALUES + + (#{i.pid}, #{i.cid}, #{i.cname}, #{i.num}, #{i.price}, #{i.remainNum}) + + + \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizSellOutbound.xml b/java/local/src/main/resources/mapper/BizSellOutbound.xml index 9c2225e..0164061 100644 --- a/java/local/src/main/resources/mapper/BizSellOutbound.xml +++ b/java/local/src/main/resources/mapper/BizSellOutbound.xml @@ -1,111 +1,19 @@ - - and id=#{id} - and id like "%"#{idFuzzy}"%" - and pid=#{pid} - and pid like "%"#{pidFuzzy}"%" - and cid=#{cid} - and cname like "%"#{cname}"%" - and vid=#{vid} - and vname like "%"#{vname}"%" - and status in (${status}) - and ctime = ]]> #{ctimeStart} - and ctime #{ctimeEnd} - and vtime = ]]> #{vtimeStart} - and vtime #{vtimeEnd} - - - - - select id, - pid, - cname, - from_unixtime(ctime/1000,'%Y-%m-%d %H:%m:%s') ctime, - from_unixtime(vtime/1000,'%Y-%m-%d %H:%m:%s') vtime, - vname, - case status when 0 then '拟定' when 1 then'待审核' when 2 then '已审核' end status, - remark - from biz_sell_outbound - where 1 - - order by ctime desc + pid, + cname, + from_unixtime(ctime / 1000, '%Y-%m-%d %H:%m:%s') ctime, + from_unixtime(vtime / 1000, '%Y-%m-%d %H:%m:%s') vtime, + vname, + case status + when 0 then '拟定' + when 1 then '待审核' + when 2 then '已审核' + end status, + remark + from biz_sell_outbound ${ew.customSqlSegment} - - insert into biz_sell_outbound - - id,pid,cid,cname,ctime, - vid, - vname, - vtime, - status, - remark, - - - #{id},#{pid},#{cid},#{cname},#{ctime}, - #{vid}, - #{vname}, - #{vtime}, - #{status}, - #{remark}, - - - - INSERT INTO biz_sell_outbound_sub(pid,sid, cid, cname, num) - VALUES - - (#{i.pid},#{i.sid},#{i.cid},#{i.cname},#{i.num}) - - - - update biz_sell_outbound - set pid=#{pid}, - status=#{status}, - remark=#{remark} - where id = #{id} - - - update biz_sell_outbound - set status=2, - vid=#{vid}, - vname=#{vname}, - vtime=#{vtime} - where id = #{id} - and status = 1 - - - update biz_sell_outbound - set status=0 - where id = #{id} - and status = 1 - - - delete - from biz_sell_outbound - where id = #{id} - and status = 0 - - - delete - from biz_sell_outbound_sub - where pid = #{pid} - diff --git a/java/local/src/main/resources/mapper/BizSellOutboundSub.xml b/java/local/src/main/resources/mapper/BizSellOutboundSub.xml new file mode 100644 index 0000000..21cf68e --- /dev/null +++ b/java/local/src/main/resources/mapper/BizSellOutboundSub.xml @@ -0,0 +1,10 @@ + + + + + INSERT INTO biz_sell_outbound_sub(pid, sid, cid, cname, num) VALUES + + (#{i.pid}, #{i.sid}, #{i.cid}, #{i.cname}, #{i.num}) + + + \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/BizStock.xml b/java/local/src/main/resources/mapper/BizStock.xml index ee26954..5c34151 100644 --- a/java/local/src/main/resources/mapper/BizStock.xml +++ b/java/local/src/main/resources/mapper/BizStock.xml @@ -1,66 +1,15 @@ - - where 1 - - and id=#{id} - - - and id in (${ids}) - - - and cid=#{cid} - - - and cid in (${cids}) - - - and cgddid=#{cgddid} - - - and cgddid in (${cgddids}) - - - and cgrkid=#{cgrkid} - - - and cgrkid in (${cgrkids}) - - - and ctime = ]]> #{startTime} - - - and ctime #{endTime} - - and num > 0 - - - select cid, cname, sum(num) total_num, sum(num * price) total_price - from biz_stock - + from biz_stock ${ew.customSqlSegment} group by cid - - - - - - insert into biz_stock - (cid, cname, num, price, ctime, cgrkid, cgddid) - values + insert into biz_stock (cid, cname, num, price, ctime, cgrkid, cgddid) values (#{item.cid,jdbcType=INTEGER}, #{item.cname,jdbcType=VARCHAR}, #{item.num,jdbcType=DECIMAL}, #{item.price,jdbcType=DECIMAL}, #{item.ctime,jdbcType=BIGINT}, #{item.cgrkid,jdbcType=VARCHAR}, diff --git a/java/local/src/main/resources/mapper/Msg.xml b/java/local/src/main/resources/mapper/Msg.xml index 09bb265..4b5ce41 100644 --- a/java/local/src/main/resources/mapper/Msg.xml +++ b/java/local/src/main/resources/mapper/Msg.xml @@ -1,89 +1,6 @@ - - - and title like "%"#{title}"%" - - - and type in (${type}) - - - and uid=#{uid} - - - and status in (${status}) - - - - - where status = 1 - and ptime = ]]> #{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}) - - - - insert into msg (title, content, type, cid, cname, ctime, - pid, pname, ptime, wid, wname, wtime, status, broadcast, recipient) - values (#{title}, #{content}, #{type}, #{cid}, #{cname}, #{ctime}, #{pid}, - #{pname}, #{ptime}, #{wid}, #{wname}, #{wtime}, #{status}, #{broadcast}, #{recipient}) - - - - insert into msg_state (mid, uid, time) - values (#{mid}, #{uid}, #{time}) - - - - - - - - update msg - set title=#{title}, - content=#{content}, - type=#{type}, - pid=#{pid}, - pname=#{pname}, - ptime=#{ptime}, - wid=#{wid}, - wname=#{wname}, - wtime=#{wtime}, - status=#{status}, - broadcast=#{broadcast}, - recipient=#{recipient} - where id = #{id} - - - - update msg - set status=#{status}, - wid=#{wid}, - wname=#{wname}, - wtime=#{wtime} - where id = #{id} - and status = 1 - - - - delete - from msg - where id = #{id} - and status = 0 - - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/RecAttachment.xml b/java/local/src/main/resources/mapper/RecAttachment.xml index 49ebf63..509dacc 100644 --- a/java/local/src/main/resources/mapper/RecAttachment.xml +++ b/java/local/src/main/resources/mapper/RecAttachment.xml @@ -1,45 +1,11 @@ - - - - + insert into rec_attachment (pid, name, time, sort, url,size) VALUES (#{i.pid}, #{i.name}, #{i.time}, #{i.sort}, #{i.url},#{i.size}) - - - delete - from rec_attachment - where 0 - and id = #{id} - and pid = #{pid} - and url = #{url} - - - delete - from rec_attachment - where url in - - #{i} - - - - delete - from rec_attachment - where pid = #{pid} - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/RecLoginHistory.xml b/java/local/src/main/resources/mapper/RecLoginHistory.xml deleted file mode 100644 index e4bfe7e..0000000 --- a/java/local/src/main/resources/mapper/RecLoginHistory.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - and uid=#{uid} - and uname like "%"#{uname}"%" - and type=#{type} - and ip =#{ip} - and address like "%"#{address}"%" - and time = ]]> #{startTime} - and time #{endTime} - - - - - insert into rec_login_history (uid, uname, ip, address, type, time) - VALUES (#{uid}, #{uname}, #{ip}, #{address}, #{type}, #{time}) - - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/RecUserAction.xml b/java/local/src/main/resources/mapper/RecUserAction.xml deleted file mode 100644 index de9d530..0000000 --- a/java/local/src/main/resources/mapper/RecUserAction.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - and uid=#{uid} - and uname like "%"#{uname}"%" - and type in (${type}) - and ip =#{ip} - and url =#{url} - and time = ]]> #{startTime} - and time #{endTime} - - - - - insert into rec_user_action (uid, uname, ip, url, time, action, error, type) - VALUES (#{uid}, #{uname}, #{ip}, #{url}, #{time}, #{action}, #{error}, #{type}) - - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/SysCategory.xml b/java/local/src/main/resources/mapper/SysCategory.xml index c38a61e..be48e5a 100644 --- a/java/local/src/main/resources/mapper/SysCategory.xml +++ b/java/local/src/main/resources/mapper/SysCategory.xml @@ -1,62 +1,6 @@ - - and id=#{id} - and id in (${ids}) - and pid=#{pid} - and pid in (${pids}) - and name like "%"#{name}"%" - and type=#{type} - and ctime = ]]> #{startTime} - and ctime #{endTime} - - - insert into sys_category (pid, name, type, ctime) - values (#{pid}, #{name}, #{type}, #{ctime}) - - - update sys_category - set pid=#{pid}, - name=#{name}, - type=#{type} - where id = #{id} - - - delete - from sys_category - where id = #{id} - - - - - - diff --git a/java/local/src/main/resources/mapper/SysCustomer.xml b/java/local/src/main/resources/mapper/SysCustomer.xml index 2d02b44..4427389 100644 --- a/java/local/src/main/resources/mapper/SysCustomer.xml +++ b/java/local/src/main/resources/mapper/SysCustomer.xml @@ -1,66 +1,6 @@ - - and a.id=#{id} - and a.name like "%"#{name}"%" - and a.address like "%"#{address}"%" - and a.linkman like "%"#{linkman}"%" - and a.linkphone=#{linkphone} - and a.region in (${region}) - and a.status=#{status} - and a.ctime = ]]> #{startTime} - and a.ctime #{endTime} - - - insert into sys_customer (name, address, linkman, linkphone, ctime, region, status, remark) - values (#{name}, #{address}, #{linkman}, #{linkphone}, #{ctime}, #{region}, #{status}, #{remark}) - - - update sys_customer - set name=#{name}, - address=#{address}, - linkman=#{linkman}, - linkphone=#{linkphone}, - region=#{region}, - remark=#{remark}, - status=#{status} - where id = #{id} - - - delete - from sys_customer - where id = #{id} - and status = 0 - - - - - - - - insert into sys_department (pid, name, status) - VALUES (#{pid}, #{name}, #{status}); - - - - update sys_department - set pid=#{pid}, - name=#{name}, - status=#{status} - where id = #{id} - - - - delete - from sys_department - where id = #{id} - - - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/SysResource.xml b/java/local/src/main/resources/mapper/SysResource.xml deleted file mode 100644 index 61e9276..0000000 --- a/java/local/src/main/resources/mapper/SysResource.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - update sys_resource - set total_rate=#{totalRate}, - ip_rate=#{ipRate} - where id = #{id} - - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/SysRole.xml b/java/local/src/main/resources/mapper/SysRole.xml deleted file mode 100644 index 5871f65..0000000 --- a/java/local/src/main/resources/mapper/SysRole.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - and id=#{id} - - - and name like "%"#{name}"%" - - - and cid=#{cid} - - - and cname like "%"#{cname}"%" - - - and status=#{status} - - - and ctime = ]]> #{startTime} - - - and ctime #{endTime} - - - - - insert into sys_role (name, cid, cname, ctime, status, scope, department_id, resource_id) - values (#{name}, #{cid}, #{cname}, #{ctime}, #{status}, #{scope}, #{departmentId}, #{resourceId}) - - - - update sys_role - set name=#{name}, - status=#{status}, - scope=#{scope}, - department_id=#{departmentId}, - resource_id=#{resourceId} - where id = #{id} - - - - delete - from sys_role - where id = #{id} - and status = 0 - - - - - - - - - - - - \ No newline at end of file diff --git a/java/local/src/main/resources/mapper/SysSupplier.xml b/java/local/src/main/resources/mapper/SysSupplier.xml index 27b6656..8a9bf94 100644 --- a/java/local/src/main/resources/mapper/SysSupplier.xml +++ b/java/local/src/main/resources/mapper/SysSupplier.xml @@ -1,64 +1,6 @@ - - and a.id=#{id} - and a.name like "%"#{name}"%" - and a.address like "%"#{address}"%" - and a.linkman like "%"#{linkman}"%" - and a.linkphone=#{linkphone} - and a.region in (${region}) - and a.status=#{status} - and a.ctime = ]]> #{startTime} - and a.ctime #{endTime} - - - insert into sys_supplier (name,address,linkman,linkphone,ctime,region,status,remark) - values(#{name},#{address},#{linkman},#{linkphone},#{ctime},#{region},#{status},#{remark}) - - - update sys_supplier - set name=#{name}, - address=#{address}, - linkman=#{linkman}, - linkphone=#{linkphone}, - region=#{region}, - remark=#{remark}, - status=#{status} - where id = #{id} - - - delete - from sys_supplier - where id = #{id} - and status = 0 - - - - - - select a.*, - b.name role_name - from sys_user a - left join sys_role b on a.role = b.id - where a.name = #{name} - and a.pwd = #{pwd} - - - - - - - - update sys_user - set pwd=#{pwd} - where id = #{id} - and admin = 0 - - \ No newline at end of file diff --git a/java/local/src/main/resources/script/get_document_id.lua b/java/local/src/main/resources/script/get_doc_id.lua similarity index 100% rename from java/local/src/main/resources/script/get_document_id.lua rename to java/local/src/main/resources/script/get_doc_id.lua