From 7e9976fe57ab5133b019a9258e7c054f74e1d2ab Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 18 Apr 2022 09:52:44 +0800
Subject: [PATCH] add ipad code
---
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java | 8
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 5
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 88 +++
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml | 4
zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailVo.java | 181 +++++++
zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java | 1
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 1
zq-erp/src/main/java/com/matrix/system/padApi/dto/WebPadLoginDto.java | 19
zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java | 100 ++++
zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java | 5
zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java | 4
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java | 2
zq-erp/src/main/java/com/matrix/system/padApi/vo/UserInfoVo.java | 27 +
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 12
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml | 15
zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java | 182 +++++++
zq-erp/src/test/java/com/matrix/JyyTests2.java | 140 +++++
zq-erp/src/main/java/com/matrix/system/padApi/dto/PadOrderListDto.java | 95 ++++
zq-erp/src/main/java/com/matrix/system/padApi/action/PadVipAction.java | 184 ++++++++
zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailItemVo.java | 122 +++++
zq-erp/src/main/java/com/matrix/system/padApi/dto/PadVipListDto.java | 21
zq-erp/src/main/java/com/matrix/system/padApi/action/PadOrderAction.java | 120 +++++
22 files changed, 1,326 insertions(+), 10 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
index 2fafe6a..c2dfea6 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
@@ -455,5 +455,10 @@
*/
private Integer validFlag;
+ /**
+ * Pad端查询条件
+ */
+ private String padQueryKey;
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
index 22ef160..fed00d8 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
@@ -5,6 +5,8 @@
import com.matrix.system.app.vo.OrderDetailVo;
import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.hive.bean.SysOrder;
+import com.matrix.system.padApi.dto.PadOrderListDto;
+import com.matrix.system.padApi.vo.PadOrderDetailVo;
import com.matrix.system.shopXcx.api.dto.ErpOrderListDto;
import com.matrix.system.shopXcx.api.vo.ErpOrderDetailVo;
import org.apache.ibatis.annotations.Param;
@@ -44,9 +46,13 @@
List<OrderDetailVo> selectApiOrderListInPage(@Param("record") OrderListDto orderListDto, @Param("pageVo") PaginationVO pageVo);
+ List<PadOrderDetailVo> selectPadApiOrderListInPage(PadOrderListDto orderListDto, PaginationVO pageVo);
+
int selectApiOrderListTotal(@Param("record") OrderListDto orderListDto);
OrderDetailVo selectApiOrderDetailById(@Param("orderId") Long orderId);
+
+ PadOrderDetailVo selectPadApiOrderDetailById(@Param("orderId") Long orderId);
List<RankingVo> selectShopAchieveRanking(@Param("record") SysOrder sysOrder);
@@ -57,4 +63,6 @@
ErpOrderDetailVo findUserOrderById(Long orderId);
BigDecimal selectArrearsByVipId(Long vipId);
+
+ int selectPadApiOrderListTotal(@Param("record") PadOrderListDto orderListDto);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java
index 2c88504..cbb6fb9 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderItemDao.java
@@ -3,6 +3,7 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.vo.OrderDetailItemVo;
import com.matrix.system.hive.bean.SysOrderItem;
+import com.matrix.system.padApi.vo.PadOrderDetailItemVo;
import com.matrix.system.shopXcx.api.vo.ErpOrderDetailItemVo;
import org.apache.ibatis.annotations.Param;
@@ -62,6 +63,7 @@
public int deleteByOrderId(Long id);
List<OrderDetailItemVo> selectApiOrderDetailItemsByOrderId(@Param("orderId") Long orderId);
+ List<PadOrderDetailItemVo> selectPadApiOrderDetailItemsByOrderId(@Param("orderId") Long orderId);
List<ErpOrderDetailItemVo> selectErpOrderItemByOrderId(String orderId);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
index fd8fba7..0d1055a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
@@ -1,10 +1,12 @@
package com.matrix.system.hive.dao;
+import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.VipInfoListDto;
import com.matrix.system.app.vo.VipInfoListVo;
import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.pojo.VipInfoVo;
+import com.matrix.system.padApi.dto.PadVipListDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -219,4 +221,6 @@
List<Map<String, Object>> selectVipArrearsStatistics(@Param("record") SysVipInfo sysVipInfo, @Param("pageVo") PaginationVO pageVo);
Integer selectVipArrearsStatisticsTotal(@Param("record") SysVipInfo sysVipInfo);
+
+ AjaxResult selectVipInfoListInPage(@Param("record")PadVipListDto padVipListDto);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index 3b8db13..91f18c7 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -8,6 +8,8 @@
import com.matrix.system.hive.bean.SysOrder;
import com.matrix.system.hive.plugin.util.BaseServices;
import com.matrix.system.hive.pojo.CzXkVo;
+import com.matrix.system.padApi.dto.PadOrderListDto;
+import com.matrix.system.padApi.vo.PadOrderDetailVo;
import java.math.BigDecimal;
import java.util.List;
@@ -114,6 +116,8 @@
List<OrderDetailVo> findApiOrderListInPage(OrderListDto orderListDto, PaginationVO pageVo);
+ List<PadOrderDetailVo> findPadApiOrderListInPage(PadOrderListDto orderListDto, PaginationVO pageVo);
+
int findApiOrderListTotal(OrderListDto orderListDto);
OrderDetailVo findApiOrderDetailByOrderId(Long orderId);
@@ -122,4 +126,5 @@
BigDecimal findVipArrearsByVipId(Long vipId);
+ int findPadApiOrderListTotal(PadOrderListDto orderListDto);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
index a31f4d0..ae8f69e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
@@ -217,4 +217,5 @@
List<Map<String, Object>> findVipArrearsStatistics(SysVipInfo sysVipInfo, PaginationVO pageVo);
Integer findVipArrearsStatisticsTotal(SysVipInfo sysVipInfo);
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index a47e379..19b45ec 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -35,6 +35,8 @@
import com.matrix.system.hive.plugin.util.CollectionUtils;
import com.matrix.system.hive.pojo.CzXkVo;
import com.matrix.system.hive.service.*;
+import com.matrix.system.padApi.dto.PadOrderListDto;
+import com.matrix.system.padApi.vo.PadOrderDetailVo;
import com.matrix.system.score.service.ScoreVipDetailService;
import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting;
import com.matrix.system.wechart.templateMsg.UniformMsgParam;
@@ -514,11 +516,21 @@
}
@Override
+ public List<PadOrderDetailVo> findPadApiOrderListInPage(PadOrderListDto orderListDto, PaginationVO pageVo) {
+ return sysOrderDao.selectPadApiOrderListInPage(orderListDto, pageVo);
+ }
+
+ @Override
public int findApiOrderListTotal(OrderListDto orderListDto) {
return sysOrderDao.selectApiOrderListTotal(orderListDto);
}
@Override
+ public int findPadApiOrderListTotal(PadOrderListDto orderListDto) {
+ return sysOrderDao.selectPadApiOrderListTotal(orderListDto);
+ }
+
+ @Override
public OrderDetailVo findApiOrderDetailByOrderId(Long orderId) {
OrderDetailVo orderDetail = sysOrderDao.selectApiOrderDetailById(orderId);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
index 9cdcdb4..59e8f34 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -690,4 +690,5 @@
public Integer findVipArrearsStatisticsTotal(SysVipInfo sysVipInfo) {
return sysVipInfoDao.selectVipArrearsStatisticsTotal(sysVipInfo);
}
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java
new file mode 100644
index 0000000..39b0a28
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java
@@ -0,0 +1,100 @@
+package com.matrix.system.padApi.action;
+
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.RSAUtils;
+import com.matrix.core.tools.UUIDUtil;
+import com.matrix.system.app.vo.UserInfoVo;
+import com.matrix.system.common.authority.DefaultAuthorityManager;
+import com.matrix.system.common.authority.strategy.AccountPasswordLogin;
+import com.matrix.system.common.authority.strategy.LoginStrategy;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.SysCompanyDao;
+import com.matrix.system.common.init.LocalCache;
+import com.matrix.system.common.service.SysUsersService;
+import com.matrix.system.hive.bean.SysShopInfo;
+import com.matrix.system.hive.dao.SysShopInfoDao;
+import com.matrix.system.hive.service.SysShopInfoService;
+import com.matrix.system.padApi.dto.WebPadLoginDto;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@CrossOrigin(origins = "*")
+@Api(value = "PadApiCommonAction", tags = "pad端公共请求类(含登陆)")
+@RestController
+@RequestMapping(value = "/api/common/pad")
+public class PadApiCommonAction {
+
+ @Autowired
+ private SysUsersService sysUsersService;
+
+ @Autowired
+ private DefaultAuthorityManager authorityManager;
+
+ @Autowired
+ SysShopInfoDao sysShopInfoDao;
+
+ @Autowired
+ SysCompanyDao sysCompanyDao;
+
+ @Autowired
+ private SysShopInfoService sysShopInfoService;
+
+ @Value("${login_public_key}")
+ private String publicKey;
+
+ @ApiOperation(value = "登陆接口", notes = "pad端登陆接口")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "OK", response = UserInfoVo.class)
+ })
+ @PostMapping(value = "/login")
+ public AjaxResult dologin(@RequestBody @Validated WebPadLoginDto loginDto) throws Exception {
+
+ SysUsers user = new SysUsers();
+ user.setSuAccount(loginDto.getUsername());
+ user.setSuPassword(loginDto.getPassword());
+ LoginStrategy apLogin = new AccountPasswordLogin(user, sysUsersService);
+ user = authorityManager.login(apLogin);
+
+ UserInfoVo userInfoVo = new UserInfoVo();
+ if(user.getShopId()!=null){
+ SysShopInfo shopInfo = sysShopInfoService.findById(user.getShopId());
+ user.setShopName(shopInfo.getShopName());
+ userInfoVo.setShopName(shopInfo.getShopShortName());
+ }
+ user.setSuPassword(null);
+
+ String token = UUIDUtil.getRandomID();
+ LocalCache.save(token, user);
+
+ userInfoVo.setId(user.getSuId());
+ userInfoVo.setName(user.getSuName());
+ userInfoVo.setRoleName(user.getRoleName());
+ userInfoVo.setPhoto(user.getSuPhoto());
+
+ String sb = token + "_1" + "_/api/vip/findVipInfoById/972";
+ AjaxResult result = AjaxResult.buildSuccessInstance("登陆成功");
+ authorityManager.initUserPower(result);
+ result.putInMap("user", userInfoVo);
+ result.putInMap("token", token);
+ result.putInMap("rasToken", RSAUtils.encryptByPublicKey(sb, publicKey));
+ return result;
+ }
+
+ @ApiOperation(value = "用户退出系统", notes = "用户退出系统")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = AjaxResult.class)
+ })
+ @GetMapping(value = "/loginOut")
+ public AjaxResult loginOut() {
+ authorityManager.getLoginOut();
+ return AjaxResult.buildSuccessInstance("退出系统成功");
+ }
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadOrderAction.java b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadOrderAction.java
new file mode 100644
index 0000000..348df51
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadOrderAction.java
@@ -0,0 +1,120 @@
+package com.matrix.system.padApi.action;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.exception.GlobleException;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.common.bean.BusParameterSettings;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.constance.Dictionary;
+import com.matrix.system.enums.BooleanEnum;
+import com.matrix.system.hive.action.BaseController;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.SysOrder;
+import com.matrix.system.hive.service.SysOrderService;
+import com.matrix.system.padApi.dto.PadOrderListDto;
+import com.matrix.system.padApi.vo.PadOrderDetailVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@CrossOrigin(origins = "*")
+@Api(value = "PadOrderAction", tags = "pad端订单请求")
+@RestController
+@RequestMapping(value = "/api/pad/order")
+public class PadOrderAction extends BaseController {
+
+ @Resource
+ private SysOrderService sysOrderService;
+
+ @Resource
+ private SysOrderService orderService;
+
+ @Autowired
+ private BusParameterSettingsDao busParameterSettingsDao;
+
+ @ApiOperation(value = "获取订单列表", notes = "获取订单列表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = PadOrderDetailVo.class)
+ })
+ @PostMapping(value = "/findOrderList")
+ public AjaxResult findOrderList(@RequestBody @Validated PadOrderListDto orderListDto) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ int offset = (orderListDto.getPageNum() - 1) * orderListDto.getPageSize();
+ int limit = orderListDto.getPageSize();
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setOffset(offset);
+ pageVo.setLimit(limit);
+
+ if (!DataAuthUtil.hasAllShopAuth()) {
+ orderListDto.setShopId(user.getShopId());
+ }
+ QueryUtil.setQueryLimitCom(orderListDto);
+ return AjaxResult.buildSuccessInstance(sysOrderService.findPadApiOrderListInPage(orderListDto, pageVo),
+ sysOrderService.findPadApiOrderListTotal(orderListDto));
+ }
+
+ @ApiOperation(value = "获取订单详情", notes = "获取订单详情")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = OrderDetailVo.class)
+ })
+ @GetMapping(value = "/findOrderDetail/{orderId}")
+ public AjaxResult findOrderDetail(@PathVariable("orderId") Long orderId) {
+ OrderDetailVo orderDetail = sysOrderService.findApiOrderDetailByOrderId(orderId);
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+ ajaxResult.putInMap("orderDetail", orderDetail);
+ return ajaxResult;
+ }
+
+ @ApiOperation(value = "取消订单", notes = "取消订单")
+ @GetMapping(value = "/cancelOrder/{id}")
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult cancelOrder(Long id) {
+
+ SysOrder order = orderService.findById(id);
+ if (ObjectUtil.isEmpty(order)) {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "订单不存在!");
+ }
+
+ BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, order.getCompanyId());
+ if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue())
+ && BooleanEnum.TRUE.getValue() == shopManageAbleCancelDfkOrder.getIntParamValue()) {
+
+ if (!Dictionary.ORDER_STATU_DFK.equals(order.getStatu())) {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待付款订单");
+ }
+ }
+ orderService.cancelOrder(id);
+ return AjaxResult.buildSuccessInstance("取消成功");
+ }
+
+ @ApiOperation(value = "收款", notes = "收款")
+ @PostMapping(value = "/sk")
+ public AjaxResult sk(@RequestBody SysOrder order) throws GlobleException {
+ orderService.payOrder(order);
+ return AjaxResult.buildSuccessInstance("收款成功");
+ }
+
+ @ApiOperation(value = "补交", notes = "补交")
+ @PostMapping(value = "/bj")
+ public AjaxResult bj(@RequestBody SysOrder order){
+ orderService.updateAfterMoney(order);
+ return AjaxResult.buildSuccessInstance("补交成功");
+ }
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java
new file mode 100644
index 0000000..0332323
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadServiceAction.java
@@ -0,0 +1,182 @@
+package com.matrix.system.padApi.action;
+
+import cn.hutool.core.collection.CollUtil;
+import com.matrix.core.exception.GlobleException;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.BusParameterSettings;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.common.service.SysUsersService;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.constance.Dictionary;
+import com.matrix.system.enums.BooleanEnum;
+import com.matrix.system.hive.action.BaseController;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.*;
+import com.matrix.system.hive.dao.*;
+import com.matrix.system.hive.service.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@CrossOrigin(origins = "*")
+@Api(value = "PadServiceAction", tags = "pad端服务单请求")
+@RestController
+@RequestMapping(value = "/api/pad/service")
+public class PadServiceAction extends BaseController {
+
+ @Resource
+ private SysProjServicesService projServicesSerivce;
+ @Resource
+ private SysProjUseService projUseService;
+ @Resource
+ private SysBedInfoService bedInfoService;
+ @Autowired
+ SysProjGoodsDao sysProjGoodsDao;
+ @Resource
+ private SysProjServicesService sysProjServicesService;
+ @Resource
+ private SysVipInfoService sysVipInfoService;
+ @Autowired
+ private SysBeauticianStateDao beauticianStateDao;
+ @Autowired
+ AchieveNewService achieveNewService;
+ @Autowired
+ private SysBedStateDao sysBedStateDao;
+ @Autowired
+ ShoppingGoodsAssembleDao goodsAssembleDao;
+ @Autowired
+ SysShopInfoDao shopInfoDao;
+ @Resource
+ private SysUsersService usersService;
+ @Autowired
+ private SysProjServicesDao sysProjServicesDao;
+ @Autowired
+ BusParameterSettingsDao busParameterSettingsDao;
+
+ /**
+ * 显示所有服务单列表
+ */
+ @ApiOperation(value = "显示所有服务单列表", notes = "显示所有服务单列表")
+ @PostMapping(value = "/showList")
+ public AjaxResult showList(@RequestBody SysProjServices projService, PaginationVO pageVo) {
+
+ //默认排序
+ if (StringUtils.isBlank(pageVo.getSort())) {
+ pageVo.setSort("create_time");
+ }
+ if (StringUtils.isBlank(pageVo.getOrder())) {
+ pageVo.setOrder("desc");
+ }
+ if (!DataAuthUtil.hasAllShopAuth()) {
+ projService.setShopId(getMe().getShopId());
+ }
+ QueryUtil.setQueryLimitCom(projService);
+ List<SysProjServices> dataList = projServicesSerivce.findInPage(projService, pageVo);
+ AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, projServicesSerivce.findTotal(projService));
+ return result;
+ }
+ /**
+ * 进入预约排班详情
+ *
+ * @author 姜友瑶
+ */
+ @ApiOperation(value = "进入预约排班详情", notes = "进入预约排班详情")
+ @PostMapping(value = "/serviceInfo")
+ public AjaxResult findPbxq(@RequestBody SysProjServices projServicesVo) {
+ QueryUtil.setQueryLimitCom(projServicesVo);
+ // 获取服务单信息
+ SysProjServices projServices = null;
+ if(projServicesVo.getId()!=null){
+ projServices= sysProjServicesService.findById(projServicesVo.getId());
+ }else if(StringUtils.isNotBlank(projServicesVo.getServiceNo())) {
+ List<SysProjServices> byModel = sysProjServicesService.findByModel(projServicesVo);
+ if (byModel.size() == 1) {
+ projServices= sysProjServicesService.findById( byModel.get(0).getId());
+ }
+ }
+ if(projServices==null){
+ throw new GlobleException("未查询到单据信息");
+ }
+ // 获取服务单所有信息
+ // 设置会员信息
+ projServices.setVipInfo(sysVipInfoService.findById(projServices.getVipId()));
+ //补充服务单扩展信息===============
+ List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(projServices.getId());
+ if (CollUtil.isNotEmpty(beauticianStateList)) {
+ for (SysBeauticianState sysBeauticianState : beauticianStateList) {
+ if (sysBeauticianState.getProjUse().getTaocanId() != null) {
+ SysProjUse sysProjUse = projUseService.findById(sysBeauticianState.getProjUse().getTaocanId());
+ if(sysProjUse != null) {
+ sysBeauticianState.getProjInfo().setName(sysProjUse.getProjName() + "--" + sysBeauticianState.getProjInfo().getName());
+ }
+ }
+ }
+ }
+ projServices.setServiceItems(beauticianStateList);
+
+ SysBedState sysBedState = sysBedStateDao.selectBySerIdAndBedId(projServices.getId(), projServices.getBedId());
+ projServices.setBedState(sysBedState);
+ //补充服务单扩展信息===============END
+
+ // 根据岗位名称查询员工
+ List<SysUsers> pls = usersService.findByRoleName(true, Dictionary.STAFF_POST_PLS);
+ pls.addAll(usersService.findByRoleName(true, Dictionary.STAFF_POST_PLZG));
+ List<SysUsers> mls = usersService.findByRoleName(true, Dictionary.STAFF_POST_MLS);
+ WebUtil.getRequest().setAttribute("pls", pls);
+ WebUtil.getRequest().setAttribute("mls", mls);
+
+ SysBedInfo bedInfo = new SysBedInfo();
+ bedInfo.setShopId(getMe().getShopId());
+ // 显示当前查询的服务订单的项目信息
+ AjaxResult result = AjaxResult.buildSuccessInstance("");
+ result.putInMap("obj", projServices);
+ result.putInMap("serviceId", projServicesVo.getId());
+ result.putInMap("pageFlae", projServicesVo.getPageFlae());
+ result.putInMap("cw", bedInfoService.findByModel(bedInfo));
+ result.putInMap("pls", pls);
+ result.putInMap("mls", mls);
+ return result;
+ }
+ /**
+ * 根据id取消预约
+ */
+ @ApiOperation(value = "根据id取消预约", notes = "根据id取消预约")
+ @GetMapping(value = "/cancelOrder/{id}")
+ public AjaxResult cancelOrder(@PathVariable("id")Long id) {
+
+ SysProjServices checkProjServices = sysProjServicesDao.selectById(id);
+ QueryUtil.setQueryLimitCom(checkProjServices);
+ BusParameterSettings shopManageAbleCancelDfkOrder = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_ABLE_CANCEL_DFK_ORDER, checkProjServices.getCompanyId());
+ if (StringUtils.isNotBlank(shopManageAbleCancelDfkOrder.getParamValue())
+ && BooleanEnum.TRUE.getValue() == shopManageAbleCancelDfkOrder.getIntParamValue()) {
+
+ if (!checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DYY)
+ && !checkProjServices.getState().equals(Dictionary.SERVICE_STATU_DQR)) {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "您只能取消待预约订单");
+ }
+ }else{
+ if (checkProjServices.getState().equals(Dictionary.SERVICE_STATU_FWWC)
+ || checkProjServices.getState().equals(Dictionary.SERVICE_STATU_FFJS)) {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "当前状态无法取消订单");
+ }
+ }
+
+ int i = sysProjServicesService.modifyCancelProjServices(checkProjServices);
+ if (i > 0) {
+ return new AjaxResult(AjaxResult.STATUS_SUCCESS, "取消预约成功");
+ } else {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败");
+ }
+ }
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadVipAction.java b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadVipAction.java
new file mode 100644
index 0000000..975668d
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadVipAction.java
@@ -0,0 +1,184 @@
+package com.matrix.system.padApi.action;
+
+import cn.hutool.core.util.StrUtil;
+import com.matrix.component.asyncmessage.AsyncMessageManager;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.CustomerDataDictionary;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.CustomerDataDictionaryDao;
+import com.matrix.system.common.service.SysUsersService;
+import com.matrix.system.constance.Dictionary;
+import com.matrix.system.hive.action.BaseController;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.SysOrder;
+import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.dao.MoneyCardUseDao;
+import com.matrix.system.hive.dao.ShoppingGoodsDao;
+import com.matrix.system.hive.dao.SysVipLabelDao;
+import com.matrix.system.hive.pojo.CzXkVo;
+import com.matrix.system.hive.service.MoneyCardUseService;
+import com.matrix.system.hive.service.SysOrderService;
+import com.matrix.system.hive.service.SysVipInfoService;
+import com.matrix.system.padApi.dto.PadVipListDto;
+import com.matrix.system.score.dao.ScoreVipDetailDao;
+import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting;
+import com.matrix.system.wechart.templateMsg.UniformMsgParam;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@CrossOrigin(origins = "*")
+@Api(value = "PadVipAction", tags = "pad端Vip客户请求")
+@RestController
+@RequestMapping(value = "/api/pad/vipInfo")
+public class PadVipAction extends BaseController {
+
+ @Resource
+ private SysVipInfoService vipInfoService;
+ @Resource
+ private SysOrderService sysOrderService;
+ @Autowired
+ ShoppingGoodsDao shoppingGoodsDao;
+ @Autowired
+ private ScoreVipDetailDao scoreVipDetailDao;
+ @Resource
+ private MoneyCardUseService cardUseService;
+ @Autowired
+ private MoneyCardUseDao moneyCardUseDao;
+ @Autowired
+ private SysVipLabelDao sysVipLabelDao;
+ @Resource
+ private SysOrderService orderService;
+ @Autowired
+ private AsyncMessageManager asyncMessageManager;
+ @Autowired
+ private SysUsersService sysUsersService;
+ @Autowired
+ private CustomerDataDictionaryDao dataDictionaryDao;
+
+ /**
+ * 显示所有的会员信息
+ */
+ @ApiOperation(value = "显示所有的会员信息列表", notes = "显示所有的会员信息列表")
+ @PostMapping(value = "/showVipInfoList")
+ public AjaxResult showList(@RequestBody @Validated PadVipListDto padVipListDto) {
+
+ SysVipInfo vipInfo = new SysVipInfo();
+ QueryUtil.setQueryLimit(vipInfo);
+ String queryKey = padVipListDto.getQueryKey();
+ if(StrUtil.isNotEmpty(queryKey)){
+ vipInfo.setPadQueryKey(queryKey);
+ }
+ int offset = (padVipListDto.getPageNum() - 1) * padVipListDto.getPageSize();
+ int limit = padVipListDto.getPageSize();
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setOffset(offset);
+ pageVo.setLimit(limit);
+
+ return showList(vipInfoService, vipInfo, pageVo);
+ }
+
+ /**
+ * 添加或修改会员信息
+ */
+ @ApiOperation(value = "添加或修改会员信息", notes = "添加或修改会员信息")
+ @PostMapping(value = "/addOrModify")
+ public AjaxResult addOrModify(@RequestBody SysVipInfo vipInfo) {
+ if (vipInfo.getId() != null) {
+ return modify(vipInfoService, vipInfo, "会员信息");
+ } else {
+ vipInfo.setVipState(Dictionary.VIP_STATE_HY);
+ SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ if(vipInfo.getShopId()==null){
+ vipInfo.setShopId(users.getShopId());
+ }
+ if(vipInfo.getCompanyId()==null){
+ vipInfo.setCompanyId(users.getCompanyId());
+ }
+ return add(vipInfoService, vipInfo, "会员信息");
+ }
+ }
+
+ /**
+ * 查看会员信息
+ */
+ @SuppressWarnings("unchecked")
+ @ApiOperation(value = "查看会员信息", notes = "查看会员信息")
+ @GetMapping(value = "/showVipInfo/{phone}")
+ public AjaxResult findByModel(@PathVariable("phone")String phone) {
+ List<SysVipInfo> vips = vipInfoService.findByVipNoOrTel(phone);
+ if (vips.size() > 0) {
+ vips.get(0).setPointAll(scoreVipDetailDao.selectUserTotalScore(vips.get(0).getId()));
+ vips.get(0).setSysOrder(sysOrderService.findSysOrderTjByVipId(vips.get(0).getId()));
+ vips.get(0).setLevelCard(cardUseService.findByVipId(vips.get(0).getId()));
+ vips.get(0).setLabels(sysVipLabelDao.selectByVipId(vips.get(0).getId()));
+ vips.get(0).setAge(DateUtil.getAgeForBirthDay(vips.get(0).getBirthday1()));
+ vips.get(0).setBalance(moneyCardUseDao.selectVipCardTotalMoney(vips.get(0).getId()));
+ vips.get(0).setArrears(sysOrderService.findVipArrearsByVipId(vips.get(0).getId()));
+ AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0);
+ return result;
+ } else {
+ return AjaxResult.buildFailInstance("未查到询客户信息");
+ }
+ }
+
+ /**
+ * 充值 查询门店所有员工
+ */
+ @ApiOperation(value = "充值 查询门店所有员工", notes = "充值 查询门店所有员工")
+ @GetMapping(value = "/shopAll")
+ public AjaxResult shopAll() {
+ return new AjaxResult(AjaxResult.STATUS_SUCCESS, sysUsersService.findByRoleName(true, null));
+ }
+ /**
+ * 充值 查询业绩类型
+ */
+ @ApiOperation(value = "充值 查询业绩类型", notes = "充值 查询业绩类型")
+ @GetMapping(value = "getListByParentCode/{parentCode}")
+ public AjaxResult getListByParentCode(@PathVariable String parentCode) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+
+ List<CustomerDataDictionary> list = dataDictionaryDao.selectByParentCode(parentCode, user.getCompanyId());
+ return new AjaxResult(AjaxResult.STATUS_SUCCESS, list, list.size());
+ }
+
+ /**
+ * 充值 查询当前登录人
+ */
+ @ApiOperation(value = "充值 查询当前登录人", notes = "充值 查询当前登录人")
+ @GetMapping(value = "getLoginUser")
+ public AjaxResult getLoginUser() {
+ AjaxResult result = AjaxResult.buildSuccessInstance("");
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ result.putInMap("user", user);
+ return result;
+ }
+
+ /**
+ * 充值
+ */
+ @ApiOperation(value = "充值", notes = "充值")
+ @PostMapping(value = "/cz")
+ public AjaxResult cz(@RequestBody CzXkVo czVo) {
+ SysOrder order= orderService.moneyCardCz(czVo);
+ AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "充值成功");
+
+ //发送微信公众号提醒
+ UniformMsgParam uniformMsgParam=new UniformMsgParam(order.getCompanyId(),UniformMsgParam.GZH_CZCG);
+ uniformMsgParam.put("orderId",order.getId());
+ asyncMessageManager.sendMsg(AsyncMessageRouting.SEND_UNIFORM_TEMPLATE_MSG ,uniformMsgParam);
+
+ result.putInMap("orderId",order.getId());
+ return result;
+ }
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/dto/PadOrderListDto.java b/zq-erp/src/main/java/com/matrix/system/padApi/dto/PadOrderListDto.java
new file mode 100644
index 0000000..63f102e
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/dto/PadOrderListDto.java
@@ -0,0 +1,95 @@
+package com.matrix.system.padApi.dto;
+
+import com.matrix.system.app.dto.BasePageDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@ApiModel(value = "PadOrderListDto", description = "订单列表接收参数类")
+public class PadOrderListDto extends BasePageDto {
+
+ @ApiModelProperty(value = "订单状态 0-全部 1-待付款 2-已付款 3-欠款 全部默认传空字符串", example = "1")
+ private Integer orderStatus;
+
+ @ApiModelProperty(hidden = true)
+ private String status;
+
+ @ApiModelProperty(value = "查询字段")
+ private String queryKey;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+ private Date orderTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long shopId;
+
+ @ApiModelProperty(hidden = true)
+ private Long companyId;
+
+ public Date getOrderTime() {
+ return orderTime;
+ }
+
+ public void setOrderTime(Date orderTime) {
+ this.orderTime = orderTime;
+ }
+
+ public Long getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Long companyId) {
+ this.companyId = companyId;
+ }
+
+ public Long getShopId() {
+ return shopId;
+ }
+
+ public void setShopId(Long shopId) {
+ this.shopId = shopId;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getQueryKey() {
+ return queryKey;
+ }
+
+ public void setQueryKey(String queryKey) {
+ this.queryKey = queryKey;
+ }
+
+ public Integer getOrderStatus() {
+ return orderStatus;
+ }
+
+ public void setOrderStatus(Integer orderStatus) {
+ this.orderStatus = orderStatus;
+ switch (orderStatus) {
+ case 0 :
+ this.status = "";
+ break;
+ case 1:
+ this.status = "待付款";
+ break;
+ case 2:
+ this.status = "已付款";
+ break;
+ case 3:
+ this.status = "欠款";
+ break;
+ default:
+ this.status = "";
+ break;
+ }
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/dto/PadVipListDto.java b/zq-erp/src/main/java/com/matrix/system/padApi/dto/PadVipListDto.java
new file mode 100644
index 0000000..e9fc5ad
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/dto/PadVipListDto.java
@@ -0,0 +1,21 @@
+package com.matrix.system.padApi.dto;
+
+import com.matrix.system.app.dto.BasePageDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "PadVipListDto", description = "订单列表接收参数类")
+@Data
+public class PadVipListDto extends BasePageDto {
+
+ @ApiModelProperty(value = "查询字段")
+ private String queryKey;
+
+ @ApiModelProperty(hidden = true)
+ private Long shopId;
+
+ @ApiModelProperty(hidden = true)
+ private Long companyId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/dto/WebPadLoginDto.java b/zq-erp/src/main/java/com/matrix/system/padApi/dto/WebPadLoginDto.java
new file mode 100644
index 0000000..b6fb8c6
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/dto/WebPadLoginDto.java
@@ -0,0 +1,19 @@
+package com.matrix.system.padApi.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class WebPadLoginDto {
+
+ @ApiModelProperty(value = "用户名", example = "1234")
+ @NotBlank(message = "用户名或密码错误")
+ private String username;
+
+ @ApiModelProperty(value = "密码", example = "123456")
+ @NotBlank(message = "用户名或密码错误")
+ private String password;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailItemVo.java b/zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailItemVo.java
new file mode 100644
index 0000000..e7bb36e
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailItemVo.java
@@ -0,0 +1,122 @@
+package com.matrix.system.padApi.vo;
+
+import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@ApiModel(value = "PadOrderDetailItemVo", description = "订单详情明细表")
+public class PadOrderDetailItemVo {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "商品名称")
+ private String goodsName;
+
+ @ApiModelProperty(value = "数量")
+ private String count;
+
+ @ApiModelProperty(value = "现金支付")
+ private BigDecimal cashPay;
+
+ @ApiModelProperty(value = "储值卡支付")
+ private BigDecimal cardPay;
+
+ @ApiModelProperty(value = "欠款")
+ private BigDecimal arrears;
+
+ @ApiModelProperty(value = "原价")
+ private BigDecimal price;
+
+ @ApiModelProperty(value = "折扣价格")
+ private BigDecimal zkPrice;
+
+ @ApiModelProperty(value = "支付状态")
+ private String status;
+
+ @ApiModelProperty(value = "订单业绩")
+ private List<OrderDetailAchieveItemVo> achieves;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public List<OrderDetailAchieveItemVo> getAchieves() {
+ return achieves;
+ }
+
+ public void setAchieves(List<OrderDetailAchieveItemVo> achieves) {
+ this.achieves = achieves;
+ }
+
+ public String getGoodsName() {
+ return goodsName;
+ }
+
+ public void setGoodsName(String goodsName) {
+ this.goodsName = goodsName;
+ }
+
+ public String getCount() {
+ return count;
+ }
+
+ public void setCount(String count) {
+ this.count = count;
+ }
+
+ public BigDecimal getCashPay() {
+ return cashPay;
+ }
+
+ public void setCashPay(BigDecimal cashPay) {
+ this.cashPay = cashPay;
+ }
+
+ public BigDecimal getCardPay() {
+ return cardPay;
+ }
+
+ public void setCardPay(BigDecimal cardPay) {
+ this.cardPay = cardPay;
+ }
+
+ public BigDecimal getPrice() {
+ return price;
+ }
+
+ public void setPrice(BigDecimal price) {
+ this.price = price;
+ }
+
+ public BigDecimal getZkPrice() {
+ return zkPrice;
+ }
+
+ public void setZkPrice(BigDecimal zkPrice) {
+ this.zkPrice = zkPrice;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public BigDecimal getArrears() {
+ return arrears;
+ }
+
+ public void setArrears(BigDecimal arrears) {
+ this.arrears = arrears;
+ }
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailVo.java b/zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailVo.java
new file mode 100644
index 0000000..5222ced
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/vo/PadOrderDetailVo.java
@@ -0,0 +1,181 @@
+package com.matrix.system.padApi.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.system.app.vo.OrderDetailItemVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@ApiModel(value = "PadOrderDetailVo", description = "订单详情返回参数类")
+public class PadOrderDetailVo {
+
+ @ApiModelProperty(value = "订单ID")
+ private String orderId;
+
+ @ApiModelProperty(value = "会员ID")
+ private String vipId;
+
+ @ApiModelProperty(value = "订单编号")
+ private String orderNo;
+
+ @ApiModelProperty(value = "客户")
+ private String vipName;
+
+ @ApiModelProperty(value = "手机")
+ private String phone;
+
+ @ApiModelProperty(value = "状态")
+ private String orderStatus;
+
+ @ApiModelProperty(value = "顾问")
+ private String staffName;
+
+ @ApiModelProperty(value = "订单总价")
+ private BigDecimal needPay;
+
+ @ApiModelProperty(value = "折后价")
+ private BigDecimal realPay;
+
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_SS, timezone = "GMT+8")
+ @ApiModelProperty(value = "下单时间")
+ private Date orderTime;
+
+ @ApiModelProperty(value = "现金支付金额")
+ private BigDecimal cashPay;
+
+ @ApiModelProperty(value = "储值卡支付金额")
+ private BigDecimal cardPay;
+
+ @ApiModelProperty(value = "优惠金额")
+ private BigDecimal discount;
+
+ @ApiModelProperty(value = "订单明细")
+ private List<OrderDetailItemVo> items;
+
+ @ApiModelProperty(value = "欠款")
+ private BigDecimal arrears;
+
+ public String getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(String vipId) {
+ this.vipId = vipId;
+ }
+
+ public Date getOrderTime() {
+ return orderTime;
+ }
+
+ public void setOrderTime(Date orderTime) {
+ this.orderTime = orderTime;
+ }
+
+ public String getOrderId() {
+ return orderId;
+ }
+
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+
+ public BigDecimal getArrears() {
+ return arrears;
+ }
+
+ public void setArrears(BigDecimal arrears) {
+ this.arrears = arrears;
+ }
+
+ public String getOrderStatus() {
+ return orderStatus;
+ }
+
+ public void setOrderStatus(String orderStatus) {
+ this.orderStatus = orderStatus;
+ }
+
+ public List<OrderDetailItemVo> getItems() {
+ return items;
+ }
+
+ public void setItems(List<OrderDetailItemVo> items) {
+ this.items = items;
+ }
+
+ public String getVipName() {
+ return vipName;
+ }
+
+ public void setVipName(String vipName) {
+ this.vipName = vipName;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getOrderNo() {
+ return orderNo;
+ }
+
+ public void setOrderNo(String orderNo) {
+ this.orderNo = orderNo;
+ }
+
+ public String getStaffName() {
+ return staffName;
+ }
+
+ public void setStaffName(String staffName) {
+ this.staffName = staffName;
+ }
+
+ public BigDecimal getCashPay() {
+ return cashPay;
+ }
+
+ public void setCashPay(BigDecimal cashPay) {
+ this.cashPay = cashPay;
+ }
+
+ public BigDecimal getCardPay() {
+ return cardPay;
+ }
+
+ public void setCardPay(BigDecimal cardPay) {
+ this.cardPay = cardPay;
+ }
+
+ public BigDecimal getNeedPay() {
+ return needPay;
+ }
+
+ public void setNeedPay(BigDecimal needPay) {
+ this.needPay = needPay;
+ }
+
+ public BigDecimal getRealPay() {
+ return realPay;
+ }
+
+ public void setRealPay(BigDecimal realPay) {
+ this.realPay = realPay;
+ }
+
+ public BigDecimal getDiscount() {
+ return discount;
+ }
+
+ public void setDiscount(BigDecimal discount) {
+ this.discount = discount;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/vo/UserInfoVo.java b/zq-erp/src/main/java/com/matrix/system/padApi/vo/UserInfoVo.java
new file mode 100644
index 0000000..5c1c3dc
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/vo/UserInfoVo.java
@@ -0,0 +1,27 @@
+package com.matrix.system.padApi.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "UserInfoVo", description = "用户信息返回类")
+@Data
+public class UserInfoVo {
+
+ @ApiModelProperty(value = "用户ID", example = "1")
+ private Long id;
+
+ @ApiModelProperty(value = "用户名称", example = "呵呵")
+ private String name;
+
+ @ApiModelProperty(value = "职位", example = "店长")
+ private String roleName;
+
+ @ApiModelProperty(value = "头像", example = "--")
+ private String photo;
+
+ @ApiModelProperty(value = "门店名称")
+ private String shopName;
+
+}
+
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
index eb2c3aa..bd66336 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -558,6 +558,48 @@
</if>
</select>
+ <select id="selectPadApiOrderListInPage" resultType="com.matrix.system.padApi.vo.PadOrderDetailVo">
+ select
+ a.id orderId,
+ a.VIP_ID vipId,
+ a.ORDER_NO orderNo,
+ a.ORDER_TIME orderTime,
+ a.STATU orderStatus,
+ a.ZK_TOTAL needPay,
+ (a.card_Pay + a.cash_Pay) realPay,
+ a.arrears arrears,
+ b.su_name staffName,
+ c.VIP_NAME vipName,
+ c.PHONE phone
+ from sys_order a
+ left join sys_users b on a.STAFF_ID = b.su_id
+ left join sys_vip_info c on c.id = a.VIP_ID
+ <where>
+ <if test="record.queryKey != null and record.queryKey != ''">
+ and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
+ </if>
+ <if test="record.status != null and record.status != ''">
+ and a.statu = #{record.status}
+ </if>
+ <if test="record.orderTime != null ">
+ and a.ORDER_TIME = #{record.orderTime}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ </where>
+ <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+ order by a.order_time desc
+ <if test="pageVo.offset >=0 and pageVo.limit >0">
+ limit
+ #{pageVo.offset},#{pageVo.limit}
+ </if>
+ </if>
+ </select>
+
<select id="selectApiOrderListTotal" resultType="java.lang.Integer">
select
count(1)
@@ -570,6 +612,31 @@
</if>
<if test="record.status != null and record.status != ''">
and a.statu = #{record.status}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ </where>
+ </select>
+
+ <select id="selectPadApiOrderListTotal" resultType="java.lang.Integer">
+ select
+ count(1)
+ from sys_order a
+ left join sys_users b on a.STAFF_ID = b.su_id
+ left join sys_vip_info c on c.id = a.VIP_ID
+ <where>
+ <if test="record.queryKey != null and record.queryKey != ''">
+ and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
+ </if>
+ <if test="record.status != null and record.status != ''">
+ and a.statu = #{record.status}
+ </if>
+ <if test="record.orderTime != null ">
+ and a.ORDER_TIME = #{record.orderTime}
</if>
<if test="record.shopId != null">
and a.shop_id=#{record.shopId}
@@ -601,6 +668,27 @@
where a.id=#{orderId}
</select>
+ <select id="selectPadApiOrderDetailById" resultType="com.matrix.system.padApi.vo.PadOrderDetailVo">
+ select
+ a.id orderId,
+ b.VIP_NAME vipName,
+ b.PHONE phone,
+ a.ORDER_NO orderNo,
+ c.su_name staffName,
+ a.cash_Pay cashPay,
+ a.card_Pay cardPay,
+ a.ZK_TOTAL needPay,
+ a.cash_Pay + a.card_Pay realPay,
+ a.arrears arrears,
+ a.TOTAL - a.ZK_TOTAL discount,
+ a.STATU orderStatus,
+ a.order_time orderTime
+ from sys_order a
+ inner join sys_vip_info b on a.VIP_ID=b.ID
+ left join sys_users c on a.STAFF_ID=c.su_id
+ where a.id=#{orderId}
+ </select>
+
<select id="selectShopAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
select
b.shop_short_name name,
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml
index 93cdba5..f3fa230 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderItemDao.xml
@@ -547,6 +547,21 @@
where a.ORDER_ID=#{orderId};
</select>
+ <select id="selectPadApiOrderDetailItemsByOrderId" resultType="com.matrix.system.padApi.vo.PadOrderDetailItemVo">
+ select
+ a.id id,
+ b.name goodsName,
+ a.COUNT count,
+ a.cash_Pay cashPay,
+ a.card_Pay cardPay,
+ a.PRICE price,
+ a.ZK_PRICE zkPrice,
+ a.status status
+ from sys_order_item a
+ inner join shopping_goods b on a.goods_id=b.id
+ where a.ORDER_ID=#{orderId};
+ </select>
+
<select id="selectErpOrderItemByOrderId"
resultType="com.matrix.system.shopXcx.api.vo.ErpOrderDetailItemVo">
select
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
index b23d511..efbcb82 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -808,6 +808,10 @@
<if test="record.phone != null and record.phone !='' ">
and a.PHONE like CONCAT('%',#{record.phone},'%')
</if>
+ <if test="record.padQueryKey != null and record.padQueryKey !='' ">
+ and (a.PHONE like CONCAT('%',#{record.padQueryKey},'%')
+ or instr(a.VIP_NAME ,#{record.padQueryKey}) )
+ </if>
<if test="record.sex != null and record.sex !='' ">
and a.SEX = #{record.sex}
</if>
diff --git a/zq-erp/src/test/java/com/matrix/JyyTests2.java b/zq-erp/src/test/java/com/matrix/JyyTests2.java
index 4393a4b..d54f063 100644
--- a/zq-erp/src/test/java/com/matrix/JyyTests2.java
+++ b/zq-erp/src/test/java/com/matrix/JyyTests2.java
@@ -4,25 +4,35 @@
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.exception.GlobleException;
+import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.common.dao.SysUsersDao;
+import com.matrix.system.common.dao.UtilDao;
+import com.matrix.system.common.service.BusParameterSettingService;
+import com.matrix.system.common.service.OperationLogService;
+import com.matrix.system.common.tools.ServiceUtil;
+import com.matrix.system.constance.Dictionary;
+import com.matrix.system.constance.TableMapping;
import com.matrix.system.enums.BooleanEnum;
+import com.matrix.system.enums.OperationButtonEnum;
+import com.matrix.system.enums.OperationFunctionEnum;
import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
import com.matrix.system.fenxiao.dao.ShopSalesmanGradeDao;
import com.matrix.system.fenxiao.dao.ShopSalesmanOrderDao;
import com.matrix.system.fenxiao.entity.ShopSalesmanGrade;
import com.matrix.system.fenxiao.entity.ShopSalesmanOrder;
+import com.matrix.system.hive.bean.SysBeauticianState;
+import com.matrix.system.hive.bean.SysBedState;
+import com.matrix.system.hive.bean.SysProjServices;
import com.matrix.system.hive.bean.SysVipInfo;
-import com.matrix.system.hive.dao.SysOrderDao;
-import com.matrix.system.hive.dao.SysOrderItemDao;
-import com.matrix.system.hive.dao.SysVipInfoDao;
-import com.matrix.system.hive.service.CodeService;
-import com.matrix.system.hive.service.ShoppingGoodsService;
-import com.matrix.system.hive.service.SysOrderService;
-import com.matrix.system.hive.service.SysVipInfoService;
+import com.matrix.system.hive.dao.*;
+import com.matrix.system.hive.service.*;
+import com.matrix.system.score.service.ScoreVipDetailService;
import com.matrix.system.shopXcx.bean.ShopOrder;
import com.matrix.system.shopXcx.bean.ShopOrderDetails;
import com.matrix.system.shopXcx.bean.ShopProduct;
@@ -39,6 +49,8 @@
import java.io.IOException;
import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
import java.util.Objects;
/**
@@ -60,9 +72,6 @@
@Autowired
SysVipInfoService sysVipInfoService;
-
- @Autowired
- private SysVipInfoDao vipDap;
@Autowired
SysVipInfoDao vipDao;
@@ -98,6 +107,117 @@
@Autowired
private BusParameterSettingsDao busParameterSettingsDao;
+
+ @Autowired
+ SysBedStateDao sysBedStateDao;
+ @Autowired
+ private SysProjServicesDao sysProjServicesDao;
+
+ @Autowired
+ private SysBedStateDao bedStateDao;
+
+ @Autowired
+ private SysBeauticianStateDao beauticianStateDao;
+
+ @Autowired
+ TaiYanAliyunSmsService taiYanAliyunSmsService;
+
+ @Autowired
+ ServicesFlowDao servicesFlowDao;
+
+ @Autowired
+ SysUsersDao userDao;
+
+ @Autowired
+ ShoppingGoodsAssembleDao shoppingGoodsAssembleDao;
+
+ @Autowired
+ BusParameterSettingService busParameterSettingService;
+
+ @Autowired
+ ScoreVipDetailService scoreVipDetailService;
+
+ @Autowired
+ SysVipInfoDao sysVipInfoDao;
+
+ @Autowired
+ ShoppingGoodsAssembleDao goodsAssembleDao;
+
+ @Autowired
+ private OperationLogService operationLogService;
+ @Autowired
+ private UtilDao utilDao;
+
+ @Autowired
+ private ServiceUtil serviceUtil;
+
+ @Test
+ public void testQuChong(){
+ boolean b = serviceUtil.addCheckRepeatTowColumn(TableMapping.SYS_VIP_INFO, "PHONE", "18229856946",
+ "company_id", 17);
+ System.out.println("___________" + b);
+ }
+
+ private HashMap<String, Object> excuteTow(String tableName, String column1, Object value1, String column2,
+ Object value2) {
+ HashMap<String, Object> query = new HashMap<>(MatrixConstance.COLLECTION_SIZE);
+ query.put("tableName", tableName);
+ query.put("column1", column1);
+ query.put("value1", value1);
+ query.put("column2", column2);
+ query.put("value2", value2);
+ query = (HashMap<String, Object>) utilDao.selectRepeatTowColumn(query);
+ return query;
+ }
+
+ @Test
+ public void testServiceError(){
+ SysProjServices projServices = new SysProjServices();
+ projServices.setId(12948L);
+
+ SysProjServices checkprojServices = sysProjServicesDao.selectById(projServices.getId());
+ if (!checkprojServices.getState().equals(Dictionary.SERVICE_STATU_FWZ)) {
+ throw new GlobleException("该服务单状态为" + checkprojServices.getState() + ",不可以进行当前操作!");
+ }
+ SysBeauticianState checkBeauticianState = new SysBeauticianState();
+ checkBeauticianState.setServicesId(projServices.getId());
+ checkBeauticianState.setState(Dictionary.BEATUI_STATE_FWJS);
+ int rerunlt = beauticianStateDao.chengItemState(checkBeauticianState);
+
+ // 验证是否是最后一个美疗师结束服务
+ boolean isOver = true;
+ List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(checkprojServices.getId());
+ for (SysBeauticianState beauticianState : beauticianStateList) {
+ if (!beauticianState.getState().equals(Dictionary.BEATUI_STATE_FWJS)) {
+ isOver = false;
+ break;
+ }
+ }
+ if (isOver) {
+ // 释放床位资源
+ SysBedState checkBedState = sysBedStateDao.selectBySerIdAndBedId(checkprojServices.getBedId(), checkprojServices.getId());
+ if (checkBedState != null) {
+ checkBedState.setBedState(Dictionary.BED_STATE_SYJS);
+ bedStateDao.update(checkBedState);
+ }
+ checkprojServices.setEndTime(new Date());
+ // 计算时差
+ long minspace = DateUtil.getDifTimeMin(checkprojServices.getStartTime(), checkprojServices.getEndTime())
+ - checkprojServices.getTotalTime();
+ // 判断是服务超时还是服务提前结束,如果minspace大于0则是超时服务,小于0则是提前结束服务
+ checkprojServices.setIsOverTime(minspace + "");
+ checkprojServices.setState(Dictionary.SERVICE_STATU_FWWC);
+ sysProjServicesDao.update(checkprojServices);
+ }
+ //保存单据日志
+ operationLogService.saveOperation(checkprojServices.getCompanyId(), checkprojServices.getShopId(),1028L,
+ OperationFunctionEnum.SERVICE_ORDER,
+ OperationButtonEnum.SERVICE_ORDER_END,
+ checkprojServices.getId(),
+ checkprojServices.getServiceNo(),
+ checkprojServices.getVipId());
+ }
+
public boolean isSettingOpen(String settingKey,Long companyId) {
BusParameterSettings busParameterSettings = busParameterSettingsDao.selectCompanyParamByCode(settingKey, companyId);
return (
--
Gitblit v1.9.1