修改了商品查询的逻辑
This commit is contained in:
parent
3d57ae924f
commit
dec7c0a05f
|
@ -153,7 +153,7 @@ create table if not exists manicurist
|
|||
(
|
||||
id BIGINT AUTO_INCREMENT COMMENT '美甲师唯一标识(主键,自增)' PRIMARY KEY,
|
||||
userId BIGINT not null comment '用户ID(关联用户表)',
|
||||
businessId bigint not null comment '商家id',
|
||||
businessId bigint null comment '商家id',
|
||||
manicuristName VARCHAR(100) not null comment '美甲师姓名',
|
||||
gender tinyint null comment '性别',
|
||||
manicuristAvatar VARCHAR(255) COMMENT '美甲师头像文件的存储路径或链接',
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.cj.jiaqingjiayi.controller;
|
|||
|
||||
import com.alipay.api.*;
|
||||
import com.alipay.api.domain.AlipayTradeCreateModel;
|
||||
import com.alipay.api.domain.GoodsDetail;
|
||||
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
|
||||
import com.alipay.api.request.AlipayTradeCreateRequest;
|
||||
import com.alipay.api.request.AlipayUserInfoShareRequest;
|
||||
|
@ -11,6 +10,7 @@ import com.alipay.api.response.AlipaySystemOauthTokenResponse;
|
|||
import com.alipay.api.response.AlipayTradeCreateResponse;
|
||||
import com.alipay.api.response.AlipayUserInfoShareResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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;
|
||||
|
@ -18,17 +18,24 @@ 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.OrderItems;
|
||||
import com.cj.jiaqingjiayi.model.domain.Orders;
|
||||
import com.cj.jiaqingjiayi.model.domain.User;
|
||||
import com.cj.jiaqingjiayi.model.request.CreateAlipayRequest;
|
||||
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 org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
|
@ -52,6 +59,15 @@ public class AlipayController {
|
|||
@Resource
|
||||
private UserMapper userMapper;
|
||||
|
||||
@Resource
|
||||
private UserService userService;
|
||||
|
||||
@Resource
|
||||
private OrdersService ordersService;
|
||||
|
||||
@Resource
|
||||
private OrderItemsService orderItemsService;
|
||||
|
||||
@Resource
|
||||
private RandomNumberGenerator randomNumberGenerator;
|
||||
|
||||
|
@ -111,64 +127,55 @@ public class AlipayController {
|
|||
}
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@GetMapping("/create/alipay")
|
||||
public BaseResponse<String> AlipayTradeCreate(@RequestBody CreateAlipayRequest createAlipayRequest, 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", createAlipayRequest.getOrderNumber());
|
||||
Orders order = ordersService.getOne(queryWrapper);
|
||||
|
||||
ThrowUtils.throwIf(order == null, ErrorCode.NOT_FOUND_ERROR, "订单不存在");
|
||||
ThrowUtils.throwIf(order.getPayMethod() != 0, ErrorCode.OPERATION_ERROR, "订单状态错误");
|
||||
|
||||
if (!loginUser.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(); // 保证两位小数
|
||||
|
||||
@GetMapping("/trade")
|
||||
public BaseResponse<String> AlipayTradeCreate() throws AlipayApiException {
|
||||
|
||||
// 初始化SDK
|
||||
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
||||
// 构造请求参数以调用接口
|
||||
AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
|
||||
AlipayTradeCreateRequest aliRequest = new AlipayTradeCreateRequest();
|
||||
AlipayTradeCreateModel model = new AlipayTradeCreateModel();
|
||||
|
||||
// 获取当前时间的秒级时间戳(去掉年、月、日的前缀)
|
||||
String timePart = String.valueOf(System.currentTimeMillis() / 1000).substring(4);
|
||||
// 生成两位随机数
|
||||
String randomPart = String.format("%02d", new Random().nextInt(100));
|
||||
String orders = timePart + randomPart;
|
||||
// 设置商户订单号
|
||||
|
||||
model.setOutTradeNo(orders);
|
||||
model.setOutTradeNo(order.getOrderNumber());
|
||||
// 设置订单总金额
|
||||
model.setTotalAmount("88.88");
|
||||
model.setTotalAmount(total);
|
||||
// 设置订单标题
|
||||
model.setSubject("Iphone6 16G");
|
||||
model.setSubject("");
|
||||
// 设置产品码
|
||||
model.setProductCode("JSAPI_PAY");
|
||||
// 设置卖家支付宝用户ID
|
||||
model.setSellerId("2088721037774480");
|
||||
// 设置买家支付宝用户唯一标识
|
||||
model.setBuyerOpenId("2088722037764824");
|
||||
model.setBuyerOpenId(miniOpenId);
|
||||
// 设置小程序支付中
|
||||
model.setOpAppId("2021004144652242");
|
||||
// 设置订单附加信息
|
||||
model.setBody("Iphone6 16G");
|
||||
|
||||
// 设置订单包含的商品列表信息
|
||||
List<GoodsDetail> goodsDetail = new ArrayList<>();
|
||||
GoodsDetail goodsDetail0 = new GoodsDetail();
|
||||
goodsDetail0.setOutSkuId("outSku_01");
|
||||
goodsDetail0.setGoodsName("ipad");
|
||||
goodsDetail0.setAlipayGoodsId("20010001");
|
||||
goodsDetail0.setQuantity(10L);
|
||||
goodsDetail0.setPrice("2000");
|
||||
goodsDetail0.setOutItemId("outItem_01");
|
||||
goodsDetail0.setGoodsId("apple-01");
|
||||
goodsDetail0.setGoodsCategory("34543238");
|
||||
goodsDetail0.setCategoriesTree("124868003|126232002|126252004");
|
||||
goodsDetail0.setBody("特价手机");
|
||||
goodsDetail0.setShowUrl("http://www.alipay.com/xxx.jpg");
|
||||
goodsDetail.add(goodsDetail0);
|
||||
model.setGoodsDetail(goodsDetail);
|
||||
|
||||
request.setBizModel(model);
|
||||
|
||||
AlipayTradeCreateResponse response = alipayClient.execute(request);
|
||||
System.out.println(response.getBody());
|
||||
aliRequest.setBizModel(model);
|
||||
|
||||
String tradeNo = "";
|
||||
try {
|
||||
response = alipayClient.execute(request);
|
||||
AlipayTradeCreateResponse response = alipayClient.execute(aliRequest);
|
||||
tradeNo = response.getTradeNo();
|
||||
} catch (AlipayApiException e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.cj.jiaqingjiayi.common.ErrorCode;
|
|||
import com.cj.jiaqingjiayi.common.ResultUtils;
|
||||
import com.cj.jiaqingjiayi.exception.ThrowUtils;
|
||||
import com.cj.jiaqingjiayi.model.domain.Appointments;
|
||||
import com.cj.jiaqingjiayi.model.domain.User;
|
||||
import com.cj.jiaqingjiayi.model.request.appointments.AppointmentsAddRequest;
|
||||
import com.cj.jiaqingjiayi.service.AppointmentsService;
|
||||
import com.cj.jiaqingjiayi.service.UserService;
|
||||
|
@ -36,12 +37,16 @@ public class AppointmentsController {
|
|||
@PostMapping("/add")
|
||||
public BaseResponse<Long> addAppointments(@RequestBody AppointmentsAddRequest appointmentsAddRequest, HttpServletRequest request){
|
||||
//校验是否登录
|
||||
Long loginUserId = userService.isLogin(request);
|
||||
User loginUser = userService.getLoginUser(request);
|
||||
ThrowUtils.throwIf(appointmentsAddRequest== null, ErrorCode.NULL_ERROR);
|
||||
|
||||
Appointments appointments = new Appointments();
|
||||
//不传入默认用户昵称
|
||||
if (appointmentsAddRequest.getUsername() == null) {
|
||||
appointmentsAddRequest.setUsername(loginUser.getUsername());
|
||||
}
|
||||
BeanUtils.copyProperties(appointmentsAddRequest, appointments);
|
||||
appointments.setUserId(loginUserId);
|
||||
appointments.setUserId(loginUser.getId());
|
||||
//校验是否输入必要的数据
|
||||
appointmentsService.valid(appointments);
|
||||
|
||||
|
|
|
@ -166,28 +166,45 @@ public class CommoditiesController {
|
|||
}
|
||||
|
||||
/**
|
||||
*获取商品脱敏列表
|
||||
*获取商品列表
|
||||
* @param commoditiesQueryRequest 查询请求体
|
||||
* @return 分页列表
|
||||
*/
|
||||
@ApiOperation(value = "获取商品脱敏列表")
|
||||
@PostMapping("/list/page/commoditiesVO")
|
||||
public BaseResponse<Page<CommoditiesVO>> commoditiesVOPage(@RequestBody CommoditiesQueryRequest commoditiesQueryRequest) {
|
||||
@ApiOperation(value = "获取商品列表")
|
||||
@PostMapping("/list/page/commodities")
|
||||
public BaseResponse<Page<Commodities>> commoditiesPage(@RequestBody CommoditiesQueryRequest commoditiesQueryRequest) {
|
||||
long current = commoditiesQueryRequest.getCurrent();
|
||||
long pageSize = commoditiesQueryRequest.getPageSize();
|
||||
//获取查询条件
|
||||
QueryWrapper<Commodities> wrapper = commoditiesService.getWrapper(commoditiesQueryRequest);
|
||||
//获取商家多有商品
|
||||
//获取商家有的商品
|
||||
Page<Commodities> commoditiesPage = commoditiesService.page(new Page<>(current, pageSize), wrapper);
|
||||
//获取脱敏信息列表
|
||||
List<Commodities> commoditiesList = commoditiesPage.getRecords();
|
||||
long total = commoditiesPage.getTotal();
|
||||
List<CommoditiesVO> commoditiesVOList = commoditiesService.getCommoditiesVOList(commoditiesList);
|
||||
Page<CommoditiesVO> commoditiesVOPage = new Page<>(current, pageSize, total);
|
||||
commoditiesVOPage.setRecords(commoditiesVOList);
|
||||
return ResultUtils.success(commoditiesVOPage);
|
||||
return ResultUtils.success(commoditiesPage);
|
||||
}
|
||||
|
||||
// /**
|
||||
// *获取商品脱敏列表
|
||||
// * @param commoditiesQueryRequest 查询请求体
|
||||
// * @return 分页列表
|
||||
// */
|
||||
// @ApiOperation(value = "获取商品脱敏列表")
|
||||
// @PostMapping("/list/page/commoditiesVO")
|
||||
// public BaseResponse<Page<CommoditiesVO>> commoditiesVOPage(@RequestBody CommoditiesQueryRequest commoditiesQueryRequest) {
|
||||
// long current = commoditiesQueryRequest.getCurrent();
|
||||
// long pageSize = commoditiesQueryRequest.getPageSize();
|
||||
// //获取查询条件
|
||||
// QueryWrapper<Commodities> wrapper = commoditiesService.getWrapper(commoditiesQueryRequest);
|
||||
// //获取商家有的商品
|
||||
// Page<Commodities> commoditiesPage = commoditiesService.page(new Page<>(current, pageSize), wrapper);
|
||||
// //获取脱敏信息列表
|
||||
// List<Commodities> commoditiesList = commoditiesPage.getRecords();
|
||||
// long total = commoditiesPage.getTotal();
|
||||
// List<CommoditiesVO> commoditiesVOList = commoditiesService.getCommoditiesVOList(commoditiesList);
|
||||
// Page<CommoditiesVO> commoditiesVOPage = new Page<>(current, pageSize, total);
|
||||
// commoditiesVOPage.setRecords(commoditiesVOList);
|
||||
// return ResultUtils.success(commoditiesVOPage);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -85,10 +85,13 @@ public class ManicuristController {
|
|||
User loginUser = userService.getLoginUser(request);
|
||||
|
||||
Manicurist manicurist = new Manicurist();
|
||||
//如果不给美甲师名字默认为用户名字
|
||||
if (manicuristAddRequest.getManicuristName() == null) {
|
||||
manicuristAddRequest.setManicuristName(loginUser.getUsername());
|
||||
}
|
||||
BeanUtils.copyProperties(manicuristAddRequest, manicurist);
|
||||
ManicuristAuth manicuristAuth = new ManicuristAuth();
|
||||
BeanUtils.copyProperties(manicuristAddRequest, manicuristAuth);
|
||||
|
||||
manicuristService.validManicurist(manicurist, true);
|
||||
manicuristService.validManicuristAuth(manicuristAuth, true);
|
||||
|
||||
|
@ -176,7 +179,7 @@ public class ManicuristController {
|
|||
*/
|
||||
@ApiOperation(value = "根据id获取美甲师")
|
||||
@GetMapping("/queryById")
|
||||
public BaseResponse<Manicurist> QueryByIdManicurist(long manicuristId, HttpServletRequest request){
|
||||
public BaseResponse<Manicurist> QueryByIdManicurist(@RequestParam Integer manicuristId, HttpServletRequest request){
|
||||
userService.isAdmin(request);
|
||||
|
||||
ThrowUtils.throwIf(manicuristId < 0, ErrorCode.NULL_ERROR, "id不符合规范");
|
||||
|
@ -203,7 +206,7 @@ public class ManicuristController {
|
|||
* 用于展示店铺信息
|
||||
*/
|
||||
@ApiOperation(value = "用户查询全部美甲师")
|
||||
@GetMapping("/userQueryAll")
|
||||
@PostMapping("/userQueryAll")
|
||||
public BaseResponse<List<ManicuristVO>> UserQueryAllManicurist(@RequestBody UserManicuristQueryRequest userManicuristQueryRequest){
|
||||
ThrowUtils.throwIf(userManicuristQueryRequest == null, ErrorCode.NULL_ERROR);
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ public class Appointments implements Serializable {
|
|||
/**
|
||||
* 用户姓名
|
||||
*/
|
||||
private String userName;
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
|
|
|
@ -12,6 +12,12 @@ public class CommoditiesQueryRequest extends PageRequest implements Serializable
|
|||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -483140126402634506L;
|
||||
|
||||
/**
|
||||
* 商品id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 商家id
|
||||
*/
|
||||
|
|
|
@ -25,7 +25,7 @@ public class AppointmentsAddRequest implements Serializable {
|
|||
/**
|
||||
* 用户姓名
|
||||
*/
|
||||
private String userName;
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
|
|
|
@ -16,7 +16,7 @@ public class OrderAddRequest implements Serializable {
|
|||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String userName;
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
|
|
|
@ -12,7 +12,7 @@ public class UserUpdateMyRequest implements Serializable {
|
|||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
private String username;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -23,7 +23,7 @@ public class UserUpdateMyRequest implements Serializable {
|
|||
/**
|
||||
* 性别 男 女
|
||||
*/
|
||||
private String gender;
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
|
|
|
@ -18,7 +18,7 @@ public class UserUpdateRequest implements Serializable {
|
|||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String userName;
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 用户头像
|
||||
|
|
|
@ -40,7 +40,7 @@ public class AppointmentsServiceImpl extends ServiceImpl<AppointmentsMapper, App
|
|||
|
||||
@Override
|
||||
public void valid(Appointments appointments) {
|
||||
String userName = appointments.getUserName();
|
||||
String userName = appointments.getUsername();
|
||||
String phone = appointments.getPhone();
|
||||
Date appointmentTime = appointments.getAppointmentTime();
|
||||
|
||||
|
|
|
@ -118,6 +118,7 @@ public class CommoditiesServiceImpl extends ServiceImpl<CommoditiesMapper, Commo
|
|||
|
||||
@Override
|
||||
public QueryWrapper<Commodities> getWrapper(CommoditiesQueryRequest commoditiesQueryRequest) {
|
||||
Long id = commoditiesQueryRequest.getId();
|
||||
Long businessId = commoditiesQueryRequest.getBusinessId();
|
||||
Long commoditiesGroupId = commoditiesQueryRequest.getCommoditiesGroupId();
|
||||
String status = commoditiesQueryRequest.getStatus();
|
||||
|
@ -125,6 +126,7 @@ public class CommoditiesServiceImpl extends ServiceImpl<CommoditiesMapper, Commo
|
|||
String sortField = commoditiesQueryRequest.getSortField();
|
||||
String sortOrder = commoditiesQueryRequest.getSortOrder();
|
||||
QueryWrapper<Commodities> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(id != null, "id", id);
|
||||
wrapper.eq(businessId != null, "businessId", businessId);
|
||||
wrapper.eq(commoditiesGroupId != null, "commoditiesGroupId", commoditiesGroupId);
|
||||
wrapper.eq(StringUtils.isNotBlank(status), "status", status);
|
||||
|
|
|
@ -81,6 +81,7 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
|
|||
//美甲师绑定user
|
||||
Long userId = loginUser.getId();
|
||||
manicurist.setUserId(userId);
|
||||
|
||||
//更改用户权限为美甲师
|
||||
loginUser.setUserRole(3);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user