diff --git a/project/jiaqingjiayi/pom.xml b/project/jiaqingjiayi/pom.xml
index 070bac5..9245389 100644
--- a/project/jiaqingjiayi/pom.xml
+++ b/project/jiaqingjiayi/pom.xml
@@ -96,6 +96,11 @@
4.13.2
test
+
+ com.alibaba
+ easyexcel
+ 3.3.3
+
org.aspectj
aspectjtools
diff --git a/project/jiaqingjiayi/sql/sql.sql b/project/jiaqingjiayi/sql/sql.sql
index 88e844c..cf4e33b 100644
--- a/project/jiaqingjiayi/sql/sql.sql
+++ b/project/jiaqingjiayi/sql/sql.sql
@@ -2,6 +2,8 @@ create database jqjy;
use jqjy;
+show variables like 'lower_case_table_names';
+
create table user
(
username varchar(256) null comment '用户昵称',
@@ -171,23 +173,25 @@ create table if not exists manicurist
INDEX idx_userId (userId)
) comment ='美甲师表' COLLATE = utf8mb4_unicode_ci;
-create table if not exists manicuristSign
+CREATE TABLE IF NOT EXISTS manicuristSign
(
id BIGINT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(100) not null comment '姓名',
+ name VARCHAR(100) NOT NULL COMMENT '姓名',
manicuristId BIGINT NOT NULL COMMENT '美甲师ID(关联美甲师表)',
- businessName varchar(512) not null comment '门店名称',
+ businessId BIGINT NOT NULL COMMENT '商家id',
+ businessName VARCHAR(512) NOT NULL COMMENT '门店名称',
phone VARCHAR(20) COMMENT '联系电话',
- salary DECIMAL(10, 2) comment '期望工资薪资',
- signTime VARCHAR(100) not null comment '签约时长',
- tenure VARCHAR(100) not null comment '工龄',
- manicuristLv VARCHAR(100) not null comment '美甲师等级',
- auditStatus TINYINT DEFAULT 0 comment '审核状态,0-待审核,1-审核通过,2-审核不通过',
- isDelete TINYINT DEFAULT 0 comment '逻辑删除标志,0 表示未删除,1 表示已删除',
- createTime DATETIME DEFAULT CURRENT_TIMESTAMP not null comment '记录创建时间',
- updateTime DATETIME DEFAULT CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '记录更新时间'
+ salary DECIMAL(10, 2) COMMENT '期望工资薪资',
+ signTime VARCHAR(100) NOT NULL COMMENT '签约时长',
+ tenure VARCHAR(100) NOT NULL COMMENT '工龄',
+ manicuristLv VARCHAR(100) NOT NULL COMMENT '美甲师等级',
+ auditStatus TINYINT DEFAULT 0 COMMENT '审核状态,0-待审核,1-审核通过,2-审核不通过',
+ isDelete TINYINT DEFAULT 0 COMMENT '逻辑删除标志,0 表示未删除,1 表示已删除',
+ createTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
+ updateTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间'
+) COMMENT ='美甲师签约表' COLLATE = utf8mb4_unicode_ci;
+
-) comment ='美甲师签约表' COLLATE = utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS manicurist_auth
(
@@ -207,22 +211,23 @@ CREATE TABLE IF NOT EXISTS manicurist_auth
-- 预约表
CREATE TABLE IF NOT EXISTS appointments
(
- id bigint auto_increment comment '预约ID' primary key,
- userId bigint not null comment '用户ID(关联用户表)',
- userName varchar(100) not null comment '用户姓名',
- phone varchar(64) not null comment '手机号',
- businessId bigint not null comment '商家ID(关联商家表)',
- businessName varchar(512) null comment '商家名称',
- manicuristId bigint null comment '美甲师ID, 如果为空到店分配',
- manicuristName varchar(100) null comment '美甲师姓名',
- appointmentTime datetime not null comment '预约时间',
- serviceMode tinyint default 1 not null comment '服务方式(0 - 到店, 1 - 上门)',
- notes varchar(128) null comment '备注',
- status tinyint default 0 not null comment '预约状态(0 - 已确认, 1 - 已完成, 2 - 已取消)',
- createTime datetime default CURRENT_TIMESTAMP not null comment '创建时间',
- updateTime datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
- isDelete tinyint default 0 not null comment '是否删除',
- orderId bigint null comment '订单ID(关联订单表)',
+ id bigint auto_increment comment '预约ID' primary key,
+ userId bigint not null comment '用户ID(关联用户表)',
+ userName varchar(100) not null comment '用户姓名',
+ phone varchar(64) not null comment '手机号',
+ businessId bigint not null comment '商家ID(关联商家表)',
+ businessName varchar(512) null comment '商家名称',
+ manicuristId bigint null comment '美甲师ID, 如果为空到店分配',
+ manicuristName varchar(100) null comment '美甲师姓名',
+ appointmentTime datetime not null comment '预约时间',
+ serviceMode tinyint default 1 not null comment '服务方式(0 - 线上, 1 - 到店)',
+ notes varchar(128) null comment '备注',
+ status tinyint default 0 not null comment '预约状态(0 - 已确认, 1 - 已完成, 2 - 已取消)',
+ createTime datetime default CURRENT_TIMESTAMP not null comment '创建时间',
+ updateTime datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
+ isDelete tinyint default 0 not null comment '是否删除',
+ orderId bigint null comment '订单ID(关联订单表)',
+ appointmentAddress varchar(512) null comment '预约地址',
INDEX idx_userId (userId),
INDEX idx_businessId (businessId),
INDEX idx_manicuristId (manicuristId),
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AlipayController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AlipayController.java
index 1ac67fc..b5079c7 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AlipayController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AlipayController.java
@@ -20,17 +20,17 @@ import com.cj.jiaqingjiayi.contant.UserConstant;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils;
import com.cj.jiaqingjiayi.mapper.UserMapper;
+import com.cj.jiaqingjiayi.model.domain.Manicurist;
import com.cj.jiaqingjiayi.model.domain.OrderItems;
import com.cj.jiaqingjiayi.model.domain.Orders;
import com.cj.jiaqingjiayi.model.domain.User;
import com.cj.jiaqingjiayi.model.request.AlipayTradeCreateRequest1;
import com.cj.jiaqingjiayi.model.request.CreateAlipayRequest;
+import com.cj.jiaqingjiayi.model.request.UserDTO;
import com.cj.jiaqingjiayi.model.vo.UserVO;
-import com.cj.jiaqingjiayi.service.AliPayService;
-import com.cj.jiaqingjiayi.service.OrderItemsService;
-import com.cj.jiaqingjiayi.service.OrdersService;
-import com.cj.jiaqingjiayi.service.UserService;
+import com.cj.jiaqingjiayi.service.*;
import com.cj.jiaqingjiayi.utils.RandomNumberGenerator;
+import com.cj.jiaqingjiayi.utils.UniqueNumberGenerator;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -80,6 +80,9 @@ public class AlipayController {
@Resource
private OrderItemsService orderItemsService;
+ @Resource
+ private ManicuristService manicuristService;
+
@Resource
private RandomNumberGenerator randomNumberGenerator;
@@ -94,7 +97,7 @@ public class AlipayController {
* @throws AlipayApiException 支付宝api异常
*/
@GetMapping("/parseCode")
- public BaseResponse login(@RequestParam String authcode,@RequestParam long severId, HttpServletRequest req) throws AlipayApiException {
+ public BaseResponse login(@RequestParam String authcode, @RequestParam long severId, HttpServletRequest req) throws AlipayApiException {
AlipayConfig alipayConfig = choiceServer(severId);
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
@@ -111,6 +114,7 @@ public class AlipayController {
User oid = userMapper.selectOne(new LambdaQueryWrapper().eq(User::getOpenId, response.getOpenId()));
UserVO userVO = new UserVO();
+ UserDTO userDTO = new UserDTO();
if (response1.isSuccess()) {
if (oid == null) {
User user = new User();
@@ -123,17 +127,34 @@ public class AlipayController {
req.getSession().setAttribute(RedisKeyConstant.USER_LOGIN_STATE,user);
BeanUtils.copyProperties(user, userVO);
userVO.setSessionId(req.getSession().getId());
- return ResultUtils.success(userVO,"注册成功");
+ userDTO.setUserVO(userVO);
+ return ResultUtils.success(userDTO,"注册成功");
+ }
+ //如果用户权限为美甲师则返回美甲师内容
+ if (oid.getUserRole().equals(3)){
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("userId", oid.getId());
+ Manicurist manicurist = manicuristService.getOne(queryWrapper);
+ userDTO.setManicurist(manicurist);
}
req.getSession().setAttribute(RedisKeyConstant.USER_LOGIN_STATE, oid);
BeanUtils.copyProperties(oid, userVO);
userVO.setSessionId(req.getSession().getId());
- return ResultUtils.success(userVO,"登录成功");
+ userDTO.setUserVO(userVO);
+ return ResultUtils.success(userDTO,"登录成功");
+ }
+ //如果用户权限为美甲师则返回美甲师内容
+ if (oid.getUserRole().equals(3)){
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("userId", oid.getId());
+ Manicurist manicurist = manicuristService.getOne(queryWrapper);
+ userDTO.setManicurist(manicurist);
}
req.getSession().setAttribute(RedisKeyConstant.USER_LOGIN_STATE,oid);
BeanUtils.copyProperties(oid, userVO);
userVO.setSessionId(req.getSession().getId());
- return ResultUtils.success(userVO,"登录成功");
+ userDTO.setUserVO(userVO);
+ return ResultUtils.success(userDTO,"登录成功");
}
@@ -146,17 +167,9 @@ public class AlipayController {
// User loginUser = userService.getLoginUser(request);
// String miniOpenId = loginUser.getOpenId();
- String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7rWG3si4XQlDEHjSe/ot98aCn/R25fCSiCBIUTTA6Wy3Gs5lk1XERw1N6loq8u9zR8vTQwzLnFmepwJx2sMLHGfJT3F6Y7Lx0z7gLYksMe+LIAfc+KYsfs0IyDvoKvwsm7XAzl8AYiqk1/p2dxc5etdvkLO7bXquyCDOclR3lL9NBgbJ6tH0fvcVd3RPmZk5Tb2hfn5JK1s/tAanbvFtKhLNCwX8qZp25+AfPakx2tRZkSgjh+fjA6ZElUnwq9ftHy16vfSmnX3C3LuDSKduo3EBkDhpGjTD5+zOs8tKGofW2gn347ouzXWnTz71ftzVwAgFUcOh4Ib0GVC9SKZBrAgMBAAECggEBAJEK8R8/tEFDfhnjYjWScYm3KLtLciJ8n+8dn6NS+DfRabJL8PutvUHGHAj8uWIdKg6T3sJMaVWQyjK16fYMq6umENLg17cGFquMMSeTIn8Wa3C5nDPNdXjdWAZJ7tJJTTwbeoBVAh+1YgqZqYRacCBgGf3hAARHyRfBIOodkEojc4oyzlbUGOz+Ee6/b+A9BZd84YWkbg/KlD9mlqSAYSGCKBM9nd8l1YIvr/4OgBn679x+A8pB8i5kGxP4fertZl2mkt75LigJ3Ab/vwoHDj1AuPjlUIce+PcTdxHqgNtIJSDWbop70BGPp0XQE9BRefPIPQfS9+2LO+eFeo4ESeECgYEA+DzH4cLoMYG9Hfq9IIbQyq6VJeip4/Lbv8h4RevGPHqyFIKB3fX7bHRlBB8hCnyX+zj4T/K50LEoZmo4tpVCv7YmRkyGRoF0QwaMgbo3bkaaCZeQnuPeZFaqyhszcJL1nhLghSNKcU75orStqf4H2mLL67VH1PkjelAWMrY1JVsCgYEAwYvMNzPkLG+p9MqGlkxgu2gQ6F4SdQp35XLHjygyTMG+qt/cPAbviyOILUhTLHP1s++kgw7z/qJPcNCQVVMWL6aBM40aRb+FiMajHouGe/q26zuDdtgsuqoN84/9phs7495Oa8ROxu6eZPuvU+OJNCgf/NMVkURbOpXtbe+yXjECgYBZwhiAQGqW5BOO0IgsR7MdZm0VrQApJTpiKUmb9rnSSocztVDiAjysJZYVHHBlC1IlC591wQ2BMV2rUoM5OdVN3r4OM0NmIQ754VdS3ROH801lZIFtgnV6kH/m3lkGPo1DYA4A9hbHy8emFnCpA+qxA4I6s2zKzF8Qrf6ozYt/+wKBgChyjrr6nTSsIViG+pluXMjNdrsY7cKH7YaF9i50uA5SbwZGwj/JM0ZgppTQCJHBqhdwfXDmLxeH1BI/g+pQ8tICef3L/zGUVNPAr1Yy0mgWfSOrzE2J388iuserz9Zm2p1EWB8tZ0krlO6Fqp5dbs73k7fCZT92iZo0uum+rggBAoGBAIO74oQpY3lY6OgvjZJAHcr9RiGPB7qQ+zmROxCqzFXdtNZ5sHb1Jdg+IsBcI7ZadFT28x/ENNpfO78mC+1j56mmN9BUpORBIcCaEzp2KYgP7e4FnWTluMvFV/2yBMlCfUEYHPfPK1TfD05oBJY4lTMD2qsT5RhS1ipFqagZgQ1X";
- String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo9gmNSz8l/eH4Uem6hqNoK1t91Gu5evoooJKzZraxPYW9AyJwH8Mxbag3qVaRSalz+OIHHVqszUxah98DbvaxJbpY9tB2zaLSvxhXM4U5iGFR3TqdqqvxsXsfiu+a0JHauuGYtuuNmUwR7ZFVub8Ma/YBCHfELPvl1TcX8MgMlHqw3NQqcEXZZO8Ziyxel7CqgHDx5dFn1meHDFWTajbWN/0TWSzvYAOKrlrS3LjjwbDzTr3BQzH84TLbLkBaMVGEUkJZUrVVkiN3XEVBpBUs5Cv5INN4L+UJ4kDy1u6LICzUVSSrQmHItuA+YiFHZ/WVJ18jISn0W7YZVyRqTo2sQIDAQAB";
- AlipayConfig alipayConfig = new AlipayConfig();
- alipayConfig.setServerUrl("https://openapi-sandbox.dl.alipaydev.com/gateway.do");
- alipayConfig.setAppId("2021004144652242");
- alipayConfig.setPrivateKey(privateKey);
- alipayConfig.setFormat("json");
- alipayConfig.setAlipayPublicKey(alipayPublicKey);
- alipayConfig.setCharset("UTF-8");
- alipayConfig.setSignType("RSA2");
- AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
+
+ // 初始化SDK
+ AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
User byId = userService.getById(pay.getUserId());
ThrowUtils.throwIf(byId.getOpenId() == null, ErrorCode.NOT_FOUND_ERROR, "不是小程序用户");
@@ -175,52 +188,60 @@ public class AlipayController {
}
@GetMapping("/test/close")
- public String closeOrder(String orderNo) throws AlipayApiException {
+ public String closeOrder(String out_trade_no,Long orderId) throws AlipayApiException {
+ log.info("out_trade_no:" + out_trade_no);
AlipayClients clients = new AlipayClients();
AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
AlipayTradeCloseModel model = new AlipayTradeCloseModel();
//model.setTradeNo(); 这是订单项
//订单项可能会有多个支付单
- model.setTradeNo(orderNo);
+ model.setTradeNo(out_trade_no);
request.setBizModel(model);
- request.setNotifyUrl(NOURL);
+// request.setNotifyUrl(NOURL + "/close");
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(Orders::getId, orderId);
+ Orders orders = ordersService.getOne(queryWrapper);
+ log.info("orders:" + orders);
+ ThrowUtils.throwIf(!orders.getPaymentStatus().equals(0),ErrorCode.SYSTEM_ERROR,"当前订单已支付或已退款");
+ orders.setPaymentStatus(3);
+ boolean update = ordersService.updateById(orders);
+ ThrowUtils.throwIf(!update, ErrorCode.OPERATION_ERROR, "修改订单状态失败");
AlipayTradeCloseResponse response = clients.alipayClient().execute(request);
//这里应该写进日志
-
+ log.info("订单已取消");
return response.getBody();
}
@GetMapping("/test/refund")
- public String test_refund(String orderNo) throws AlipayApiException {
+ public String test_refund(String out_trade_no) throws AlipayApiException {
AlipayClients clients = new AlipayClients();
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
AlipayTradeRefundModel model = new AlipayTradeRefundModel();
QueryWrapper ordersQueryWrapper = new QueryWrapper<>();
- ordersQueryWrapper.eq("orderNumber", orderNo);
+ ordersQueryWrapper.eq("orderNumber", out_trade_no);
Orders orders = ordersService.getOne(ordersQueryWrapper);
- model.setOutTradeNo(orderNo);
+ model.setOutTradeNo(out_trade_no);
model.setRefundAmount(String.valueOf(orders.getTotalPrice()));
//退款请求单号 要求唯一 需改
- //model.setOutRequestNo("123");
-
+ String number = UniqueNumberGenerator.generateNumber();
+ model.setOutRequestNo(number);
+ log.info("outRequestNo:" + number);
request.setBizModel(model);
- request.setNotifyUrl(NOURL);
- AlipayTradeRefundResponse response = clients.alipayClient().execute(request);
-
- String body = response.getBody();
+ ThrowUtils.throwIf(!orders.getPaymentStatus().equals(1),ErrorCode.SYSTEM_ERROR,"当前订单未支付");
orders.setPaymentStatus(2);
- Date date = new Date();
- orders.setUpdateTime(date);
boolean update = ordersService.updateById(orders);
ThrowUtils.throwIf(!update, ErrorCode.OPERATION_ERROR, "修改订单状态失败");
- return body;
+ log.info("paymentStatus:" + orders.getPaymentStatus());
+ AlipayTradeRefundResponse response = clients.alipayClient().execute(request);
+ log.info("退款成功");
+ return response.getBody();
}
@GetMapping("/test/query")
@@ -235,26 +256,10 @@ public class AlipayController {
request.setNotifyUrl(NOURL);
AlipayTradeQueryResponse response = clients.alipayClient().execute(request);
- String body = response.getBody();
- return body;
+ return response.getBody();
}
-
-// private static AlipayConfig getAlipayConfig() {
-// String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCrh54evp6VX68kLvmWybc945JbHaJDRJf6bDSKNwQfCkvEZxfOwYTGXu7XfZq2G/qmFJ6Xp9KxV0yYrxPwjXwPMU4E78/ZaMZ44iSTSq+qvMJMBR7PJOX1MkW7EFfhUPmb+5S0KQurjMQadY4b2VxeHwVxTRPKAdsm0tnfgN8/pO7TfpyGOWX5dRSIruQ3c+MFmJOy0cSZZ4tGlidqZDS9v4YJpmw3u5dX4BvGKtNMPaAnxSpLCDp1fd/vh6ROl71QkLFR+3mNQcwvDOGNJ2Rq78bgfkIVp0BBMySk5Mfv6kunh0QMaxK8wi+Y9swv7Iiyy7U2/zrBvA+1i3e5ctH9AgMBAAECggEBAJSiNrTjbp13RVewUNyFvIAnc4n62sE5bgw0uS5PUAXpsQ/mWW3yqLAQURxvnaFSC1bgpTA630qGoDvp8fhPUYIEslt6xnvY26qiIxly7Vegqyiegzzx90YKIvxexBfdR/4O+aNHsfIcT02yMcsWBYEVlmzAYnZ4N0OkD+EpVcpaIBv2HwGsJnczz41GQVl9GX2DOL8j8+eSWhZM0Jq3d1ksgcfUHH1TT12XCbEE3fKJEMKKlrjVPrtTb+v9m6t0okOgjW+z+IR0zY1HBR92yC+0/CP4FfkbGBhKNxsmbyU4ilTmKINHMy40bqGqrEYo+LBzhEKBT82eMbg9cJbL68ECgYEA37dP5hWEfuTWAoAwduI6OW8kTwxNddIigzTV3qlqEeo21K6RQOOTeYKXrpMmYG65MU5J3xF7AYyhb3rMpega++22Qybxlrme88hqe0s/DeSToG2mw1zYLkkHb5+oT05fCOlLmFGPeLRBfJTxjM6wPNX/1NvGOEVC9DekXuauWZECgYEAxEhmSne07LD6J2sYqsbmOb0zdOpCNT0a+7SomZwiMpVFcsxFvZhYJlcLwyR2m3deLphxwQBPbyxe8TtOZST7P7APpoeI4c0t6PL44vG3eUh+GHFVyf1dbLwMGa9gQ0JFRwBH5iDD2hfnTNfmcNUYzBRHZQK60FFlPCd566hOG60CgYBNVNJbmEiKjJOlnaYjEiRKQi7s3DXSambfr93V7/3oX2vArO8s3P3XXNsNz3POlbeSYZuLbkF00aXkITCokMjzGMKOB+Iu1c8qObcFE4eiR8b4B69DjM51gWz+mtPVRiP3sp0c8+SCNt0EMYAlyjSFcvvSGn40aUyxmqJI47iU4QKBgFYStaCkO9eriBcvFKMXE7BwMpdrftsfz6xfPawW1rw9zzWXNGH+43D0rPjHDagBQXDHcuLCwxKqb3vzmN4ryG3WRBavyqvSMPa9Tb0faGisDHelg4xPKd/b2qaMzHbSIdUP33egGKKT5t9AshH6sKQVpHU8LDXb67vkR8e6h34FAoGAf21Aea9/+3FavddWC/5j0fvESN2U58X0xf4R/FZLa5QsT/iCAo4QqaeYZvF6csWR6lu0zJB88gA+4s6G6xP1JERL3LbE2pHjDe0eNOIsWSzsINICQQ2s3Gm5mh75+/8dfAsRiAPi9nS7FJ74Tcryb4+txeZKiBZgLnEFeRLOB3U=";
-// String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsP/3AQ6DbZbQhFafYUdRS8F6jSXJzYfF3N14L48Jo+xlGp1FW8uq2bu8izP9qcuFxui2CzuQflo0BM+XmSmRt6KkmyGSvGmCdf4gC/doTT7xtMaQu72Mvezr69VC0Lp5iJeLVHzV5/BMFdgfGee5HnAUU5bn4Ytlqw14kCxgeLitZltvHtirq7vVCXlWyikbdtmV0HgmzaWbrC+jVyb/nk9oH8PpV5juJmhwEuiReEdKPKMdPoeJK3sZ9dHsOx+Bm3LkEY075fPvpHDtJFaLi/k7fFY+0oQxsX92qRL9kViOAhMonvFFKZFK06vxuPUtuZelGrzGttiOjVJRRGIiaQIDAQAB";
-// AlipayConfig alipayConfig = new AlipayConfig();
-// alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
-// alipayConfig.setAppId("2021004144652242");
-// alipayConfig.setPrivateKey(privateKey);
-// alipayConfig.setFormat("json");
-// alipayConfig.setAlipayPublicKey(alipayPublicKey);
-// alipayConfig.setCharset("UTF-8");
-// alipayConfig.setSignType("RSA2");
-// return alipayConfig;
-// }
-
@PostMapping("/notifyUrl")
@Transactional(rollbackFor = Exception.class)
public synchronized void aliPayNotifyUrl(HttpServletRequest request, HttpServletResponse response) {
@@ -350,4 +355,18 @@ public class AlipayController {
}
return alipayConfig;
}
+
+ private static AlipayConfig getAlipayConfig() {
+ String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7rWG3si4XQlDEHjSe/ot98aCn/R25fCSiCBIUTTA6Wy3Gs5lk1XERw1N6loq8u9zR8vTQwzLnFmepwJx2sMLHGfJT3F6Y7Lx0z7gLYksMe+LIAfc+KYsfs0IyDvoKvwsm7XAzl8AYiqk1/p2dxc5etdvkLO7bXquyCDOclR3lL9NBgbJ6tH0fvcVd3RPmZk5Tb2hfn5JK1s/tAanbvFtKhLNCwX8qZp25+AfPakx2tRZkSgjh+fjA6ZElUnwq9ftHy16vfSmnX3C3LuDSKduo3EBkDhpGjTD5+zOs8tKGofW2gn347ouzXWnTz71ftzVwAgFUcOh4Ib0GVC9SKZBrAgMBAAECggEBAJEK8R8/tEFDfhnjYjWScYm3KLtLciJ8n+8dn6NS+DfRabJL8PutvUHGHAj8uWIdKg6T3sJMaVWQyjK16fYMq6umENLg17cGFquMMSeTIn8Wa3C5nDPNdXjdWAZJ7tJJTTwbeoBVAh+1YgqZqYRacCBgGf3hAARHyRfBIOodkEojc4oyzlbUGOz+Ee6/b+A9BZd84YWkbg/KlD9mlqSAYSGCKBM9nd8l1YIvr/4OgBn679x+A8pB8i5kGxP4fertZl2mkt75LigJ3Ab/vwoHDj1AuPjlUIce+PcTdxHqgNtIJSDWbop70BGPp0XQE9BRefPIPQfS9+2LO+eFeo4ESeECgYEA+DzH4cLoMYG9Hfq9IIbQyq6VJeip4/Lbv8h4RevGPHqyFIKB3fX7bHRlBB8hCnyX+zj4T/K50LEoZmo4tpVCv7YmRkyGRoF0QwaMgbo3bkaaCZeQnuPeZFaqyhszcJL1nhLghSNKcU75orStqf4H2mLL67VH1PkjelAWMrY1JVsCgYEAwYvMNzPkLG+p9MqGlkxgu2gQ6F4SdQp35XLHjygyTMG+qt/cPAbviyOILUhTLHP1s++kgw7z/qJPcNCQVVMWL6aBM40aRb+FiMajHouGe/q26zuDdtgsuqoN84/9phs7495Oa8ROxu6eZPuvU+OJNCgf/NMVkURbOpXtbe+yXjECgYBZwhiAQGqW5BOO0IgsR7MdZm0VrQApJTpiKUmb9rnSSocztVDiAjysJZYVHHBlC1IlC591wQ2BMV2rUoM5OdVN3r4OM0NmIQ754VdS3ROH801lZIFtgnV6kH/m3lkGPo1DYA4A9hbHy8emFnCpA+qxA4I6s2zKzF8Qrf6ozYt/+wKBgChyjrr6nTSsIViG+pluXMjNdrsY7cKH7YaF9i50uA5SbwZGwj/JM0ZgppTQCJHBqhdwfXDmLxeH1BI/g+pQ8tICef3L/zGUVNPAr1Yy0mgWfSOrzE2J388iuserz9Zm2p1EWB8tZ0krlO6Fqp5dbs73k7fCZT92iZo0uum+rggBAoGBAIO74oQpY3lY6OgvjZJAHcr9RiGPB7qQ+zmROxCqzFXdtNZ5sHb1Jdg+IsBcI7ZadFT28x/ENNpfO78mC+1j56mmN9BUpORBIcCaEzp2KYgP7e4FnWTluMvFV/2yBMlCfUEYHPfPK1TfD05oBJY4lTMD2qsT5RhS1ipFqagZgQ1X";
+ String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo9gmNSz8l/eH4Uem6hqNoK1t91Gu5evoooJKzZraxPYW9AyJwH8Mxbag3qVaRSalz+OIHHVqszUxah98DbvaxJbpY9tB2zaLSvxhXM4U5iGFR3TqdqqvxsXsfiu+a0JHauuGYtuuNmUwR7ZFVub8Ma/YBCHfELPvl1TcX8MgMlHqw3NQqcEXZZO8Ziyxel7CqgHDx5dFn1meHDFWTajbWN/0TWSzvYAOKrlrS3LjjwbDzTr3BQzH84TLbLkBaMVGEUkJZUrVVkiN3XEVBpBUs5Cv5INN4L+UJ4kDy1u6LICzUVSSrQmHItuA+YiFHZ/WVJ18jISn0W7YZVyRqTo2sQIDAQAB";
+ AlipayConfig alipayConfig = new AlipayConfig();
+ alipayConfig.setServerUrl("https://openapi-sandbox.dl.alipaydev.com/gateway.do");
+ alipayConfig.setAppId("2021004144652242");
+ alipayConfig.setPrivateKey(privateKey);
+ alipayConfig.setFormat("json");
+ alipayConfig.setAlipayPublicKey(alipayPublicKey);
+ alipayConfig.setCharset("UTF-8");
+ alipayConfig.setSignType("RSA2");
+ return alipayConfig;
+ }
}
\ No newline at end of file
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AppointmentsController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AppointmentsController.java
index c7895a6..11b1860 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AppointmentsController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/AppointmentsController.java
@@ -123,8 +123,17 @@ public class AppointmentsController {
ThrowUtils.throwIf(id < 0, ErrorCode.NULL_ERROR);
QueryWrapper queryWrapper = new QueryWrapper<>();
- List appointmentsList = appointmentsService.queryAppointments(queryWrapper);
+ queryWrapper.eq("businessId", id);
+ List appointmentsList = appointmentsService.list(queryWrapper);
return ResultUtils.success(appointmentsList);
}
+
+ @ApiOperation(value = "根据Id查询预约信息")
+ @GetMapping("/getAppointments")
+ public BaseResponse queryByIdAppointments(@RequestParam Long appointmentsId){
+ ThrowUtils.throwIf(appointmentsId < 0, ErrorCode.PARAMS_ERROR);
+ Appointments appointments = appointmentsService.getById(appointmentsId);
+ return ResultUtils.success(appointments);
+ }
}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/BusinessController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/BusinessController.java
index 51e177b..5efb2a8 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/BusinessController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/BusinessController.java
@@ -11,11 +11,14 @@ import com.cj.jiaqingjiayi.exception.ThrowUtils;
import com.cj.jiaqingjiayi.model.domain.Business;
import com.cj.jiaqingjiayi.model.domain.BusinessAuth;
import com.cj.jiaqingjiayi.model.domain.User;
+import com.cj.jiaqingjiayi.model.request.BusinessDTO;
import com.cj.jiaqingjiayi.model.request.business.BusinessAddRequest;
import com.cj.jiaqingjiayi.model.request.business.BusinessQueryRequest;
import com.cj.jiaqingjiayi.model.request.business.BusinessUpdateRequest;
import com.cj.jiaqingjiayi.model.vo.BusinessAdminVO;
import com.cj.jiaqingjiayi.model.vo.BusinessVO;
+import com.cj.jiaqingjiayi.model.vo.CartDTO;
+import com.cj.jiaqingjiayi.model.vo.CartVO;
import com.cj.jiaqingjiayi.service.BusinessAuthService;
import com.cj.jiaqingjiayi.service.BusinessService;
import com.cj.jiaqingjiayi.service.UserService;
@@ -30,6 +33,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
import java.util.List;
import static com.cj.jiaqingjiayi.contant.UserConstant.USER_SALT;
@@ -105,12 +109,11 @@ public class BusinessController {
Business business = new Business();
-// BeanUtils.copyProperties(businessUpdateRequest, business);
BeanCopyUtils.copyPropertiesIgnoreEmpty(businessUpdateRequest, business);
//更新不添加 只需要判断修改符不符合逻辑
businessService.validBusiness(business, false);
- boolean updateById = businessService.updateById(business);
+ boolean updateById = businessService.updateBusiness(business);
ThrowUtils.throwIf(!updateById, ErrorCode.OPERATION_ERROR);
@@ -160,9 +163,20 @@ public class BusinessController {
*/
@ApiOperation(value = "查询所有商家")
@PostMapping("/list")
- public BaseResponse> listBusinessAll(){
+ public BaseResponse> listBusinessAll(){
List businessList = businessService.list();
- return new BaseResponse<>(0,businessList,"查询成功");
+
+ List businessDTOS = new ArrayList<>();
+ for (Business business : businessList) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("businessId", business.getId());
+ BusinessAuth one = businessAuthService.getOne(queryWrapper);
+ BusinessDTO businessDTO = new BusinessDTO();
+ businessDTO.setBusinessAuth(one);
+ businessDTO.setBusiness(business);
+ businessDTOS.add(businessDTO);
+ }
+ return new BaseResponse<>(0,businessDTOS,"查询成功");
}
/**
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/CartController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/CartController.java
index 942ec03..ed571cb 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/CartController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/CartController.java
@@ -181,7 +181,7 @@ public class CartController {
List cartList = cartService.list(wrapper);
List cartVOList = this.getCartVOList(cartList);
- // 遍历 UserRating 列表,根据 userId 查询 User 信息
+
for (CartVO cartVO : cartVOList) {
Business business = businessService.getById(cartVO.getBusinessId());
CartDTO cartDTO = new CartDTO();
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristController.java
index 7115385..e848e13 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristController.java
@@ -7,6 +7,7 @@ import com.cj.jiaqingjiayi.common.ErrorCode;
import com.cj.jiaqingjiayi.common.ResultUtils;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils;
+import com.cj.jiaqingjiayi.model.CommonRequest;
import com.cj.jiaqingjiayi.model.domain.*;
import com.cj.jiaqingjiayi.model.request.manicurist.*;
import com.cj.jiaqingjiayi.model.vo.ManicuristVO;
@@ -16,6 +17,7 @@ import com.cj.jiaqingjiayi.utils.BeanCopyUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils;
@@ -52,7 +54,7 @@ public class ManicuristController {
@Transactional(rollbackFor = Exception.class)
public BaseResponse AdminAddManicurist(@RequestBody AdminManicuristAddRequest adminManicuristAddRequest, HttpServletRequest request) {
//判断是否为管理员
- userService.isAdmin(request);
+// userService.isAdmin(request);
ThrowUtils.throwIf(adminManicuristAddRequest == null, ErrorCode.PARAMS_ERROR);
@@ -111,7 +113,7 @@ public class ManicuristController {
@Transactional(rollbackFor = Exception.class)
public BaseResponse DeleteManicurist(long id, HttpServletRequest request){
//判断是否为管理员
- userService.isAdmin(request);
+// userService.isAdmin(request);
manicuristService.deleteMan(id);
return ResultUtils.success(true);
@@ -138,10 +140,15 @@ public class ManicuristController {
}
BeanCopyUtils.copyPropertiesIgnoreEmpty(manicuristUpdateRequest, manicurist);
-
//校验一下
manicuristService.validManicurist(manicurist, false);
+ if (manicuristUpdateRequest.getAuditStatus() == 1){
+ Manicurist serviceById = manicuristService.getById(manicurist);
+ User user = userService.getById(serviceById.getUserId());
+ user.setUserRole(3);
+ }
+
boolean result = manicuristService.updateById(manicurist);
ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR);
return ResultUtils.success(true, "修改成功");
@@ -194,10 +201,15 @@ public class ManicuristController {
*/
@ApiOperation(value = "查询全部美甲师")
@PostMapping("/queryAll")
- public BaseResponse> QueryAllManicurist(HttpServletRequest request){
+ public BaseResponse> QueryAllManicurist(@RequestBody CommonRequest commonRequest, HttpServletRequest request){
// userService.isAdmin(request);
- List manicuristList = manicuristService.list();
+ Long businessId = commonRequest.getId();
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq(ObjectUtils.isNotEmpty(businessId),"businessId", businessId);
+
+
+ List manicuristList = manicuristService.list(queryWrapper);
return ResultUtils.success(manicuristList);
}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristSignController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristSignController.java
index 28c49ae..d05f0c5 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristSignController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/ManicuristSignController.java
@@ -137,12 +137,12 @@ public class ManicuristSignController {
@ApiOperation(value = "查询签约列表")
@GetMapping("/select")
@Transactional(rollbackFor = Exception.class)
- public BaseResponse> selectManicuristSign(@RequestParam String businessName){
+ public BaseResponse> selectManicuristSign(@RequestParam Long businessId){
- ThrowUtils.throwIf(businessName == null , ErrorCode.PARAMS_ERROR);
+ ThrowUtils.throwIf(businessId < 0 , ErrorCode.PARAMS_ERROR);
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("businessName", businessName);
+ queryWrapper.eq("businessId", businessId);
List manicuristsignList = manicuristsignService.list(queryWrapper);
List manicuristsignVOList = manicuristsignService.getManicuristsignVO(manicuristsignList);
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/OrdersController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/OrdersController.java
index 4887b35..a324d88 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/OrdersController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/OrdersController.java
@@ -2,24 +2,30 @@ package com.cj.jiaqingjiayi.controller;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cj.jiaqingjiayi.common.BaseResponse;
import com.cj.jiaqingjiayi.common.ErrorCode;
import com.cj.jiaqingjiayi.common.ResultUtils;
+import com.cj.jiaqingjiayi.contant.CommonConstant;
import com.cj.jiaqingjiayi.contant.UserConstant;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils;
import com.cj.jiaqingjiayi.model.CommonRequest;
import com.cj.jiaqingjiayi.model.domain.*;
import com.cj.jiaqingjiayi.model.request.order.*;
+import com.cj.jiaqingjiayi.model.vo.OrdersExcelVO;
import com.cj.jiaqingjiayi.model.vo.OrdersVO;
import com.cj.jiaqingjiayi.service.*;
+import com.cj.jiaqingjiayi.utils.ExcelUtils;
+import com.cj.jiaqingjiayi.utils.SqlUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
@@ -28,10 +34,17 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.OutputStream;
import java.math.BigDecimal;
import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -53,6 +66,9 @@ public class OrdersController {
@Resource
private BusinessService businessService;
+ @Resource
+ private AppointmentsService appointmentsService;
+
@Resource
private OrderItemsService orderItemsService;
@@ -71,6 +87,44 @@ public class OrdersController {
if (orderAddRequest == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
+
+ //校验是否登录
+// User loginUser = userService.getLoginUser(request);
+
+ String appointmentTime = orderAddRequest.getAppointmentTime();
+ Long id = null;
+ if (ObjectUtils.isNotEmpty(appointmentTime)) {
+ LocalDateTime dateTime;
+
+ // 判断 appointmentTime 是否是 HH:mm 格式
+ if (appointmentTime.matches("\\d{2}:\\d{2}")) {
+ // 只有时间,没有日期,补上当前日期
+ LocalDate today = LocalDate.now();
+ DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm");
+ LocalTime time = LocalTime.parse(appointmentTime, timeFormatter);
+ dateTime = LocalDateTime.of(today, time);
+ } else {
+ // 传入的是完整格式 yyyy-MM-dd HH:mm,直接解析
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
+ dateTime = LocalDateTime.parse(appointmentTime, formatter);
+ }
+
+ // 转换成 Date 类型
+ Date date1 = Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
+
+ Appointments appointments = new Appointments();
+ appointments.setAppointmentTime(date1);
+
+ BeanUtils.copyProperties(orderAddRequest, appointments);
+ appointments.setUserId(appointments.getUserId());
+
+ appointmentsService.valid(appointments);
+
+ // 返回预约号
+ id = appointmentsService.addAppointments(appointments);
+ ThrowUtils.throwIf(id < 0, ErrorCode.PARAMS_ERROR, "预约失败");
+ }
+
// 提取订单
Orders orders = new Orders();
// User loginUser = userService.getLoginUser(request);
@@ -93,6 +147,7 @@ public class OrdersController {
return orderItems;
}).toList();
// 创建订单
+ orders.setAppointmentId(id);
long orderId = ordersService.addOrder(orders, orderItemsList);
return ResultUtils.success(orderId, "订单创建成功");
}
@@ -193,14 +248,14 @@ public class OrdersController {
OrderQueryRequest orderQueryRequest = new OrderQueryRequest();
BeanUtils.copyProperties(myOrderQueryRequest, orderQueryRequest);
QueryWrapper queryWrapper = ordersService.getQueryWrapper(orderQueryRequest);
- if (userRole.equals(UserConstant.BUSINESS_ROLE)) {
- // 商家获取订单
- Business loginBusiness = businessService.getLoginBusiness(request);
- queryWrapper.eq("businessId", loginBusiness.getId());
- } else {
- // 用户获取订单
- queryWrapper.eq("userId", myOrderQueryRequest.getUserId());
- }
+// if (userRole.equals(UserConstant.BUSINESS_ROLE)) {
+// // 商家获取订单
+// Business loginBusiness = businessService.getLoginBusiness(request);
+// queryWrapper.eq("businessId", loginBusiness.getId());
+// } else {
+// // 用户获取订单
+// queryWrapper.eq("userId", myOrderQueryRequest.getUserId());
+// }
Page ordersPage = ordersService.page(new Page<>(current, size),
queryWrapper);
Page ordersVOPage = new Page<>(current, size, ordersPage.getTotal());
@@ -389,7 +444,7 @@ public class OrdersController {
// 判断订单是否已被抢
if (orders == null || orders.getManicuristId() != null) {
- return ResultUtils.success(false); // 订单已经被抢或不存在
+ return ResultUtils.success(false, "该订单已被抢"); // 订单已经被抢或不存在
}
// 更新订单的状态
@@ -407,6 +462,44 @@ public class OrdersController {
return ResultUtils.success(true);
}
+ @PostMapping("/download")
+ public void download(@RequestBody OrderQueryRequest orderQueryRequest, HttpServletResponse response) throws IOException {
+ String startTime = orderQueryRequest.getStartTime();
+ String endTime = orderQueryRequest.getEndTime();
+ Long businessId = orderQueryRequest.getBusinessId();
+ String sortOrder = orderQueryRequest.getSortOrder();
+ String sortField = orderQueryRequest.getSortField();
+ // 获取数据
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.ge(StringUtils.isNotBlank(startTime), "createTime", startTime);
+ wrapper.le(StringUtils.isNotBlank(endTime), "createTime", endTime);
+ wrapper.eq("businessId", businessId).and(item -> item.eq("paymentStatus", 1).or().eq("paymentStatus", 2));
+ wrapper.orderBy(SqlUtils.validSortField(sortField), sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
+ sortField);
+ List ordersList = ordersService.list(wrapper);
+ List ordersExcelVOList = ordersList.stream().map(item -> {
+ OrdersExcelVO ordersExcelVO = new OrdersExcelVO();
+ BeanUtils.copyProperties(item, ordersExcelVO);
+ //改变订单支付状态
+ if (item.getPaymentStatus() == 1) {
+ ordersExcelVO.setState("已完成");
+ } else if (item.getPaymentStatus() == 2) {
+ ordersExcelVO.setState("已退款");
+ }
+ // Date转字符串
+ ordersExcelVO.setCreateTime(ExcelUtils.dateToString(item.getCreateTime()));
+ return ordersExcelVO;
+ }).collect(Collectors.toList());
+ // 设置导出名称
+ ExcelUtils.setExcelResponseProp(response, "订单信息");
+ // 获取输出流名称
+ OutputStream outputStream = response.getOutputStream();
+ // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
+ EasyExcel.write(outputStream, OrdersExcelVO.class) // 对应实体类
+ .sheet("订单数据") // sheet页名称
+ .doWrite(ordersExcelVOList); // 导出的数据集合
+ }
+
}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/UserController.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/UserController.java
index 857ca4b..7a05577 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/UserController.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/controller/UserController.java
@@ -7,14 +7,17 @@ import com.cj.jiaqingjiayi.common.ErrorCode;
import com.cj.jiaqingjiayi.common.ResultUtils;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.mapper.UserMapper;
+import com.cj.jiaqingjiayi.model.LoginUserDTO;
import com.cj.jiaqingjiayi.model.domain.User;
import com.cj.jiaqingjiayi.model.request.user.*;
import com.cj.jiaqingjiayi.model.vo.LoginUserVO;
import com.cj.jiaqingjiayi.service.UserService;
+import com.cj.jiaqingjiayi.utils.BeanCopyUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.jdbc.Null;
import org.springframework.beans.BeanUtils;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;
@@ -37,7 +40,6 @@ public class UserController {
@Resource
private UserService userService;
-
/**
* 用户注册请求接口
*
@@ -69,7 +71,7 @@ public class UserController {
*/
@ApiOperation(value = "用户登录")
@PostMapping("/login")
- public BaseResponse userLogin(@RequestBody UserLoginRequest userLoginRequest, HttpServletRequest request) {
+ public BaseResponse userLogin(@RequestBody UserLoginRequest userLoginRequest, HttpServletRequest request) {
if (userLoginRequest == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数为空");
}
@@ -81,8 +83,8 @@ public class UserController {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数为空");
}
- LoginUserVO loginUserVO = userService.userLogin(userAccount, userPassword, request);
- return ResultUtils.success(loginUserVO);
+ LoginUserDTO loginUserDTO = userService.userLogin(userAccount, userPassword, request);
+ return ResultUtils.success(loginUserDTO);
}
/**
@@ -255,9 +257,9 @@ public class UserController {
@PostMapping("/update")
public BaseResponse updateUser(@RequestBody UserUpdateRequest userUpdateRequest, HttpServletRequest request){
//判断是否为管理员
- userService.isAdmin(request);
+// userService.isAdmin(request);
User user = new User();
- BeanUtils.copyProperties(userUpdateRequest, user);
+ BeanCopyUtils.copyPropertiesIgnoreEmpty(userUpdateRequest, user);
boolean res = userService.updateById(user);
if(!res){
throw new BusinessException(ErrorCode.PARAMS_ERROR, "该用户不存在");
@@ -278,10 +280,10 @@ public class UserController {
if(userUpdateMyRequest == null){
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
- User logingUser = userService.getLoginUser(request);
+// User logingUser = userService.getLoginUser(request);
User user = new User();
- BeanUtils.copyProperties(userUpdateMyRequest, user);
- user.setId(logingUser.getId());
+ BeanCopyUtils.copyPropertiesIgnoreEmpty(userUpdateMyRequest,user);
+
boolean result = userService.updateById(user);
if(!result){
throw new BusinessException(ErrorCode.PARAMS_ERROR, "操作失败");
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/LoginUserDTO.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/LoginUserDTO.java
new file mode 100644
index 0000000..13548c5
--- /dev/null
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/LoginUserDTO.java
@@ -0,0 +1,13 @@
+package com.cj.jiaqingjiayi.model;
+
+import com.cj.jiaqingjiayi.model.domain.Business;
+import com.cj.jiaqingjiayi.model.vo.LoginUserVO;
+import lombok.Data;
+
+@Data
+public class LoginUserDTO {
+
+ LoginUserVO loginUserVO;
+
+ Business business;
+}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Appointments.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Appointments.java
index 40faeaf..1a16905 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Appointments.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Appointments.java
@@ -59,6 +59,11 @@ public class Appointments implements Serializable {
*/
private Date appointmentTime;
+ /**
+ * 预约详细地址
+ */
+ private String appointmentAddress;
+
/**
* 服务方式(0 - 线上, 1 - 到店)
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Manicuristsign.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Manicuristsign.java
index 27985ba..ffa5bb0 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Manicuristsign.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/Manicuristsign.java
@@ -36,6 +36,11 @@ public class Manicuristsign implements Serializable {
*/
private String businessName;
+ /**
+ * 商家id
+ */
+ private Long businessId;
+
/**
* 联系电话
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/OrderItems.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/OrderItems.java
index 5884b97..ab3dd19 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/OrderItems.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/domain/OrderItems.java
@@ -26,7 +26,7 @@ public class OrderItems implements Serializable {
private Long orderId;
/**
- * 商品ID(美甲款式)
+ * 商品ID
*/
private Long commoditiesId;
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/BusinessDTO.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/BusinessDTO.java
new file mode 100644
index 0000000..b1277fe
--- /dev/null
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/BusinessDTO.java
@@ -0,0 +1,13 @@
+package com.cj.jiaqingjiayi.model.request;
+
+import com.cj.jiaqingjiayi.model.domain.Business;
+import com.cj.jiaqingjiayi.model.domain.BusinessAuth;
+import lombok.Data;
+
+@Data
+public class BusinessDTO {
+
+ private Business business;
+
+ private BusinessAuth businessAuth;
+}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/UserDTO.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/UserDTO.java
new file mode 100644
index 0000000..b98a297
--- /dev/null
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/UserDTO.java
@@ -0,0 +1,12 @@
+package com.cj.jiaqingjiayi.model.request;
+
+import com.cj.jiaqingjiayi.model.domain.Manicurist;
+import com.cj.jiaqingjiayi.model.vo.UserVO;
+import lombok.Data;
+
+@Data
+public class UserDTO {
+ private UserVO userVO;
+
+ private Manicurist manicurist;
+}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.java
index 3ce5c2d..44c72a8 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.java
@@ -43,6 +43,11 @@ public class ManicuristUpdateRequest implements Serializable {
*/
private String email;
+ /**
+ * 美甲师状态 0 表示正常 1 表示禁用
+ */
+ private Long manStatus;
+
/**
* 美甲师入职日期
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.java
index 0be6ccf..b24529b 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.java
@@ -19,6 +19,11 @@ public class ManicuristSignAddRequest {
*/
private Long manicuristId;
+ /**
+ * 店铺Id
+ */
+ private Long businessId;
+
/**
* 门店名称
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.java
index 1c69a71..18677f2 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.java
@@ -1,5 +1,7 @@
package com.cj.jiaqingjiayi.model.request.order;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serial;
@@ -58,6 +60,37 @@ public class OrderAddRequest implements Serializable {
*/
private List orderItemsAddRequest;
+ /**
+ * 预约ID
+ */
+// @TableId(type = IdType.AUTO)
+// private Long id;
+
+ /**
+ * 商家名
+ */
+ private String businessName;
+
+ /**
+ * 美甲师ID, 如果为空到店分配
+ */
+ private Long manicuristId;
+
+ /**
+ * 美甲师名
+ */
+ private String manicuristName;
+
+ /**
+ * 预约时间
+ */
+ private String appointmentTime;
+
+ /**
+ * 预约详细地址
+ */
+ private String appointmentAddress;
+
@Serial
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.java
index 1161c23..73e0a7d 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.java
@@ -29,6 +29,11 @@ public class OrderQueryRequest extends PageRequest implements Serializable {
*/
private Long businessId;
+ /**
+ * 美甲师id
+ */
+ private Long manicuristId;
+
/**
* 订单号
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.java
index 1e56e2e..e6964ae 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.java
@@ -9,12 +9,14 @@ import java.io.Serializable;
public class UserUpdateMyRequest implements Serializable {
private static final long serialVersionUID = 1864770371473794809L;
+
+ private Long id;
+
/**
* 用户名
*/
private String username;
-
/**
* 用户头像
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.java
index f270313..011930d 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.java
@@ -22,7 +22,7 @@ public class AppointmentsVO {
/**
* 用户姓名
*/
- private String username;
+ private String userName;
/**
* 手机号
@@ -54,6 +54,11 @@ public class AppointmentsVO {
*/
private Date appointmentTime;
+ /**
+ * 预约详细地址
+ */
+ private String appointmentAddress;
+
/**
* 服务方式(0 - 线上, 1 - 到店)
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/OrdersExcelVO.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/OrdersExcelVO.java
new file mode 100644
index 0000000..a709ca2
--- /dev/null
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/OrdersExcelVO.java
@@ -0,0 +1,54 @@
+package com.cj.jiaqingjiayi.model.vo;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.NumberFormat;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Data;
+
+
+import java.math.BigDecimal;
+
+/**
+ * Excel订单信息导出
+ *
+ * @author ASUS
+ */
+@Data
+public class OrdersExcelVO {
+
+ /**
+ * 订单编号
+ */
+ @ColumnWidth(20)
+ @NumberFormat("#")
+ @ExcelProperty(value = "订单编号", index = 0)
+ private Long id;
+
+ /**
+ * 下单时间
+ */
+ @ColumnWidth(20)
+ @ExcelProperty(value = "下单时间", index = 1)
+ private String createTime;
+
+ /**
+ * 手机号
+ */
+ @ColumnWidth(20)
+ @ExcelProperty(value = "手机号", index = 2)
+ private String phone;
+
+ /**
+ * 支付状态
+ */
+ @ExcelProperty(value = "支付状态", index = 3)
+ private String state;
+
+ /**
+ * 订单金额
+ */
+ @NumberFormat("0.00")
+ @ExcelProperty(value = "订单金额")
+ private BigDecimal totalPrice;
+}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/OrdersVO.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/OrdersVO.java
index 489ba7b..e167e42 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/OrdersVO.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/OrdersVO.java
@@ -1,5 +1,6 @@
package com.cj.jiaqingjiayi.model.vo;
+import com.cj.jiaqingjiayi.model.domain.Manicurist;
import com.cj.jiaqingjiayi.model.domain.OrderItems;
import lombok.Data;
@@ -44,6 +45,11 @@ public class OrdersVO implements Serializable {
*/
private Long businessId;
+ /**
+ * 美甲师信息
+ */
+ private ManicuristVO manicuristVO;
+
/**
* 商家信息
*/
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/UserVO.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/UserVO.java
index 8f2b915..34b1c36 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/UserVO.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/model/vo/UserVO.java
@@ -69,5 +69,5 @@ public class UserVO implements Serializable {
/**
* 用户角色 0 - 普通用户 1 - 管理员 2 - 商家
*/
- private String userRole;
+ private Integer userRole;
}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/BusinessService.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/BusinessService.java
index 4c71788..a9f3262 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/BusinessService.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/BusinessService.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.cj.jiaqingjiayi.model.domain.BusinessAuth;
import com.cj.jiaqingjiayi.model.domain.User;
import com.cj.jiaqingjiayi.model.request.business.BusinessQueryRequest;
+import com.cj.jiaqingjiayi.model.request.business.BusinessUpdateRequest;
import com.cj.jiaqingjiayi.model.vo.BusinessVO;
import javax.servlet.http.HttpServletRequest;
@@ -58,4 +59,5 @@ public interface BusinessService extends IService {
*/
List findAllBusiness();
+ boolean updateBusiness(Business newBusiness);
}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/UserService.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/UserService.java
index e226f3f..46ad79c 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/UserService.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/UserService.java
@@ -2,6 +2,7 @@ package com.cj.jiaqingjiayi.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.cj.jiaqingjiayi.model.LoginUserDTO;
import com.cj.jiaqingjiayi.model.domain.User;
import com.cj.jiaqingjiayi.model.request.user.UserSearchRequest;
import com.cj.jiaqingjiayi.model.request.user.UserUpdatePasswordRequest;
@@ -31,7 +32,7 @@ public interface UserService extends IService {
* @param request 返回请求
* @return 脱敏后的用户信息
*/
- LoginUserVO userLogin(String userAccount, String userPassword, HttpServletRequest request);
+ LoginUserDTO userLogin(String userAccount, String userPassword, HttpServletRequest request);
/**
* 用户注销
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.java
index e5eea1f..63f3a8f 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.java
@@ -7,6 +7,7 @@ import com.alipay.api.domain.AlipayTradeCreateModel;
import com.alipay.api.request.AlipayTradeCreateRequest;
import com.alipay.api.response.AlipayTradeCreateResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.cj.jiaqingjiayi.common.ErrorCode;
import com.cj.jiaqingjiayi.config.AlipayClients;
import com.cj.jiaqingjiayi.exception.BusinessException;
@@ -23,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -47,8 +49,6 @@ public class AlipayServiceImpl implements AliPayService {
//创建实体类
AlipayTradeCreateModel model = new AlipayTradeCreateModel();
- //请求参数 沙箱内部参数
-
String outTradeNo = UniqueNumberGenerator.generateNumber();
Orders order = ordersService.getById(orderId);
@@ -72,12 +72,12 @@ public class AlipayServiceImpl implements AliPayService {
model.setTotalAmount(String.valueOf(amount));
model.setSubject(subject);
model.setProductCode("JSAPI_PAY");
- model.setBuyerId("2088722034659383");
+ model.setBuyerId("2088722038161604");
model.setOpAppId("2021004144652242");
- ///回调地址
- aliRequest.setNotifyUrl("http://39.101.78.35:1107/api/Alipay/notifyUrl");
aliRequest.setBizModel(model);
+ ///回调地址
+// aliRequest.setNotifyUrl("http://39.101.78.35:1107/api/Alipay/notifyUrl");
String trade_no = null;
try {
AlipayTradeCreateResponse response = alipayClient.execute(aliRequest);
@@ -88,6 +88,11 @@ public class AlipayServiceImpl implements AliPayService {
} catch (AlipayApiException e) {
e.printStackTrace();
}
+
+ order.setPaymentStatus(1);
+ boolean update1 = ordersService.updateById(order);
+ ThrowUtils.throwIf(!update1, ErrorCode.OPERATION_ERROR, "修改订单状态失败");
+
return trade_no;
}
}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.java
index 72a4cdc..9101634 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.java
@@ -2,6 +2,7 @@ package com.cj.jiaqingjiayi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cj.jiaqingjiayi.common.ErrorCode;
@@ -10,9 +11,11 @@ import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils;
import com.cj.jiaqingjiayi.model.domain.*;
import com.cj.jiaqingjiayi.model.request.business.BusinessQueryRequest;
+import com.cj.jiaqingjiayi.model.request.business.BusinessUpdateRequest;
import com.cj.jiaqingjiayi.model.vo.BusinessVO;
import com.cj.jiaqingjiayi.service.*;
import com.cj.jiaqingjiayi.mapper.BusinessMapper;
+import com.cj.jiaqingjiayi.utils.BeanCopyUtils;
import com.cj.jiaqingjiayi.utils.RegexUtils;
import com.cj.jiaqingjiayi.utils.SqlUtils;
import org.apache.commons.lang3.ObjectUtils;
@@ -50,6 +53,9 @@ public class BusinessServiceImpl extends ServiceImpl
@Resource
private BusinessAuthService businessAuthService;
+ @Resource
+ private ManicuristsignService manicuristsignService;
+
@Override
@Transactional(rollbackFor = Exception.class)
public synchronized void addBusiness(User user, Business business, BusinessAuth businessAuth) {
@@ -115,12 +121,12 @@ public class BusinessServiceImpl extends ServiceImpl
}
// 有参数可以校验参数 保证商家名字唯一
- if (StringUtils.isNotBlank(businessName)) {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("businessName", businessName);
- long count = this.count(queryWrapper);
- ThrowUtils.throwIf(count > 0, ErrorCode.OPERATION_ERROR, "门店名称重复");
- }
+// if (StringUtils.isNotBlank(businessName)) {
+// QueryWrapper queryWrapper = new QueryWrapper<>();
+// queryWrapper.eq("businessName", businessName);
+// long count = this.count(queryWrapper);
+// ThrowUtils.throwIf(count > 0, ErrorCode.OPERATION_ERROR, "门店名称重复");
+// }
//校验手机号格式
if (StringUtils.isNotBlank(businessPhone)) {
@@ -240,6 +246,21 @@ public class BusinessServiceImpl extends ServiceImpl
return businessVOs;
}
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public boolean updateBusiness(Business newBusiness) {
+
+ if (ObjectUtils.isNotEmpty(newBusiness.getBusinessName())){
+ manicuristsignService.update(new LambdaUpdateWrapper()
+ .eq(Manicuristsign::getBusinessId, newBusiness.getId())
+ .set(Manicuristsign::getBusinessName, newBusiness.getBusinessName()));
+ }
+
+ Business business = new Business();
+ BeanCopyUtils.copyPropertiesIgnoreEmpty(newBusiness, business);
+ return this.updateById(business);
+ }
+
}
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.java
index 7cb9d86..3e42224 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.java
@@ -147,6 +147,7 @@ public class ManicuristServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("userId", userId);
+ Manicurist userIdMan = this.getOne(queryWrapper);
+ ThrowUtils.throwIf(userIdMan != null, ErrorCode.PARAMS_ERROR,"该用户已经申请了美甲师!");
}
if(!add){
@@ -161,12 +166,12 @@ public class ManicuristServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("manicuristName", manicuristName);
- long count = this.count(queryWrapper);
- ThrowUtils.throwIf(count > 0, ErrorCode.OPERATION_ERROR, "美甲师名称重复");
- }
+// if(StringUtils.isNotBlank(manicuristName)){
+// QueryWrapper queryWrapper = new QueryWrapper<>();
+// queryWrapper.eq("manicuristName", manicuristName);
+// long count = this.count(queryWrapper);
+// ThrowUtils.throwIf(count > 0, ErrorCode.OPERATION_ERROR, "美甲师名称重复");
+// }
//校验手机号格式
if (StringUtils.isNotBlank(manicuristPhone)) {
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.java
index 7301e21..7ed68ee 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.java
@@ -9,13 +9,16 @@ import com.cj.jiaqingjiayi.common.ErrorCode;
import com.cj.jiaqingjiayi.contant.CommonConstant;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.model.domain.Business;
+import com.cj.jiaqingjiayi.model.domain.Manicurist;
import com.cj.jiaqingjiayi.model.domain.OrderItems;
import com.cj.jiaqingjiayi.model.domain.Orders;
import com.cj.jiaqingjiayi.model.request.order.OrderQueryRequest;
import com.cj.jiaqingjiayi.model.vo.BusinessVO;
+import com.cj.jiaqingjiayi.model.vo.ManicuristVO;
import com.cj.jiaqingjiayi.model.vo.OrderItemsVO;
import com.cj.jiaqingjiayi.model.vo.OrdersVO;
import com.cj.jiaqingjiayi.service.BusinessService;
+import com.cj.jiaqingjiayi.service.ManicuristService;
import com.cj.jiaqingjiayi.service.OrderItemsService;
import com.cj.jiaqingjiayi.service.OrdersService;
import com.cj.jiaqingjiayi.mapper.OrdersMapper;
@@ -52,6 +55,9 @@ public class OrdersServiceImpl extends ServiceImpl
@Resource
private BusinessService businessService;
+ @Resource
+ private ManicuristService manicuristService;
+
@Transactional(rollbackFor = Exception.class)
@Override
@@ -119,6 +125,14 @@ public class OrdersServiceImpl extends ServiceImpl
BusinessVO businessVO = businessService.getBusinessVO(business);
ordersVO.setBusinessVO(businessVO);
+
+ Long manicuristId = orders.getManicuristId();
+ Manicurist manicurist = null;
+ if (manicuristId != null && manicuristId > 0) {
+ manicurist = manicuristService.getById(manicuristId);
+ }
+ ManicuristVO manicuristVO = manicuristService.getManicuristVO(manicurist);
+ ordersVO.setManicuristVO(manicuristVO);
// 关联查询订单详情信息
Long orderId = orders.getId();
QueryWrapper queryWrapper = new QueryWrapper<>();
@@ -165,6 +179,7 @@ public class OrdersServiceImpl extends ServiceImpl
Long id = orderQueryRequest.getId();
Long userId = orderQueryRequest.getUserId();
Long businessId = orderQueryRequest.getBusinessId();
+ Long manicuristId = orderQueryRequest.getManicuristId();
String orderNumber = orderQueryRequest.getOrderNumber();
Integer claimStatus = orderQueryRequest.getClaimStatus();
Integer state = orderQueryRequest.getPaymentStatus();
@@ -172,13 +187,16 @@ public class OrdersServiceImpl extends ServiceImpl
String endTime = orderQueryRequest.getEndTime();
String sortField = orderQueryRequest.getSortField();
String sortOrder = orderQueryRequest.getSortOrder();
+ Integer serviceMode = orderQueryRequest.getServiceMode();
QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.like(ObjectUtils.isNotEmpty(id), "id", id);
+ queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
queryWrapper.eq(ObjectUtils.isNotEmpty(userId), "userId", userId);
queryWrapper.eq(ObjectUtils.isNotEmpty(businessId), "businessId", businessId);
+ queryWrapper.eq(ObjectUtils.isNotEmpty(manicuristId), "manicuristId", manicuristId);
queryWrapper.eq(ObjectUtils.isNotEmpty(orderNumber), "orderNumber", orderNumber);
queryWrapper.eq(ObjectUtils.isNotEmpty(state), "paymentStatus", state);
- queryWrapper.ge(claimStatus != null, "claimStatus", claimStatus);
+ queryWrapper.eq(ObjectUtils.isNotEmpty(serviceMode), "serviceMode", serviceMode);
+ queryWrapper.eq(claimStatus != null, "claimStatus", claimStatus);
queryWrapper.ge(StringUtils.isNotBlank(startTime), "createTime", startTime);
queryWrapper.le(StringUtils.isNotBlank(endTime), "createTime", endTime);
queryWrapper.orderBy(SqlUtils.validSortField(sortField), sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
diff --git a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.java b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.java
index fcdcc37..6c584dc 100644
--- a/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.java
+++ b/project/jiaqingjiayi/src/main/java/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.java
@@ -1,19 +1,25 @@
package com.cj.jiaqingjiayi.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cj.jiaqingjiayi.common.ErrorCode;
import com.cj.jiaqingjiayi.exception.BusinessException;
import com.cj.jiaqingjiayi.exception.ThrowUtils;
+import com.cj.jiaqingjiayi.mapper.BusinessMapper;
import com.cj.jiaqingjiayi.mapper.UserMapper;
+import com.cj.jiaqingjiayi.model.LoginUserDTO;
+import com.cj.jiaqingjiayi.model.domain.Business;
import com.cj.jiaqingjiayi.model.domain.User;
import com.cj.jiaqingjiayi.model.request.user.UserSearchRequest;
import com.cj.jiaqingjiayi.model.request.user.UserUpdatePasswordRequest;
import com.cj.jiaqingjiayi.model.vo.LoginUserVO;
+import com.cj.jiaqingjiayi.service.BusinessService;
import com.cj.jiaqingjiayi.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
@@ -35,6 +41,10 @@ public class UserServiceImpl extends ServiceImpl
@Resource
private UserMapper userMapper;
+
+ @Resource
+ private BusinessMapper businessMapper;
+
/**
* 盐值 对密码进行混淆加密
*/
@@ -109,7 +119,7 @@ public class UserServiceImpl extends ServiceImpl
*/
@Override
- public LoginUserVO userLogin(String userAccount, String userPassword, HttpServletRequest request) {
+ public LoginUserDTO userLogin(String userAccount, String userPassword, HttpServletRequest request) {
//非空
if (StringUtils.isAllBlank(userAccount, userPassword)) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "参数为空");
@@ -123,7 +133,7 @@ public class UserServiceImpl extends ServiceImpl
}
//正则表达式看账户包不包含特殊字符
- String validPattern = "[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
+ String validPattern = "[ `~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Matcher matcher = Pattern.compile(validPattern).matcher(userAccount);
@@ -138,14 +148,23 @@ public class UserServiceImpl extends ServiceImpl
queryWrapper.eq("userPassword", encodePassword);
User user = userMapper.selectOne(queryWrapper);
//用户不存在
- if (user == null) {
+ if (user == null || !userAccount.equals(user.getUserAccount()) || !encodePassword.equals(user.getUserPassword())) {
log.info("user login failed, userAccount Cannot match userPassword");
+ System.out.println(userAccount + "------" + user.getUserAccount());
throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户账号或密码有误!");
}
+ LoginUserDTO loginUserDTO = new LoginUserDTO();
+ LoginUserVO loginUserVO = this.getLoginUserVO(user);
+ loginUserDTO.setLoginUserVO(loginUserVO);
+
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(Business::getUserId, user.getId());
+ Business business = businessMapper.selectOne(lambdaQueryWrapper);
+ loginUserDTO.setBusiness(business);
//用户登陆成功
request.getSession().setAttribute(USER_LOGIN_STATE, user);
- return this.getLoginUserVO(user);
+ return loginUserDTO;
}
/**
diff --git a/project/jiaqingjiayi/src/main/resources/mapper/AppointmentsMapper.xml b/project/jiaqingjiayi/src/main/resources/mapper/AppointmentsMapper.xml
index 8cbc137..bd52294 100644
--- a/project/jiaqingjiayi/src/main/resources/mapper/AppointmentsMapper.xml
+++ b/project/jiaqingjiayi/src/main/resources/mapper/AppointmentsMapper.xml
@@ -14,6 +14,7 @@
+
@@ -29,6 +30,6 @@
appointmentTime,serviceMode,
notes,status,createTime,
updateTime,isDelete,businessName,
- manicuristName,orderId
+ appointmentAddress,manicuristName,orderId
diff --git a/project/jiaqingjiayi/src/main/resources/mapper/ManicuristsignMapper.xml b/project/jiaqingjiayi/src/main/resources/mapper/ManicuristsignMapper.xml
index 8d5ab9c..0ee683c 100644
--- a/project/jiaqingjiayi/src/main/resources/mapper/ManicuristsignMapper.xml
+++ b/project/jiaqingjiayi/src/main/resources/mapper/ManicuristsignMapper.xml
@@ -8,6 +8,7 @@
+
@@ -25,6 +26,6 @@
businessName,phone,salary,
signTime,tenure,manicuristLv,
auditStatus,isDelete,createTime,
- updateTime
+ businessId,updateTime
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AlipayController.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AlipayController.class
index 2b3edef..9cbb591 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AlipayController.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AlipayController.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AppointmentsController.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AppointmentsController.class
index 9af418e..23d72d4 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AppointmentsController.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/AppointmentsController.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/BusinessController.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/BusinessController.class
index 26eb6ab..b59173e 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/BusinessController.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/BusinessController.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristController.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristController.class
index ca26992..7b89f27 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristController.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristController.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristSignController.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristSignController.class
index f879654..8cf8434 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristSignController.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/ManicuristSignController.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/OrdersController.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/OrdersController.class
index 4ab7150..79d6d19 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/OrdersController.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/OrdersController.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/UserController.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/UserController.class
index be39259..96e8919 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/UserController.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/controller/UserController.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Appointments.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Appointments.class
index 69ade45..129c6a6 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Appointments.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Appointments.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Manicuristsign.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Manicuristsign.class
index 7d3f7c7..6be31b2 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Manicuristsign.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/domain/Manicuristsign.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.class
index 2eecf6b..455a891 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicurist/ManicuristUpdateRequest.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.class
index 614f78f..796afb4 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/manicuristSign/ManicuristSignAddRequest.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.class
index a558def..6cc54f8 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderAddRequest.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.class
index 8904bb3..f32fd1d 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/order/OrderQueryRequest.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.class
index 930c4a5..07c9ec6 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/request/user/UserUpdateMyRequest.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.class
index b57c5e1..0ca7d77 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/AppointmentsVO.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/OrdersVO.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/OrdersVO.class
index 2008a03..326cd26 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/OrdersVO.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/OrdersVO.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/UserVO.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/UserVO.class
index 09c854a..87912f5 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/UserVO.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/model/vo/UserVO.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/BusinessService.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/BusinessService.class
index 1b58062..fefafe3 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/BusinessService.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/BusinessService.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/UserService.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/UserService.class
index ad2e312..fcf68a2 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/UserService.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/UserService.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.class
index 3844080..898b6d8 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/AlipayServiceImpl.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.class
index 9e6db02..0862e1e 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/BusinessServiceImpl.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.class
index 74335de..95616d5 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/ManicuristServiceImpl.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.class
index 32d38e1..f1b3ea3 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/OrdersServiceImpl.class differ
diff --git a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.class b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.class
index 03f232c..ab00da5 100644
Binary files a/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.class and b/project/jiaqingjiayi/target/classes/com/cj/jiaqingjiayi/service/impl/UserServiceImpl.class differ
diff --git a/project/jiaqingjiayi/target/classes/mapper/AppointmentsMapper.xml b/project/jiaqingjiayi/target/classes/mapper/AppointmentsMapper.xml
index 8cbc137..bd52294 100644
--- a/project/jiaqingjiayi/target/classes/mapper/AppointmentsMapper.xml
+++ b/project/jiaqingjiayi/target/classes/mapper/AppointmentsMapper.xml
@@ -14,6 +14,7 @@
+
@@ -29,6 +30,6 @@
appointmentTime,serviceMode,
notes,status,createTime,
updateTime,isDelete,businessName,
- manicuristName,orderId
+ appointmentAddress,manicuristName,orderId
diff --git a/project/jiaqingjiayi/target/classes/mapper/ManicuristsignMapper.xml b/project/jiaqingjiayi/target/classes/mapper/ManicuristsignMapper.xml
index 8d5ab9c..0ee683c 100644
--- a/project/jiaqingjiayi/target/classes/mapper/ManicuristsignMapper.xml
+++ b/project/jiaqingjiayi/target/classes/mapper/ManicuristsignMapper.xml
@@ -8,6 +8,7 @@
+
@@ -25,6 +26,6 @@
businessName,phone,salary,
signTime,tenure,manicuristLv,
auditStatus,isDelete,createTime,
- updateTime
+ businessId,updateTime
diff --git a/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar b/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar
index a8ac702..57f6946 100644
Binary files a/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar and b/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar differ
diff --git a/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar.original b/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar.original
index 29de273..f7231dc 100644
Binary files a/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar.original and b/project/jiaqingjiayi/target/jiaqingjiayi-0.0.1-SNAPSHOT.jar.original differ
diff --git a/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index e69de29..1b3481f 100644
--- a/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,3 @@
+com\cj\jiaqingjiayi\controller\OrdersController.class
+com\cj\jiaqingjiayi\utils\ExcelUtils.class
+com\cj\jiaqingjiayi\model\vo\OrdersExcelVO.class
diff --git a/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 1b8f42d..c7d234b 100644
--- a/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/project/jiaqingjiayi/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -23,7 +23,9 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\impl\CommoditiesServiceImpl.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\config\CorsConfig.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\config\Knife4jConfig.java
+E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\UserDTO.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\user\UserUpdateMyRequest.java
+E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\utils\ExcelUtils.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\common\ResultUtils.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\utils\RegexUtils.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\user\UserRegisterRequest.java
@@ -41,6 +43,7 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\order\OrderItemsAddRequest.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\controller\UserRatingController.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\utils\SqlUtils.java
+E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\BusinessDTO.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\specifications\SpecificationsAddRequest.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\AlipayTradeCreateRequest1.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\controller\BusinessController.java
@@ -60,6 +63,7 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\order\OrderCancelRequest.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\CollectMapper.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\ManicuristAuthMapper.java
+E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\OrdersExcelVO.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\user\UserDeleteRequest.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\domain\UserRating.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\AttributeVO.java
@@ -67,6 +71,7 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\CreateAlipayRequest.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\CartService.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\order\OrderQueryRequest.java
+E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\LoginUserDTO.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\contant\RegexConstant.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\appointments\AppointmentsUpdateRequest.java
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\domain\Collect.java