修改了商品查询的逻辑

This commit is contained in:
gaomusan 2024-11-19 12:36:36 +08:00
parent 3d57ae924f
commit dec7c0a05f
14 changed files with 107 additions and 66 deletions

View File

@ -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 '美甲师头像文件的存储路径或链接',

View File

@ -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();

View File

@ -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);

View File

@ -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);
// }
}

View File

@ -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);

View File

@ -29,7 +29,7 @@ public class Appointments implements Serializable {
/**
* 用户姓名
*/
private String userName;
private String username;
/**
* 手机号

View File

@ -12,6 +12,12 @@ public class CommoditiesQueryRequest extends PageRequest implements Serializable
@Serial
private static final long serialVersionUID = -483140126402634506L;
/**
* 商品id
*/
private Long id;
/**
* 商家id
*/

View File

@ -25,7 +25,7 @@ public class AppointmentsAddRequest implements Serializable {
/**
* 用户姓名
*/
private String userName;
private String username;
/**
* 手机号

View File

@ -16,7 +16,7 @@ public class OrderAddRequest implements Serializable {
/**
* 姓名
*/
private String userName;
private String username;
/**
* 手机号

View File

@ -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;
/**
* 电话

View File

@ -18,7 +18,7 @@ public class UserUpdateRequest implements Serializable {
/**
* 用户昵称
*/
private String userName;
private String username;
/**
* 用户头像

View File

@ -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();

View File

@ -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);

View File

@ -81,6 +81,7 @@ public class ManicuristServiceImpl extends ServiceImpl<ManicuristMapper, Manicur
//美甲师绑定user
Long userId = loginUser.getId();
manicurist.setUserId(userId);
//更改用户权限为美甲师
loginUser.setUserRole(3);