修改诺干问题
This commit is contained in:
parent
9a71519295
commit
e490a0a206
|
@ -68,8 +68,8 @@
|
|||
<option name="tableUIInfoList">
|
||||
<list>
|
||||
<TableUIInfo>
|
||||
<option name="className" value="CommoditiesGroup" />
|
||||
<option name="tableName" value="commodities_group" />
|
||||
<option name="className" value="Manicuristsign" />
|
||||
<option name="tableName" value="manicuristsign" />
|
||||
</TableUIInfo>
|
||||
</list>
|
||||
</option>
|
||||
|
|
|
@ -170,10 +170,28 @@ create table if not exists manicurist
|
|||
INDEX idx_userId (userId)
|
||||
) comment ='美甲师表' COLLATE = utf8mb4_unicode_ci;
|
||||
|
||||
create table if not exists manicuristSign
|
||||
(
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(100) not null comment '姓名',
|
||||
manicuristId 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 '记录更新时间'
|
||||
|
||||
) comment ='美甲师签约表' COLLATE = utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS manicurist_auth
|
||||
(
|
||||
id BIGINT AUTO_INCREMENT COMMENT '认证唯一标识(主键,自增)' PRIMARY KEY,
|
||||
artistId BIGINT NOT NULL COMMENT '美甲师ID(关联美甲师表)',
|
||||
artistId BIGINT NOT NULL COMMENT '美甲师ID(关联美甲师表)',
|
||||
name VARCHAR(100) COMMENT '美甲师名称',
|
||||
certification_number VARCHAR(100) COMMENT '认证编号',
|
||||
issuing_authority VARCHAR(100) COMMENT '发证机构',
|
||||
|
@ -220,6 +238,7 @@ CREATE TABLE IF NOT EXISTS orders
|
|||
orderNumber VARCHAR(50) NOT NULL UNIQUE COMMENT '订单号',
|
||||
userId BIGINT NOT NULL COMMENT '用户ID(关联用户表)',
|
||||
businessId bigint not null comment '商家id',
|
||||
manicuristId bigint null comment '美甲师ID',
|
||||
userName VARCHAR(100) NOT NULL COMMENT '用户姓名',
|
||||
phone varchar(64) not null comment '手机号',
|
||||
payMethod TINYINT NOT NULL COMMENT '支付方式:0微信支付',
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package com.cj.jiaqingjiayi.config;
|
||||
|
||||
|
||||
import com.alipay.api.AlipayApiException;
|
||||
import com.alipay.api.AlipayClient;
|
||||
import com.alipay.api.AlipayConstants;
|
||||
import com.alipay.api.DefaultAlipayClient;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
public class AlipayClients {
|
||||
//appid
|
||||
public String appId = "2021004144652242";
|
||||
//私钥
|
||||
//上:沙箱公钥 下:支付宝公钥
|
||||
public String PublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo9gmNSz8l/eH4Uem6hqNoK1t91Gu5evoooJKzZraxPYW9AyJwH8Mxbag3qVaRSalz+OIHHVqszUxah98DbvaxJbpY9tB2zaLSvxhXM4U5iGFR3TqdqqvxsXsfiu+a0JHauuGYtuuNmUwR7ZFVub8Ma/YBCHfELPvl1TcX8MgMlHqw3NQqcEXZZO8Ziyxel7CqgHDx5dFn1meHDFWTajbWN/0TWSzvYAOKrlrS3LjjwbDzTr3BQzH84TLbLkBaMVGEUkJZUrVVkiN3XEVBpBUs5Cv5INN4L+UJ4kDy1u6LICzUVSSrQmHItuA+YiFHZ/WVJ18jISn0W7YZVyRqTo2sQIDAQAB";
|
||||
// public String PublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjqGlEXMznr4XlQ3hvbZnQmfj0iJ2MAmPmpNyXMuQhuMK2xx8t9HozL+YzZ8l/4ksgtzGCHx0NiObsYe6Tt0EogfBqXjPTst21AjrT1TPKOxSfv6WuqNLNuY5o/i8ev0OLAGg8YUD2PL1GXSIrUMqjUuCFYQ7iFgEtcN54GVh4XG7Qj6wpN8CCTwmG4R4vHk4Al0ydE2yf0Efj49EgIi+Oq8EkXPSgdWpcS+UaEyuFVr3R5am36MHp+rXkOm6NluVJFBD/JHsOjB/Wt0EGd2HSyhR7n0hjFpNfVodughLL53/zG+nZ7+mM25s2S7Qh4iirxTedeqXlvBMXffxLSQrtQIDAQAB";
|
||||
//公钥appPrivateKey
|
||||
//上:沙箱私钥 下:支付宝私钥
|
||||
public String appPrivateKey = "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";
|
||||
// public String appPrivateKey ="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCOoaURczOevheVDeG9tmdCZ+PSInYwCY+ak3Jcy5CG4wrbHHy30ejMv5jNnyX/iSyC3MYIfHQ2I5uxh7pO3QSiB8GpeM9Oy3bUCOtPVM8o7FJ+/pa6o0s25jmj+Lx6/Q4sAaDxhQPY8vUZdIitQyqNS4IVhDuIWAS1w3ngZWHhcbtCPrCk3wIJPCYbhHi8eTgCXTJ0TbJ/QR+Pj0SAiL46rwSRc9KB1alxL5RoTK4VWvdHlqbfowen6teQ6bo2W5UkUEP8kew6MH9a3QQZ3YdLKFHufSGMWk19Wh26CEsvnf/Mb6dnv6YzbmzZLtCHiKKvFN516peW8Exd9/EtJCu1AgMBAAECggEAPghReVhoL/cu3HXQIylsmXYDoIW6b0QJP8o25+Lk9bVTKF6oY24Y2MvPkkZQSWYIhNWuD0zJYi50bW7BecEoXawP7zwKtZNKGAfVB4i0HHFDo9XoCj4w3SyeDxGEL91VR5Bhxgj61mU8chi7xNc8b31SkzcSiUb2rXLZ091kB58/xtzQk2nZAhKhwms7gbX7qxm8+TWLRK9g4vWmsGVqbgFNj/sutqBURSeU/pHmW9PMqgcWvx6AwWWi+VgBUSoIgMnX7r7s6ZlgeDIgioii3JdCcr1nq39sVYPwFpwIe7a1DOCB58B+v2un1XoThC7ZNEcbwP5oYpUdFhSoxClrNQKBgQDJc/A1nz2yYiLUHUMJn2DhyTrOnCSclmowuzJVkyuo5gQPfZ3dTmjdPkM/fg09J3+zi3UCSwZd6dGMzJVHWooMniSiomZ/rY+o9SVTAJOjxt29N8jFN92b3fB43hbAWyBOuy4NMZMcr+4cADuqRHz2pKAeaALiZdpTbrTCzVXtqwKBgQC1QGS0sv8VU9fyBCyrYU4kQh8Fcvz0g6ObgUnHZi6UIL+Cy0/3JIGeIyvB/n47RF1wLUz4wykwW70e1qlMz7w21HM+DB8fVuzbO7SmQI3gDo024kQkWWGUhe3/w9ztzLF9ezleSN6wnrPeDbeMV+pURbsxIXA9xg7DYpZZ76ksHwKBgHQnF/oi7bTbpo88q/lxXq/wkaqtFuL+Sw378UKsD4Fb1j2ERTBj1Ey0aJvENyfqjVPddcKztWESvtL65pt0laI+0IrBLm4xiWJ2rmWUMIw+zn0aG/Wyh2Emb0+RZfbU0+TxQdUzn0nsGlMkw0IiKRcgxn2hpQAaj+6JJ0omkIPvAoGAZ2eGTKT17Cf6QgNprJiF6R+j7QruD11uoJABFHZSSoXoXGk7hMbZ/+sW0sUrJQrat93QVPeabxFXctmKmtzFBw7rdFGcC9gepvCIHnUju9jxbYdm0sn/ZqmF323RhAVMmUcMsqKmEWNpQFzZA4NAl7V0lxH5o/RzhbqgBk05WYcCgYEAny/umQs7+NYgwL/FztMJVljfQsGY81mhgrQyPhmg/7NiWmLodJtwQgSj3UitDVtUGhZRnuidO8P1XW0sUyDwc8xMLb+0qVxX4gMpM4J1B0UaIp+oPg7hCXeFGxkWQl8bPY0RFa3GOfT2/D63NpXqYw8Fe1lZWoIMz+PBdx0YN90=";
|
||||
//应用证书
|
||||
private String appCertPath;
|
||||
//支付宝证书
|
||||
private String alipayCertPath;
|
||||
//支付宝根证书
|
||||
private String alipayRootCertPath;
|
||||
//回调地址
|
||||
private String notify;
|
||||
//字符集 签名
|
||||
private String gateway = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";
|
||||
|
||||
|
||||
// 公私钥模式
|
||||
@Bean
|
||||
public AlipayClient alipayClient() throws AlipayApiException {
|
||||
AlipayClient client = new DefaultAlipayClient(this.gateway, this.appId, this.appPrivateKey, AlipayConstants.FORMAT_JSON, AlipayConstants.CHARSET_UTF8, PublicKey, AlipayConstants.SIGN_TYPE_RSA2);
|
||||
return client;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ import com.alipay.api.domain.AlipayTradeCloseModel;
|
|||
import com.alipay.api.domain.AlipayTradeCreateModel;
|
||||
import com.alipay.api.domain.AlipayTradeQueryModel;
|
||||
import com.alipay.api.domain.AlipayTradeRefundModel;
|
||||
import com.alipay.api.internal.util.AlipaySignature;
|
||||
import com.alipay.api.request.*;
|
||||
import com.alipay.api.response.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
@ -21,13 +22,16 @@ import com.cj.jiaqingjiayi.mapper.UserMapper;
|
|||
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.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.utils.RandomNumberGenerator;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
@ -36,13 +40,15 @@ import org.springframework.web.bind.annotation.*;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.PrintWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
|
||||
import static com.cj.jiaqingjiayi.contant.UserConstant.USER_LOGIN_STATE;
|
||||
|
||||
|
||||
@Slf4j
|
||||
@Api(tags = "支付宝接口")
|
||||
@RestController
|
||||
@RequestMapping("/Alipay")
|
||||
|
@ -67,6 +73,9 @@ public class AlipayController {
|
|||
@Resource
|
||||
private OrdersService ordersService;
|
||||
|
||||
@Resource
|
||||
private AliPayService aliPayService;
|
||||
|
||||
@Resource
|
||||
private OrderItemsService orderItemsService;
|
||||
|
||||
|
@ -75,6 +84,8 @@ public class AlipayController {
|
|||
|
||||
private static String authToken;
|
||||
|
||||
public static final String NOURL = "http://39.101.78.35:1107/api/Alipay/notifyUrl";
|
||||
|
||||
|
||||
/**
|
||||
* 解析code获取open_id和token
|
||||
|
@ -82,14 +93,14 @@ public class AlipayController {
|
|||
* @throws AlipayApiException 支付宝api异常
|
||||
*/
|
||||
@GetMapping("/parseCode")
|
||||
public BaseResponse<UserVO> login(String authcode, long severId, HttpServletRequest req) throws AlipayApiException {
|
||||
public BaseResponse<UserVO> login(@RequestParam String authcode,@RequestParam long severId, HttpServletRequest req) throws AlipayApiException {
|
||||
AlipayConfig alipayConfig = choiceServer(severId);
|
||||
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
|
||||
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
|
||||
request.setCode(authcode);
|
||||
request.setGrantType("authorization_code");
|
||||
AlipaySystemOauthTokenResponse response = alipayClient.execute(request);
|
||||
// System.out.println(response.getBody());打印所有响应
|
||||
// System.out.println(response.getBody());//打印所有响应
|
||||
authToken = response.getAccessToken();
|
||||
if (!response.isSuccess()) {
|
||||
return ResultUtils.error(ErrorCode.PARAMS_ERROR);
|
||||
|
@ -127,63 +138,27 @@ public class AlipayController {
|
|||
|
||||
/**
|
||||
* 创建支付
|
||||
* @param request
|
||||
* @return
|
||||
* @throws AlipayApiException
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@GetMapping("/create/alipay")
|
||||
public BaseResponse<String> AlipayTradeCreate(@RequestParam Long id, HttpServletRequest request) throws AlipayApiException {
|
||||
@PostMapping("/create/alipay")
|
||||
public BaseResponse<String> AlipayTradeCreate(@RequestBody AlipayTradeCreateRequest1 pay, HttpServletRequest request) throws AlipayApiException {
|
||||
|
||||
User loginUser = userService.getLoginUser(request);
|
||||
String miniOpenId = loginUser.getOpenId();
|
||||
ThrowUtils.throwIf(miniOpenId == null, ErrorCode.NOT_FOUND_ERROR, "不是小程序用户");
|
||||
QueryWrapper<Orders> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("orderNumber", id);
|
||||
Orders order = ordersService.getOne(queryWrapper);
|
||||
// User loginUser = userService.getLoginUser(request);
|
||||
// String miniOpenId = loginUser.getOpenId();
|
||||
User byId = userService.getById(pay.getUserId());
|
||||
ThrowUtils.throwIf(byId.getOpenId() == null, ErrorCode.NOT_FOUND_ERROR, "不是小程序用户");
|
||||
|
||||
Orders order = ordersService.getById(pay.getId());
|
||||
|
||||
ThrowUtils.throwIf(order == null, ErrorCode.NOT_FOUND_ERROR, "订单不存在");
|
||||
ThrowUtils.throwIf(order.getPayMethod() != 0, ErrorCode.OPERATION_ERROR, "订单状态错误");
|
||||
|
||||
if (!loginUser.getId().equals(order.getUserId())) {
|
||||
if (!byId.getId().equals(order.getUserId())) {
|
||||
throw new BusinessException(ErrorCode.NO_AUTH, "你不是该订单用户!");
|
||||
}
|
||||
|
||||
OrderItems orderItems = orderItemsService.getById(order.getId());
|
||||
BigDecimal totalPrice = order.getTotalPrice();
|
||||
String total = totalPrice.setScale(2, RoundingMode.DOWN).toString(); // 保证两位小数
|
||||
|
||||
|
||||
// 初始化SDK
|
||||
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
||||
// 构造请求参数以调用接口
|
||||
AlipayTradeCreateRequest aliRequest = new AlipayTradeCreateRequest();
|
||||
AlipayTradeCreateModel model = new AlipayTradeCreateModel();
|
||||
|
||||
// 设置商户订单号
|
||||
model.setOutTradeNo(order.getOrderNumber());
|
||||
// 设置订单总金额
|
||||
model.setTotalAmount(total);
|
||||
// 设置订单标题
|
||||
model.setSubject("");
|
||||
// 设置产品码
|
||||
model.setProductCode("JSAPI_PAY");
|
||||
// 设置卖家支付宝用户ID
|
||||
model.setSellerId("2088721037774480");
|
||||
// 设置买家支付宝用户唯一标识
|
||||
model.setBuyerOpenId(miniOpenId);
|
||||
// 设置小程序支付中
|
||||
model.setOpAppId("2021004144652242");
|
||||
|
||||
aliRequest.setBizModel(model);
|
||||
|
||||
String tradeNo = "";
|
||||
try {
|
||||
AlipayTradeCreateResponse response = alipayClient.execute(aliRequest);
|
||||
tradeNo = response.getTradeNo();
|
||||
} catch (AlipayApiException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
String tradeNo = aliPayService.createPayment(String.valueOf(order.getId()), byId.getOpenId(), order.getTotalPrice());
|
||||
log.info("tradeNo:" + tradeNo);
|
||||
return ResultUtils.success(tradeNo);
|
||||
}
|
||||
|
||||
|
@ -199,7 +174,7 @@ public class AlipayController {
|
|||
model.setTradeNo(orderNo);
|
||||
|
||||
request.setBizModel(model);
|
||||
//request.setNotifyUrl(NOURL);
|
||||
request.setNotifyUrl(NOURL);
|
||||
AlipayTradeCloseResponse response = alipayClient.execute(request);
|
||||
|
||||
//这里应该写进日志
|
||||
|
@ -216,7 +191,7 @@ public class AlipayController {
|
|||
|
||||
|
||||
QueryWrapper<Orders> ordersQueryWrapper = new QueryWrapper<>();
|
||||
ordersQueryWrapper.eq("pickupCode", orderNo);
|
||||
ordersQueryWrapper.eq("orderNumber", orderNo);
|
||||
Orders orders = ordersService.getOne(ordersQueryWrapper);
|
||||
model.setOutTradeNo(orderNo);
|
||||
model.setRefundAmount(String.valueOf(orders.getTotalPrice()));
|
||||
|
@ -224,7 +199,7 @@ public class AlipayController {
|
|||
//model.setOutRequestNo("123");
|
||||
|
||||
request.setBizModel(model);
|
||||
//request.setNotifyUrl(NOURL);
|
||||
request.setNotifyUrl(NOURL);
|
||||
AlipayTradeRefundResponse response = alipayClient.execute(request);
|
||||
|
||||
String body = response.getBody();
|
||||
|
@ -245,7 +220,7 @@ public class AlipayController {
|
|||
model.setOutTradeNo(orderNo);
|
||||
|
||||
request.setBizModel(model);
|
||||
//request.setNotifyUrl(NOURL);
|
||||
request.setNotifyUrl(NOURL);
|
||||
|
||||
AlipayTradeQueryResponse response = alipayClient.execute(request);
|
||||
String body = response.getBody();
|
||||
|
@ -268,6 +243,70 @@ public class AlipayController {
|
|||
return alipayConfig;
|
||||
}
|
||||
|
||||
@PostMapping("/notifyUrl")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public synchronized void aliPayNotifyUrl(HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
System.out.println(log);
|
||||
|
||||
// 将 HttpServletRequest 的参数转换为 Map<String, String>
|
||||
Map<String,String> params = new HashMap<>();Map<String, String[]> requestParams = request.getParameterMap();
|
||||
for(String name : requestParams.keySet()) {
|
||||
params.put(name, request.getParameter(name));
|
||||
}
|
||||
//修改订单信息
|
||||
String out_trade_no = params.get("out_trade_no");
|
||||
|
||||
log.info( "23333333333333" + out_trade_no);
|
||||
|
||||
QueryWrapper<Orders> ordersQueryWrapper = new QueryWrapper<>();
|
||||
ordersQueryWrapper.eq("orderNumber", out_trade_no);
|
||||
Orders orders = ordersService.getOne(ordersQueryWrapper);
|
||||
orders.setPaymentStatus(1);
|
||||
Date date = new Date();
|
||||
orders.setUpdateTime(date);
|
||||
boolean update = ordersService.updateById(orders);
|
||||
log.info("orders:" + orders);
|
||||
ThrowUtils.throwIf(!update, ErrorCode.OPERATION_ERROR, "修改订单状态失败");
|
||||
//TODO 商家通知
|
||||
// websocketService.sendOrderMessage(orders);
|
||||
|
||||
String resultInfo = "buyer_id=208****42&total_amount=0.01&body=***试&trade_no=20190329**941025940236¬ify_time=2019-03-29 19:42:04&subject=**电脑网站支付&sign_type=RSA2&charset=UTF-8&auth_app_id=201****222¬ify_type=trade_status_sync&invoice_amount=0.01&out_trade_no=20190329ygyg45484544100003&trade_status=TRADE_SUCCESS&gmt_payment=2019-03-29 19:42:03&version=1.0&point_amount=0.00&sign=LDDUIGQmc+1qNtk3oyoAKVeMUKTngdX3ZjVeZOK0EjiPDJ/+Nk+0WSqcE6J7/5xb96Z/vP0yY3pVhZUiFVJ1G45/ys/HAleHh+EERZ1lkCkule1sSyaGFTKQGKx4uHpTyqIgRB1bouf19RPbSx1EkA0VkCarSy9G/OEG5Qmg8UdL2dRulMhlbOHS7tdMJJycDA8vOspOUMeQmk/H6IK9R2Kou5hN2T3KR1GWLYFK+z1jeZhQB3q52lZynO0OFjSzU4aQUBMW5QskQppBYd/ghtY/2YP+2H6YVGNgVmaheZMQ3PVTBALEV+8rZa91salH9DkKN2UCYGvNSNDT1VGCTQ==&gmt_create=2019-03-29 19:42:00&buyer_pay_amount=0.01&receipt_amount=0.01&fund_bill_list=[{\"amount\":\"0.01\",\"fundChannel\":\"PCREDIT\"}]&seller_id=208****0&app_id=2014100***22¬ify_id=20190329002221942040**8";
|
||||
//编码格式
|
||||
String charset="utf-8";
|
||||
//签名方式
|
||||
String sign_type="RSA2";
|
||||
//对待签名字符串数据通过&进行拆分
|
||||
String [] temp = resultInfo.split("&");
|
||||
LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
|
||||
//把拆分数据放在map集合内
|
||||
for (int i = 0; i < temp.length; i++) {
|
||||
String[] arr = temp[i].split("=", 2); //通过"="号分割成2个数据
|
||||
String[] tempAagin = new String[arr.length]; //再开辟一个数组用来接收分割后的数据
|
||||
for (int j = 0; j < arr.length; j++) {
|
||||
tempAagin[j] = arr[j];
|
||||
}
|
||||
map.put(tempAagin[0], tempAagin[1]);
|
||||
}
|
||||
System.out.println(map);
|
||||
|
||||
|
||||
try {
|
||||
//验签方法
|
||||
boolean signVerified = AlipaySignature.rsaCheckV1(params,PublicKey,charset,sign_type);
|
||||
response.setContentType("text/html;charset=utf-8");
|
||||
PrintWriter writer = response.getWriter();
|
||||
if (signVerified && "TRADE_SUCCESS".equals(params.get("trade_status"))) {
|
||||
// 业务处理
|
||||
writer.println("success");
|
||||
} else {
|
||||
writer.println("fail");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private AlipayConfig choiceServer(long serverId) {
|
||||
String testPrivateKey = "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 testAlipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo9gmNSz8l/eH4Uem6hqNoK1t91Gu5evoooJKzZraxPYW9AyJwH8Mxbag3qVaRSalz+OIHHVqszUxah98DbvaxJbpY9tB2zaLSvxhXM4U5iGFR3TqdqqvxsXsfiu+a0JHauuGYtuuNmUwR7ZFVub8Ma/YBCHfELPvl1TcX8MgMlHqw3NQqcEXZZO8Ziyxel7CqgHDx5dFn1meHDFWTajbWN/0TWSzvYAOKrlrS3LjjwbDzTr3BQzH84TLbLkBaMVGEUkJZUrVVkiN3XEVBpBUs5Cv5INN4L+UJ4kDy1u6LICzUVSSrQmHItuA+YiFHZ/WVJ18jISn0W7YZVyRqTo2sQIDAQAB";
|
||||
|
@ -280,17 +319,19 @@ public class AlipayController {
|
|||
alipayConfig.setPrivateKey(privateKey);
|
||||
alipayConfig.setFormat("json");
|
||||
alipayConfig.setAlipayPublicKey(alipayPublicKey);
|
||||
alipayConfig.setCharset("UTF-8");
|
||||
alipayConfig.setCharset("utf-8");
|
||||
alipayConfig.setSignType("RSA2");
|
||||
}
|
||||
else if (serverId == 1) {
|
||||
alipayConfig.setServerUrl("https://openapi-sandbox.dl.alipaydev.com/gateway.do");
|
||||
alipayConfig.setAppId(appId);
|
||||
alipayConfig.setPrivateKey(testPrivateKey);
|
||||
alipayConfig.setFormat("json");
|
||||
alipayConfig.setAlipayPublicKey(testAlipayPublicKey);
|
||||
alipayConfig.setCharset("UTF-8");
|
||||
alipayConfig.setConnectTimeout(15000);
|
||||
alipayConfig.setFormat("json");
|
||||
alipayConfig.setCharset("utf-8");
|
||||
alipayConfig.setSignType("RSA2");
|
||||
// log.info("应用网关:" + "https://openapi-sandbox.dl.alipaydev.com/gateway.do");
|
||||
}
|
||||
else {
|
||||
throw new BusinessException(ErrorCode.PARAMS_ERROR,"网关选择错误");
|
||||
|
|
|
@ -124,8 +124,7 @@ public class ManicuristController {
|
|||
@ApiOperation(value = "管理修改美甲师信息")
|
||||
@PostMapping("/update")
|
||||
public BaseResponse<Boolean> UpdateManicurist(@RequestBody ManicuristUpdateRequest manicuristUpdateRequest, HttpServletRequest request){
|
||||
//判断是否为管理员
|
||||
userService.isAdmin(request);
|
||||
|
||||
|
||||
if (manicuristUpdateRequest == null || manicuristUpdateRequest.getId() == null) {
|
||||
throw new BusinessException(ErrorCode.PARAMS_ERROR, "传入参数为空");
|
||||
|
|
|
@ -0,0 +1,151 @@
|
|||
//package com.cj.jiaqingjiayi.controller;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
//import com.cj.jiaqingjiayi.common.BaseResponse;
|
||||
//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.domain.Business;
|
||||
//import com.cj.jiaqingjiayi.model.domain.Manicurist;
|
||||
//import com.cj.jiaqingjiayi.model.domain.Manicuristsign;
|
||||
//import com.cj.jiaqingjiayi.model.request.manicuristSign.ManicuristSignAddRequest;
|
||||
//import com.cj.jiaqingjiayi.model.vo.ManicuristsignVO;
|
||||
//import com.cj.jiaqingjiayi.service.BusinessService;
|
||||
//import com.cj.jiaqingjiayi.service.ManicuristService;
|
||||
//import com.cj.jiaqingjiayi.service.ManicuristsignService;
|
||||
//import com.cj.jiaqingjiayi.service.UserService;
|
||||
//import com.cj.jiaqingjiayi.utils.BeanCopyUtils;
|
||||
//import io.swagger.annotations.Api;
|
||||
//import io.swagger.annotations.ApiOperation;
|
||||
//import org.springframework.beans.BeanUtils;
|
||||
//import org.springframework.transaction.annotation.Transactional;
|
||||
//import org.springframework.web.bind.annotation.*;
|
||||
//
|
||||
//import javax.annotation.Resource;
|
||||
//import java.util.List;
|
||||
//
|
||||
//@Api(tags = "美甲师签约接口")
|
||||
//@RestController
|
||||
//@RequestMapping("/manicuristSign")
|
||||
//public class ManicuristSignController {
|
||||
//
|
||||
// @Resource
|
||||
// private ManicuristsignService manicuristsignService;
|
||||
//
|
||||
// @Resource
|
||||
// private ManicuristService manicuristService;
|
||||
//
|
||||
// @Resource
|
||||
// private BusinessService businessService;
|
||||
//
|
||||
// /**
|
||||
// * 添加签约
|
||||
// */
|
||||
// @ApiOperation(value = "添加美甲师签约")
|
||||
// @PostMapping("/add")
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public BaseResponse<Long> addManicuristSign(@RequestBody ManicuristSignAddRequest addRequest){
|
||||
//
|
||||
// ThrowUtils.throwIf(addRequest == null, ErrorCode.PARAMS_ERROR);
|
||||
//
|
||||
// Manicuristsign manicuristsign = new Manicuristsign();
|
||||
//
|
||||
// BeanUtils.copyProperties(addRequest, manicuristsign);
|
||||
//
|
||||
// boolean save = manicuristsignService.save(manicuristsign);
|
||||
//
|
||||
// if (!save) {
|
||||
// throw new BusinessException(ErrorCode.SYSTEM_ERROR, "添加失败");
|
||||
// }
|
||||
// return ResultUtils.success(manicuristsign.getId(), "添加成功");
|
||||
// }
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 通过签约
|
||||
// */
|
||||
// @ApiOperation(value = "同意美甲师签约")
|
||||
// @GetMapping("/success")
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public BaseResponse<Boolean> succManicuristSign(@RequestParam Long signId){
|
||||
//
|
||||
// ThrowUtils.throwIf(signId < 0 , ErrorCode.PARAMS_ERROR);
|
||||
// //拿到签约数据
|
||||
// Manicuristsign manicuristsign = manicuristsignService.getById(signId);
|
||||
// //拿到签约的美甲师数据
|
||||
// Manicurist manicurist = manicuristService.getById(manicuristsign.getManicuristId());
|
||||
// ThrowUtils.throwIf(manicurist == null, ErrorCode.SYSTEM_ERROR);
|
||||
// Manicurist manicuristNew = new Manicurist();
|
||||
//
|
||||
// QueryWrapper<Business> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.eq("businessName", manicuristsign.getBusinessName());
|
||||
// Business business = businessService.getOne(queryWrapper);
|
||||
// manicurist.setBusinessId(business.getId());
|
||||
// //更新美甲师所属的美甲店铺
|
||||
// BeanUtils.copyProperties(manicurist, manicuristNew);
|
||||
// manicuristsign.setAuditStatus(1);
|
||||
//
|
||||
// boolean flag = manicuristService.updateById(manicuristNew);
|
||||
// ThrowUtils.throwIf(!flag , ErrorCode.OPERATION_ERROR);
|
||||
//
|
||||
// boolean updateById = manicuristsignService.updateById(manicuristsign);
|
||||
// ThrowUtils.throwIf(!updateById, ErrorCode.SYSTEM_ERROR);
|
||||
//
|
||||
// return ResultUtils.success(true, "审核通过");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 不同意美甲师签约
|
||||
// */
|
||||
// @ApiOperation(value = "不同意美甲师签约")
|
||||
// @GetMapping("/refuse")
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public BaseResponse<Boolean> refuseManicuristSign(@RequestParam Long signId){
|
||||
//
|
||||
// ThrowUtils.throwIf(signId < 0 , ErrorCode.PARAMS_ERROR);
|
||||
// //拿到签约数据
|
||||
// Manicuristsign manicuristsign = manicuristsignService.getById(signId);
|
||||
//
|
||||
// manicuristsign.setAuditStatus(2);
|
||||
//
|
||||
// boolean updateById = manicuristsignService.updateById(manicuristsign);
|
||||
// ThrowUtils.throwIf(!updateById, ErrorCode.SYSTEM_ERROR);
|
||||
//
|
||||
// return ResultUtils.success(true, "审核不通过");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 根据id删除签约
|
||||
// */
|
||||
// @ApiOperation(value = "根据id删除签约")
|
||||
// @GetMapping("/delete")
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public BaseResponse<Boolean> deleteManicuristSign(@RequestParam Long signId){
|
||||
//
|
||||
// ThrowUtils.throwIf(signId < 0 , ErrorCode.PARAMS_ERROR);
|
||||
//
|
||||
// boolean b = manicuristsignService.removeById(signId);
|
||||
// ThrowUtils.throwIf(!b, ErrorCode.SYSTEM_ERROR);
|
||||
//
|
||||
// return ResultUtils.success(true, "删除成功");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 查询当前店铺签约列表
|
||||
// */
|
||||
// @ApiOperation(value = "查询签约列表")
|
||||
// @GetMapping("/select")
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public BaseResponse<List<ManicuristsignVO>> selectManicuristSign(@RequestParam String businessName){
|
||||
//
|
||||
// ThrowUtils.throwIf(businessName == null , ErrorCode.PARAMS_ERROR);
|
||||
//
|
||||
// QueryWrapper<Manicuristsign> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper.eq("businessName", businessName);
|
||||
//
|
||||
// List<Manicuristsign> manicuristsignList = manicuristsignService.list(queryWrapper);
|
||||
// List<ManicuristsignVO> manicuristsignVOList = manicuristsignService.getManicuristsignVO(manicuristsignList);
|
||||
// return ResultUtils.success(manicuristsignVOList);
|
||||
// }
|
||||
//}
|
|
@ -3,6 +3,7 @@ package com.cj.jiaqingjiayi.controller;
|
|||
|
||||
|
||||
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;
|
||||
|
@ -21,6 +22,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
@ -331,6 +333,54 @@ public class OrdersController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 抢单
|
||||
* @param commonRequest 订单id
|
||||
* @param request 当前登录用户
|
||||
* @return 是否抢单成功
|
||||
*/
|
||||
@ApiOperation(value = "抢单")
|
||||
@PostMapping("/get/order")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public BaseResponse<Boolean> getOrder(@RequestBody CommonRequest commonRequest, HttpServletRequest request) {
|
||||
if (commonRequest == null) {
|
||||
throw new BusinessException(ErrorCode.PARAMS_ERROR);
|
||||
}
|
||||
Long ordersId = commonRequest.getId();
|
||||
// Errand loginErrand = errandService.getLoginErrand(request);
|
||||
// Long loginErrandId = loginErrand.getId();
|
||||
// ErrandOrder errandOrder = errandOrderService.getOne(Wrappers.<ErrandOrder>lambdaQuery()
|
||||
// .eq(ErrandOrder::getOrderId, ordersId));
|
||||
// Integer state = loginErrand.getState();
|
||||
// if (state != 1) {
|
||||
// throw new BusinessException(ErrorCode.FORBIDDEN_ERROR, "当前跑腿不可抢单");
|
||||
// }
|
||||
|
||||
// errandService.updateTotal(loginErrand, true);
|
||||
|
||||
// 开始事务
|
||||
Orders orders = ordersService.getOrderWithPessimisticLock(ordersId);
|
||||
|
||||
// 判断订单是否已被抢
|
||||
if (orders == null || orders.getManicuristId() != null) {
|
||||
return ResultUtils.success(false); // 订单已经被抢或不存在
|
||||
}
|
||||
|
||||
// 更新订单的 errandId 和状态
|
||||
orders.setManicuristId(commonRequest.getManicuristId());
|
||||
orders.setClaimStatus(1);
|
||||
boolean update = ordersService.updateById(orders);
|
||||
ThrowUtils.throwIf(!update, ErrorCode.OPERATION_ERROR, "抢单失败");
|
||||
|
||||
|
||||
|
||||
// errandOrder.setErrandState(2); // 2待取货
|
||||
// boolean update1 = errandOrderService.updateById(errandOrder);
|
||||
// ThrowUtils.throwIf(!update1, ErrorCode.OPERATION_ERROR, "更新跑腿订单关联失败");
|
||||
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -41,8 +41,6 @@ public class UserController {
|
|||
/**
|
||||
* 用户注册请求接口
|
||||
*
|
||||
* @param userRegisterRequest
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "用户注册")
|
||||
@PostMapping("/register")
|
||||
|
@ -67,9 +65,7 @@ public class UserController {
|
|||
/**
|
||||
* 用户登录请求接口
|
||||
*
|
||||
* @param userLoginRequest
|
||||
* @param request 前端请求对象
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "用户登录")
|
||||
@PostMapping("/login")
|
||||
|
@ -91,8 +87,6 @@ public class UserController {
|
|||
|
||||
/**
|
||||
* 用户注销接口
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "用户注销")
|
||||
@PostMapping("/logout")
|
||||
|
@ -106,9 +100,6 @@ public class UserController {
|
|||
|
||||
/**
|
||||
* 查询用户(管理员)
|
||||
* @param searchRequest
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "查询用户")
|
||||
@GetMapping("/search")
|
||||
|
@ -142,9 +133,6 @@ public class UserController {
|
|||
|
||||
/**
|
||||
* 删除用户(管理员)
|
||||
* @param deleteRequest
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "删除用户")
|
||||
@PostMapping("/delete")
|
||||
|
@ -160,8 +148,6 @@ public class UserController {
|
|||
|
||||
/**
|
||||
* 获取当前登录的用户信息
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "获取当前登录用户")
|
||||
@GetMapping("/current")
|
||||
|
@ -174,9 +160,6 @@ public class UserController {
|
|||
|
||||
/**
|
||||
* 根据id获取用户(管理员)
|
||||
* @param id
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "根据id获取用户")
|
||||
@GetMapping("/getById")
|
||||
|
@ -195,9 +178,6 @@ public class UserController {
|
|||
|
||||
/**
|
||||
* 用户修改密码
|
||||
* @param updatePasswordRequest
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "用户修改密码")
|
||||
@PostMapping("/password/update")
|
||||
|
|
|
@ -16,5 +16,10 @@ public class CommonRequest implements Serializable {
|
|||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 美甲师Id
|
||||
*/
|
||||
private Long manicuristId;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -30,6 +30,7 @@ public class Manicurist implements Serializable {
|
|||
*/
|
||||
private Long businessId;
|
||||
|
||||
|
||||
/**
|
||||
* 美甲师姓名
|
||||
*/
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
package com.cj.jiaqingjiayi.model.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
@ -37,6 +35,12 @@ public class Orders implements Serializable {
|
|||
*/
|
||||
private Long businessId;
|
||||
|
||||
/**
|
||||
* 商家id
|
||||
*/
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private Long manicuristId;
|
||||
|
||||
/**
|
||||
* 用户姓名
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package com.cj.jiaqingjiayi.model.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AlipayTradeCreateRequest1 {
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.cj.jiaqingjiayi.model.request.manicuristSign;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class ManicuristSignAddRequest {
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 美甲师ID(关联美甲师表)
|
||||
*/
|
||||
private Long manicuristId;
|
||||
|
||||
/**
|
||||
* 门店名称
|
||||
*/
|
||||
private String businessName;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 期望工资薪资
|
||||
*/
|
||||
private BigDecimal salary;
|
||||
|
||||
/**
|
||||
* 签约时长
|
||||
*/
|
||||
private String signTime;
|
||||
|
||||
/**
|
||||
* 工龄
|
||||
*/
|
||||
private String tenure;
|
||||
|
||||
/**
|
||||
* 美甲师等级
|
||||
*/
|
||||
private String manicuristLv;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.cj.jiaqingjiayi.model.request.manicuristSign;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class succManicuristSignRequest {
|
||||
|
||||
/**
|
||||
* 美甲师Id
|
||||
*/
|
||||
private Long manicuristId;
|
||||
|
||||
/**
|
||||
* 商家Id
|
||||
*/
|
||||
private Long businessId;
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
package com.cj.jiaqingjiayi.model.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class ManicuristsignVO implements Serializable {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 美甲师ID(关联美甲师表)
|
||||
*/
|
||||
private Long manicuristId;
|
||||
|
||||
/**
|
||||
* 门店名称
|
||||
*/
|
||||
private String businessName;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 期望工资薪资
|
||||
*/
|
||||
private BigDecimal salary;
|
||||
|
||||
/**
|
||||
* 签约时长
|
||||
*/
|
||||
private String signTime;
|
||||
|
||||
/**
|
||||
* 工龄
|
||||
*/
|
||||
private String tenure;
|
||||
|
||||
/**
|
||||
* 美甲师等级
|
||||
*/
|
||||
private String manicuristLv;
|
||||
|
||||
/**
|
||||
* 审核状态,0-待审核,1-审核通过,2-审核不通过
|
||||
*/
|
||||
private Integer auditStatus;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package com.cj.jiaqingjiayi.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public interface AliPayService {
|
||||
|
||||
String createPayment(String orderId, String miniOpenId, BigDecimal amount);
|
||||
}
|
|
@ -36,6 +36,11 @@ public interface OrdersService extends IService<Orders> {
|
|||
|
||||
List<OrdersVO> getOrdersVO(List<Orders> ordersList);
|
||||
|
||||
/**
|
||||
* 悲观锁
|
||||
*/
|
||||
Orders getOrderWithPessimisticLock(Long ordersId);
|
||||
|
||||
/**
|
||||
* 获取查询条件
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
package com.cj.jiaqingjiayi.service.impl;
|
||||
|
||||
|
||||
import com.alipay.api.AlipayApiException;
|
||||
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.cj.jiaqingjiayi.common.ErrorCode;
|
||||
import com.cj.jiaqingjiayi.config.AlipayClients;
|
||||
import com.cj.jiaqingjiayi.exception.BusinessException;
|
||||
import com.cj.jiaqingjiayi.exception.ThrowUtils;
|
||||
import com.cj.jiaqingjiayi.model.domain.OrderItems;
|
||||
import com.cj.jiaqingjiayi.model.domain.Orders;
|
||||
import com.cj.jiaqingjiayi.service.AliPayService;
|
||||
import com.cj.jiaqingjiayi.service.OrderItemsService;
|
||||
import com.cj.jiaqingjiayi.service.OrdersService;
|
||||
import com.cj.jiaqingjiayi.utils.UniqueNumberGenerator;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class AlipayServiceImpl implements AliPayService {
|
||||
|
||||
@Resource
|
||||
private OrdersService ordersService;
|
||||
|
||||
@Resource
|
||||
private OrderItemsService orderDetailsService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public synchronized String createPayment(String orderId, String miniOpenId, BigDecimal amount) {
|
||||
//创建客户
|
||||
AlipayClients clients = new AlipayClients();
|
||||
//AlipayClient client = clients.alipayClient();
|
||||
//创建交易请求
|
||||
AlipayTradeCreateRequest aliRequest = new AlipayTradeCreateRequest();
|
||||
//创建实体类
|
||||
AlipayTradeCreateModel model = new AlipayTradeCreateModel();
|
||||
|
||||
//请求参数 沙箱内部参数
|
||||
|
||||
String outTradeNo = UniqueNumberGenerator.generateNumber();
|
||||
|
||||
Orders order = ordersService.getById(orderId);
|
||||
if (order == null) {
|
||||
log.error("订单不存在");
|
||||
throw new BusinessException(ErrorCode.NOT_FOUND_ERROR, "订单不存在,订单号:" + outTradeNo);
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<OrderItems> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(OrderItems::getOrderId, orderId);
|
||||
List<OrderItems> orderDetailsList = orderDetailsService.list(wrapper);
|
||||
String subject = orderDetailsList.stream()
|
||||
.map(OrderItems::getAttributeNames)
|
||||
.collect(Collectors.joining(", "));
|
||||
//给支付宝的订单号设置成取餐码
|
||||
order.setOrderNumber(outTradeNo);
|
||||
boolean update = ordersService.updateById(order);
|
||||
ThrowUtils.throwIf(!update, ErrorCode.OPERATION_ERROR, "修改订单状态失败");
|
||||
|
||||
model.setOutTradeNo(outTradeNo);
|
||||
model.setTotalAmount(String.valueOf(amount));
|
||||
model.setSubject(subject);
|
||||
model.setProductCode("JSAPI_PAY");
|
||||
model.setSellerId("2088721034640726");
|
||||
model.setBuyerId("2088722034659383");
|
||||
model.setOpAppId("2021004144652242");
|
||||
|
||||
///回调地址
|
||||
aliRequest.setNotifyUrl("http://39.101.78.35:1107/api/Alipay/notifyUrl");
|
||||
aliRequest.setBizModel(model);
|
||||
String trade_no = null;
|
||||
try {
|
||||
AlipayTradeCreateResponse response = clients.alipayClient().execute(aliRequest);
|
||||
trade_no = response.getTradeNo();
|
||||
if (trade_no == null) {
|
||||
throw new BusinessException(ErrorCode.NULL_ERROR, "未获取到trade_no");
|
||||
}
|
||||
} catch (AlipayApiException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return trade_no;
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
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.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
@ -144,6 +145,18 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, Orders>
|
|||
return ordersList.stream().map(this::getOrdersVO).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Orders getOrderWithPessimisticLock(Long ordersId) {
|
||||
LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(Orders::getId, ordersId);
|
||||
|
||||
// 使用悲观锁,查询并锁定订单
|
||||
Orders orders = this.getBaseMapper().selectOne(queryWrapper.last("FOR UPDATE"));
|
||||
|
||||
return orders;
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryWrapper<Orders> getQueryWrapper(OrderQueryRequest orderQueryRequest) {
|
||||
if (orderQueryRequest == null) {
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
package com.cj.jiaqingjiayi.utils;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
* @author bsz
|
||||
*/
|
||||
@Component
|
||||
public class UniqueNumberGenerator {
|
||||
private static int sequenceNumber = 1; // 初始化每天的序列号,从1开始
|
||||
private static String lastDate = ""; // 记录上次生成数字的日期
|
||||
private static final Random random = new Random(); // 随机数生成器
|
||||
|
||||
// 生成17位的唯一编号
|
||||
public static String generateNumber() {
|
||||
// 获取当前日期的年月日格式 (前8位)
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
String dateStr = dateFormat.format(new Date());
|
||||
|
||||
// 检查日期是否变更,如果变更则重置序列号
|
||||
if (!dateStr.equals(lastDate)) {
|
||||
lastDate = dateStr;
|
||||
sequenceNumber = 1; // 每天重置为0001
|
||||
}
|
||||
|
||||
// 生成中间5位的随机数
|
||||
int middleRandom = 10000 + random.nextInt(90000); // 生成10000到99999之间的随机数
|
||||
|
||||
// 格式化后四位的序列号
|
||||
String sequenceStr = String.format("%04d", sequenceNumber);
|
||||
|
||||
// 更新序列号,为下一次调用准备
|
||||
sequenceNumber++;
|
||||
|
||||
// 组合并返回结果
|
||||
return dateStr + middleRandom + sequenceStr;
|
||||
}
|
||||
|
||||
}
|
|
@ -9,6 +9,7 @@
|
|||
<result property="orderNumber" column="orderNumber" jdbcType="VARCHAR"/>
|
||||
<result property="userId" column="userId" jdbcType="BIGINT"/>
|
||||
<result property="businessId" column="businessId" jdbcType="BIGINT"/>
|
||||
<result property="manicuristId" column="manicuristId" jdbcType="BIGINT"/>
|
||||
<result property="userName" column="userName" jdbcType="VARCHAR"/>
|
||||
<result property="phone" column="phone" jdbcType="VARCHAR"/>
|
||||
<result property="payMethod" column="payMethod" jdbcType="TINYINT"/>
|
||||
|
@ -27,6 +28,7 @@
|
|||
businessId,userName,phone,
|
||||
appointmentId,totalPrice,paymentStatus,
|
||||
claimStatus,notes,createTime,
|
||||
updateTime,isDelete,payMethod
|
||||
updateTime,isDelete,payMethod,
|
||||
manicuristId
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,56 +1,21 @@
|
|||
com\cj\jiaqingjiayi\model\request\user\UserUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\OrdersServiceImpl.class
|
||||
com\cj\jiaqingjiayi\utils\RandomNumberGenerator.class
|
||||
com\cj\jiaqingjiayi\contant\UserConstant.class
|
||||
com\cj\jiaqingjiayi\mapper\ManicuristAuthMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserLoginRequest.class
|
||||
com\cj\jiaqingjiayi\exception\GlobalExceptionHandler.class
|
||||
com\cj\jiaqingjiayi\service\impl\SpecificationsServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\vo\CommoditiesVO.class
|
||||
com\cj\jiaqingjiayi\contant\RegexConstant.class
|
||||
com\cj\jiaqingjiayi\exception\BusinessException.class
|
||||
com\cj\jiaqingjiayi\config\JsonConfig.class
|
||||
com\cj\jiaqingjiayi\model\vo\OrderItemsVO.class
|
||||
com\cj\jiaqingjiayi\config\Knife4jConfig.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserUpdateMyRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\SpecificationsCommoditiesServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\domain\Attribute.class
|
||||
com\cj\jiaqingjiayi\model\request\specifications\SpecificationsAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\cart\CartDeleteRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\order\OrderQueryRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\order\OrderCountRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\AppointmentsServiceImpl.class
|
||||
com\cj\jiaqingjiayi\controller\SpecificationsController.class
|
||||
com\cj\jiaqingjiayi\model\request\business\BusinessUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\BusinessAuthServiceImpl.class
|
||||
com\cj\jiaqingjiayi\exception\ThrowUtils.class
|
||||
com\cj\jiaqingjiayi\model\vo\OrdersVO.class
|
||||
com\cj\jiaqingjiayi\model\request\specifications\SpecificationsMyQueryRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\Commodities\CommoditiesDeleteRequest.class
|
||||
com\cj\jiaqingjiayi\controller\CartController.class
|
||||
com\cj\jiaqingjiayi\service\impl\UserServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\attribute\AttributeUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\BusinessServiceImpl.class
|
||||
com\cj\jiaqingjiayi\contant\FileConstant.class
|
||||
com\cj\jiaqingjiayi\model\request\specifications\SpecificationsQueryRequest.class
|
||||
com\cj\jiaqingjiayi\utils\RegexUtils.class
|
||||
com\cj\jiaqingjiayi\service\UserService.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserUpdatePasswordRequest.class
|
||||
com\cj\jiaqingjiayi\service\OrderItemsService.class
|
||||
com\cj\jiaqingjiayi\model\request\cart\CartUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\service\SpecificationsCommoditiesService.class
|
||||
com\cj\jiaqingjiayi\contant\CommonConstant.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\ManicuristAddRequest.class
|
||||
com\cj\jiaqingjiayi\utils\SqlUtils.class
|
||||
com\cj\jiaqingjiayi\controller\FileController.class
|
||||
com\cj\jiaqingjiayi\service\AttributeService.class
|
||||
com\cj\jiaqingjiayi\mapper\AppointmentsMapper.class
|
||||
com\cj\jiaqingjiayi\mapper\CommoditiesMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\Commodities\CommoditiesUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\model\CommonRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\cart\CartAddRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\CommoditiesServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\domain\Appointments.class
|
||||
com\cj\jiaqingjiayi\controller\ManicuristController.class
|
||||
com\cj\jiaqingjiayi\model\vo\LoginUserVO.class
|
||||
|
@ -62,71 +27,106 @@ com\cj\jiaqingjiayi\common\BaseResponse.class
|
|||
com\cj\jiaqingjiayi\model\domain\Manicurist.class
|
||||
com\cj\jiaqingjiayi\mapper\SpecificationsMapper.class
|
||||
com\cj\jiaqingjiayi\mapper\ManicuristMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\Commodities\CommoditiesQueryRequest.class
|
||||
com\cj\jiaqingjiayi\mapper\AttributeMapper.class
|
||||
com\cj\jiaqingjiayi\model\domain\Specifications.class
|
||||
com\cj\jiaqingjiayi\config\CorsConfig.class
|
||||
com\cj\jiaqingjiayi\mapper\UserMapper.class
|
||||
com\cj\jiaqingjiayi\service\ManicuristService.class
|
||||
com\cj\jiaqingjiayi\service\CommoditiesService.class
|
||||
com\cj\jiaqingjiayi\mapper\BusinessMapper.class
|
||||
com\cj\jiaqingjiayi\model\domain\BusinessAuth.class
|
||||
com\cj\jiaqingjiayi\service\ManicuristAuthService.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\AdminManicuristAddRequest.class
|
||||
com\cj\jiaqingjiayi\mapper\OrderItemsMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\business\BusinessQueryRequest.class
|
||||
com\cj\jiaqingjiayi\model\vo\SpecificationsVO.class
|
||||
com\cj\jiaqingjiayi\mapper\OrdersMapper.class
|
||||
com\cj\jiaqingjiayi\model\vo\BusinessVO.class
|
||||
com\cj\jiaqingjiayi\controller\OrdersController.class
|
||||
com\cj\jiaqingjiayi\model\request\order\OrderAddRequest.class
|
||||
com\cj\jiaqingjiayi\service\OrdersService.class
|
||||
com\cj\jiaqingjiayi\service\impl\CartServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\CreateAlipayRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\ManicuristAuthServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\cart\CartQueryRequest.class
|
||||
com\cj\jiaqingjiayi\model\vo\BusinessAdminVO.class
|
||||
com\cj\jiaqingjiayi\service\AppointmentsService.class
|
||||
com\cj\jiaqingjiayi\model\request\appointments\AppointmentsAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\domain\OrderItems.class
|
||||
com\cj\jiaqingjiayi\model\request\PageRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\UserManicuristQueryRequest.class
|
||||
com\cj\jiaqingjiayi\service\CartService.class
|
||||
com\cj\jiaqingjiayi\mapper\BusinessAuthMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserSearchRequest.class
|
||||
com\cj\jiaqingjiayi\service\SpecificationsService.class
|
||||
com\cj\jiaqingjiayi\common\ErrorCode.class
|
||||
com\cj\jiaqingjiayi\model\request\order\OrderItemsAddRequest.class
|
||||
com\cj\jiaqingjiayi\controller\CommoditiesController.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\MyManicuristUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\service\BusinessAuthService.class
|
||||
com\cj\jiaqingjiayi\model\domain\Business.class
|
||||
com\cj\jiaqingjiayi\service\impl\OrdersServiceImpl.class
|
||||
com\cj\jiaqingjiayi\utils\RandomNumberGenerator.class
|
||||
com\cj\jiaqingjiayi\contant\UserConstant.class
|
||||
com\cj\jiaqingjiayi\mapper\ManicuristAuthMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserLoginRequest.class
|
||||
com\cj\jiaqingjiayi\contant\RegexConstant.class
|
||||
com\cj\jiaqingjiayi\exception\BusinessException.class
|
||||
com\cj\jiaqingjiayi\config\JsonConfig.class
|
||||
com\cj\jiaqingjiayi\model\vo\OrderItemsVO.class
|
||||
com\cj\jiaqingjiayi\config\Knife4jConfig.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserUpdateMyRequest.class
|
||||
com\cj\jiaqingjiayi\model\domain\Attribute.class
|
||||
com\cj\jiaqingjiayi\model\request\specifications\SpecificationsAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\order\OrderCountRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\AppointmentsServiceImpl.class
|
||||
com\cj\jiaqingjiayi\service\impl\BusinessAuthServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\Commodities\CommoditiesDeleteRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\UserServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\attribute\AttributeUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\contant\FileConstant.class
|
||||
com\cj\jiaqingjiayi\model\request\specifications\SpecificationsQueryRequest.class
|
||||
com\cj\jiaqingjiayi\utils\RegexUtils.class
|
||||
com\cj\jiaqingjiayi\service\UserService.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserUpdatePasswordRequest.class
|
||||
com\cj\jiaqingjiayi\service\OrderItemsService.class
|
||||
com\cj\jiaqingjiayi\model\request\cart\CartUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\contant\CommonConstant.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\ManicuristAddRequest.class
|
||||
com\cj\jiaqingjiayi\controller\FileController.class
|
||||
com\cj\jiaqingjiayi\mapper\AppointmentsMapper.class
|
||||
com\cj\jiaqingjiayi\mapper\CommoditiesMapper.class
|
||||
com\cj\jiaqingjiayi\model\CommonRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\cart\CartAddRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\CommoditiesServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\Commodities\CommoditiesQueryRequest.class
|
||||
com\cj\jiaqingjiayi\config\CorsConfig.class
|
||||
com\cj\jiaqingjiayi\service\CommoditiesService.class
|
||||
com\cj\jiaqingjiayi\mapper\BusinessMapper.class
|
||||
com\cj\jiaqingjiayi\model\enums\FileUploadBizEnum.class
|
||||
com\cj\jiaqingjiayi\model\domain\SpecificationsCommodities.class
|
||||
com\cj\jiaqingjiayi\service\impl\OrderItemsServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\attribute\AttributeAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\specifications\SpecificationsUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\mapper\OrderItemsMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\business\BusinessQueryRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserRegisterRequest.class
|
||||
com\cj\jiaqingjiayi\model\vo\SpecificationsVO.class
|
||||
com\cj\jiaqingjiayi\mapper\OrdersMapper.class
|
||||
com\cj\jiaqingjiayi\model\vo\BusinessVO.class
|
||||
com\cj\jiaqingjiayi\controller\AppointmentsController.class
|
||||
com\cj\jiaqingjiayi\model\domain\Orders.class
|
||||
com\cj\jiaqingjiayi\controller\OrdersController.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserDeleteRequest.class
|
||||
com\cj\jiaqingjiayi\model\vo\AttributeVO.class
|
||||
com\cj\jiaqingjiayi\model\request\order\OrderAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\domain\User.class
|
||||
com\cj\jiaqingjiayi\service\OrdersService.class
|
||||
com\cj\jiaqingjiayi\model\domain\Cart.class
|
||||
com\cj\jiaqingjiayi\service\impl\CartServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\CreateAlipayRequest.class
|
||||
com\cj\jiaqingjiayi\service\impl\ManicuristAuthServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\Commodities\CommoditiesAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\cart\CartQueryRequest.class
|
||||
com\cj\jiaqingjiayi\model\domain\Commodities.class
|
||||
com\cj\jiaqingjiayi\mapper\CartMapper.class
|
||||
com\cj\jiaqingjiayi\config\MyBatisPlusConfig.class
|
||||
com\cj\jiaqingjiayi\model\vo\BusinessAdminVO.class
|
||||
com\cj\jiaqingjiayi\service\AppointmentsService.class
|
||||
com\cj\jiaqingjiayi\service\BusinessService.class
|
||||
com\cj\jiaqingjiayi\service\impl\AttributeServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\ManicuristQueryRequest.class
|
||||
com\cj\jiaqingjiayi\model\vo\ManicuristVO.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\ManicuristUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\mapper\SpecificationsCommoditiesMapper.class
|
||||
com\cj\jiaqingjiayi\model\request\appointments\AppointmentsAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\domain\OrderItems.class
|
||||
com\cj\jiaqingjiayi\model\request\PageRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\UserManicuristQueryRequest.class
|
||||
com\cj\jiaqingjiayi\common\ResultUtils.class
|
||||
com\cj\jiaqingjiayi\controller\AlipayController.class
|
||||
com\cj\jiaqingjiayi\service\CartService.class
|
||||
com\cj\jiaqingjiayi\mapper\BusinessAuthMapper.class
|
||||
com\cj\jiaqingjiayi\service\impl\ManicuristServiceImpl.class
|
||||
com\cj\jiaqingjiayi\model\request\user\UserSearchRequest.class
|
||||
com\cj\jiaqingjiayi\model\domain\ManicuristAuth.class
|
||||
com\cj\jiaqingjiayi\model\request\business\BusinessAddRequest.class
|
||||
com\cj\jiaqingjiayi\service\SpecificationsService.class
|
||||
com\cj\jiaqingjiayi\common\ErrorCode.class
|
||||
com\cj\jiaqingjiayi\model\request\order\OrderItemsAddRequest.class
|
||||
com\cj\jiaqingjiayi\model\request\UploadFileRequest.class
|
||||
com\cj\jiaqingjiayi\controller\CommoditiesController.class
|
||||
com\cj\jiaqingjiayi\model\request\manicurist\MyManicuristUpdateRequest.class
|
||||
com\cj\jiaqingjiayi\service\BusinessAuthService.class
|
||||
com\cj\jiaqingjiayi\JiaqingjiayiApplication.class
|
||||
com\cj\jiaqingjiayi\model\domain\Business.class
|
||||
|
|
|
@ -42,7 +42,10 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
|
|||
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\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
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\AliPayService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\ManicuristsignMapper.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\manicurist\MyManicuristUpdateRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\appointments\AppointmentsAddRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\cart\CartUpdateRequest.java
|
||||
|
@ -81,6 +84,8 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
|
|||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\CartMapper.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\controller\CollectController.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\CommoditiesService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\domain\Manicuristsign.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\manicuristSign\ManicuristSignAddRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\BusinessAdminVO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\controller\SpecificationsController.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\specifications\SpecificationsUpdateRequest.java
|
||||
|
@ -104,8 +109,10 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
|
|||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\CartVO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\manicurist\ManicuristUpdateRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\UserService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\impl\ManicuristsignServiceImpl.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\domain\Attribute.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\group\AddGroupRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\impl\AlipayServiceImpl.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\controller\CartController.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\cart\CartQueryRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\ManicuristMapper.java
|
||||
|
@ -115,6 +122,7 @@ 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\UserServiceImpl.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\UserVO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\BusinessMapper.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\manicuristSign\succManicuristSignRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\LoginUserVO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\common\ErrorCode.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\SpecificationsCommoditiesMapper.java
|
||||
|
@ -122,6 +130,7 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
|
|||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\ManicuristAuthService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\JiaqingjiayiApplication.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\OrderItemsVO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\config\AlipayClients.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\CartDTO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\business\BusinessUpdateRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\Commodities\CommoditiesDeleteRequest.java
|
||||
|
@ -134,12 +143,15 @@ E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\c
|
|||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\exception\BusinessException.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\UserRatingService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\OrdersVO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\vo\ManicuristsignVO.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\impl\UserRatingServiceImpl.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\controller\GroupController.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\controller\ManicuristSignController.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\user\UserAddRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\AttributeService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\contant\CommonConstant.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\OrdersMapper.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\ManicuristsignService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\SpecificationsCommoditiesService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\impl\AppointmentsServiceImpl.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\cart\CartAddRequest.java
|
||||
|
@ -158,6 +170,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\user\UserUpdatePasswordRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\BusinessAuthService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\service\BusinessLevelService.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\utils\UniqueNumberGenerator.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\model\request\PageRequest.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\config\JsonConfig.java
|
||||
E:\gitjiaqingjiayi\jiaqingjiayi-houduan\project\jiaqingjiayi\src\main\java\com\cj\jiaqingjiayi\mapper\OrderItemsMapper.java
|
||||
|
|
Loading…
Reference in New Issue
Block a user