添加订单接口
This commit is contained in:
parent
1336399864
commit
b2dc2b0be4
|
@ -0,0 +1,14 @@
|
||||||
|
package com.example.takeawaysystemserver.constant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Ethereal
|
||||||
|
* @date 2024/7/13
|
||||||
|
* @description
|
||||||
|
*/
|
||||||
|
public interface CommonStatusConstant {
|
||||||
|
String ADDRESS_ERROR = "地址信息有误,请重新填写";
|
||||||
|
|
||||||
|
String SHOPPINGCART_ERROR = "购物车为空";
|
||||||
|
|
||||||
|
String INSERT_ERROR = "插入失败,请重试";
|
||||||
|
}
|
|
@ -1,8 +1,12 @@
|
||||||
package com.example.takeawaysystemserver.controller;
|
package com.example.takeawaysystemserver.controller;
|
||||||
|
|
||||||
|
import com.example.takeawaysystemserver.entity.OrderList;
|
||||||
|
import com.example.takeawaysystemserver.service.OrderService;
|
||||||
|
import com.example.takeawaysystemserver.util.R;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Ethereal
|
* @author Ethereal
|
||||||
|
@ -13,4 +17,14 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
@RequestMapping("order")
|
@RequestMapping("order")
|
||||||
@Api(tags = "订单模块")
|
@Api(tags = "订单模块")
|
||||||
public class OrderController {
|
public class OrderController {
|
||||||
|
@Resource
|
||||||
|
private OrderService orderService;
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("add")
|
||||||
|
@ApiOperation(value = "添加订单")
|
||||||
|
public R<String> addOrder(@RequestHeader String token, @RequestBody OrderList order){
|
||||||
|
return orderService.addOrders(token, order);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,4 +39,10 @@ public class ShopController {
|
||||||
public R<List<Dish>> getAllDishes(@RequestParam("id") Integer id){
|
public R<List<Dish>> getAllDishes(@RequestParam("id") Integer id){
|
||||||
return shopService.getShopDishes(id);
|
return shopService.getShopDishes(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("search-keyword")
|
||||||
|
@ApiOperation(value = "根据关键字搜索商家")
|
||||||
|
public R<List<Shop>> searchByKeyword(@RequestParam("keyword")String keyword){
|
||||||
|
return shopService.search(keyword);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,10 +50,4 @@ public class UserController {
|
||||||
public R<String> updatePassword(@RequestHeader String token, UserPasswordDTO userPasswordDTO){
|
public R<String> updatePassword(@RequestHeader String token, UserPasswordDTO userPasswordDTO){
|
||||||
return userService.updatePassword(token,userPasswordDTO);
|
return userService.updatePassword(token,userPasswordDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("update-address")
|
|
||||||
@ApiOperation(value = "修改用户地址")
|
|
||||||
public R<String> updateAddress(@RequestHeader String token, @RequestBody AddressDTO addressDTO){
|
|
||||||
return userService.updateAddress(token, addressDTO.getAddress());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class OrderItem implements Serializable {
|
||||||
/**
|
/**
|
||||||
* order_id
|
* order_id
|
||||||
*/
|
*/
|
||||||
private Integer orderId;
|
private Long orderId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 购买份数
|
* 购买份数
|
||||||
|
|
|
@ -4,19 +4,23 @@ import java.io.Serializable;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @TableName order
|
* @TableName order_list
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class Order implements Serializable {
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class OrderList implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 主键ID
|
* 主键ID
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id", type = IdType.AUTO)
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
private Integer id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户ID
|
* 用户ID
|
||||||
|
@ -38,6 +42,11 @@ public class Order implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 地址ID
|
||||||
|
*/
|
||||||
|
private Integer addressId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 地址
|
* 地址
|
||||||
*/
|
*/
|
||||||
|
@ -66,14 +75,15 @@ public class Order implements Serializable {
|
||||||
if (getClass() != that.getClass()) {
|
if (getClass() != that.getClass()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Order other = (Order) that;
|
OrderList other = (OrderList) that;
|
||||||
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
|
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
|
||||||
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
|
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
|
||||||
&& (this.getShopId() == null ? other.getShopId() == null : this.getShopId().equals(other.getShopId()))
|
&& (this.getShopId() == null ? other.getShopId() == null : this.getShopId().equals(other.getShopId()))
|
||||||
&& (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
|
&& (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
|
||||||
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
|
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
|
||||||
|
&& (this.getAddressId() == null ? other.getAddressId() == null : this.getAddressId().equals(other.getAddressId()))
|
||||||
&& (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
|
&& (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
|
||||||
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
|
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
|
||||||
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
|
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,6 +96,7 @@ public class Order implements Serializable {
|
||||||
result = prime * result + ((getShopId() == null) ? 0 : getShopId().hashCode());
|
result = prime * result + ((getShopId() == null) ? 0 : getShopId().hashCode());
|
||||||
result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
|
result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
|
||||||
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
|
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
|
||||||
|
result = prime * result + ((getAddressId() == null) ? 0 : getAddressId().hashCode());
|
||||||
result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
|
result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
|
||||||
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
|
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
|
||||||
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
|
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
|
||||||
|
@ -103,6 +114,7 @@ public class Order implements Serializable {
|
||||||
sb.append(", shopId=").append(shopId);
|
sb.append(", shopId=").append(shopId);
|
||||||
sb.append(", price=").append(price);
|
sb.append(", price=").append(price);
|
||||||
sb.append(", status=").append(status);
|
sb.append(", status=").append(status);
|
||||||
|
sb.append(", addressId=").append(addressId);
|
||||||
sb.append(", address=").append(address);
|
sb.append(", address=").append(address);
|
||||||
sb.append(", createTime=").append(createTime);
|
sb.append(", createTime=").append(createTime);
|
||||||
sb.append(", updateTime=").append(updateTime);
|
sb.append(", updateTime=").append(updateTime);
|
|
@ -1,9 +1,11 @@
|
||||||
package com.example.takeawaysystemserver.entity;
|
package com.example.takeawaysystemserver.entity;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import jakarta.annotation.Nullable;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,14 +42,9 @@ public class Shop implements Serializable {
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开业时间
|
* 营业时间
|
||||||
*/
|
*/
|
||||||
private Integer openTime;
|
private String openTime;
|
||||||
|
|
||||||
/**
|
|
||||||
* 休息时间
|
|
||||||
*/
|
|
||||||
private Integer closeTime;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 店铺地址
|
* 店铺地址
|
||||||
|
@ -59,6 +56,9 @@ public class Shop implements Serializable {
|
||||||
*/
|
*/
|
||||||
private String image;
|
private String image;
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private List<Dish> dishes;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -79,7 +79,6 @@ public class Shop implements Serializable {
|
||||||
&& (this.getSellCount() == null ? other.getSellCount() == null : this.getSellCount().equals(other.getSellCount()))
|
&& (this.getSellCount() == null ? other.getSellCount() == null : this.getSellCount().equals(other.getSellCount()))
|
||||||
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
|
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
|
||||||
&& (this.getOpenTime() == null ? other.getOpenTime() == null : this.getOpenTime().equals(other.getOpenTime()))
|
&& (this.getOpenTime() == null ? other.getOpenTime() == null : this.getOpenTime().equals(other.getOpenTime()))
|
||||||
&& (this.getCloseTime() == null ? other.getCloseTime() == null : this.getCloseTime().equals(other.getCloseTime()))
|
|
||||||
&& (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
|
&& (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
|
||||||
&& (this.getImage() == null ? other.getImage() == null : this.getImage().equals(other.getImage()));
|
&& (this.getImage() == null ? other.getImage() == null : this.getImage().equals(other.getImage()));
|
||||||
}
|
}
|
||||||
|
@ -94,7 +93,6 @@ public class Shop implements Serializable {
|
||||||
result = prime * result + ((getSellCount() == null) ? 0 : getSellCount().hashCode());
|
result = prime * result + ((getSellCount() == null) ? 0 : getSellCount().hashCode());
|
||||||
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
|
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
|
||||||
result = prime * result + ((getOpenTime() == null) ? 0 : getOpenTime().hashCode());
|
result = prime * result + ((getOpenTime() == null) ? 0 : getOpenTime().hashCode());
|
||||||
result = prime * result + ((getCloseTime() == null) ? 0 : getCloseTime().hashCode());
|
|
||||||
result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
|
result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
|
||||||
result = prime * result + ((getImage() == null) ? 0 : getImage().hashCode());
|
result = prime * result + ((getImage() == null) ? 0 : getImage().hashCode());
|
||||||
return result;
|
return result;
|
||||||
|
@ -112,7 +110,6 @@ public class Shop implements Serializable {
|
||||||
sb.append(", sellCount=").append(sellCount);
|
sb.append(", sellCount=").append(sellCount);
|
||||||
sb.append(", status=").append(status);
|
sb.append(", status=").append(status);
|
||||||
sb.append(", openTime=").append(openTime);
|
sb.append(", openTime=").append(openTime);
|
||||||
sb.append(", closeTime=").append(closeTime);
|
|
||||||
sb.append(", address=").append(address);
|
sb.append(", address=").append(address);
|
||||||
sb.append(", image=").append(image);
|
sb.append(", image=").append(image);
|
||||||
sb.append(", serialVersionUID=").append(serialVersionUID);
|
sb.append(", serialVersionUID=").append(serialVersionUID);
|
||||||
|
|
|
@ -39,11 +39,6 @@ public class User implements Serializable {
|
||||||
*/
|
*/
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/**
|
|
||||||
* 地址
|
|
||||||
*/
|
|
||||||
private String address;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户状态,0:被删除,1:正常,2:被封禁
|
* 用户状态,0:被删除,1:正常,2:被封禁
|
||||||
*/
|
*/
|
||||||
|
@ -67,7 +62,6 @@ public class User implements Serializable {
|
||||||
&& (this.getUsername() == null ? other.getUsername() == null : this.getUsername().equals(other.getUsername()))
|
&& (this.getUsername() == null ? other.getUsername() == null : this.getUsername().equals(other.getUsername()))
|
||||||
&& (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
|
&& (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
|
||||||
&& (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone()))
|
&& (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone()))
|
||||||
&& (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
|
|
||||||
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()));
|
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +73,6 @@ public class User implements Serializable {
|
||||||
result = prime * result + ((getUsername() == null) ? 0 : getUsername().hashCode());
|
result = prime * result + ((getUsername() == null) ? 0 : getUsername().hashCode());
|
||||||
result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
|
result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
|
||||||
result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
|
result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
|
||||||
result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
|
|
||||||
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
|
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -94,7 +87,6 @@ public class User implements Serializable {
|
||||||
sb.append(", username=").append(username);
|
sb.append(", username=").append(username);
|
||||||
sb.append(", password=").append(password);
|
sb.append(", password=").append(password);
|
||||||
sb.append(", phone=").append(phone);
|
sb.append(", phone=").append(phone);
|
||||||
sb.append(", address=").append(address);
|
|
||||||
sb.append(", status=").append(status);
|
sb.append(", status=").append(status);
|
||||||
sb.append(", serialVersionUID=").append(serialVersionUID);
|
sb.append(", serialVersionUID=").append(serialVersionUID);
|
||||||
sb.append("]");
|
sb.append("]");
|
||||||
|
|
|
@ -3,6 +3,9 @@ package com.example.takeawaysystemserver.mapper;
|
||||||
import com.example.takeawaysystemserver.entity.Dish;
|
import com.example.takeawaysystemserver.entity.Dish;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author qiushengyu
|
* @author qiushengyu
|
||||||
|
@ -12,7 +15,13 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface DishMapper extends BaseMapper<Dish> {
|
public interface DishMapper extends BaseMapper<Dish> {
|
||||||
|
/**
|
||||||
|
* 根据关键字搜索菜品
|
||||||
|
* @param keyword 关键字
|
||||||
|
* @param shopId 商家Id
|
||||||
|
* @return 菜品列表
|
||||||
|
*/
|
||||||
|
List<Dish> searchByDishKeyword(@Param("keyword")String keyword, @Param("id")Integer shopId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.example.takeawaysystemserver.mapper;
|
package com.example.takeawaysystemserver.mapper;
|
||||||
|
|
||||||
import com.example.takeawaysystemserver.entity.Order;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.example.takeawaysystemserver.entity.OrderList;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,7 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
* @Entity com.example.takeawaysystemserver.entity.Order
|
* @Entity com.example.takeawaysystemserver.entity.Order
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface OrderMapper extends BaseMapper<Order> {
|
public interface OrderMapper extends BaseMapper<OrderList> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,13 @@ public interface ShopMapper extends BaseMapper<Shop> {
|
||||||
* @return 菜品口味
|
* @return 菜品口味
|
||||||
*/
|
*/
|
||||||
List<DishFlavor> flavors(@Param("id") Integer id);
|
List<DishFlavor> flavors(@Param("id") Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据关键字搜索
|
||||||
|
* @param keyword 关键字
|
||||||
|
* @return 列表
|
||||||
|
*/
|
||||||
|
List<Shop> searchBykKeyword(@Param("keyword")String keyword);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.example.takeawaysystemserver.mapper;
|
||||||
|
|
||||||
import com.example.takeawaysystemserver.entity.ShoppingCart;
|
import com.example.takeawaysystemserver.entity.ShoppingCart;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author qiushengyu
|
* @author qiushengyu
|
||||||
|
@ -9,6 +10,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
* @createDate 2024-07-12 16:13:47
|
* @createDate 2024-07-12 16:13:47
|
||||||
* @Entity com.example.takeawaysystemserver.entity.ShoppingCart
|
* @Entity com.example.takeawaysystemserver.entity.ShoppingCart
|
||||||
*/
|
*/
|
||||||
|
@Mapper
|
||||||
public interface ShoppingCartMapper extends BaseMapper<ShoppingCart> {
|
public interface ShoppingCartMapper extends BaseMapper<ShoppingCart> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.example.takeawaysystemserver.service;
|
package com.example.takeawaysystemserver.service;
|
||||||
|
|
||||||
import com.example.takeawaysystemserver.entity.Order;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.example.takeawaysystemserver.entity.OrderList;
|
||||||
import com.example.takeawaysystemserver.util.R;
|
import com.example.takeawaysystemserver.util.R;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9,11 +9,11 @@ import com.example.takeawaysystemserver.util.R;
|
||||||
* @description 针对表【order】的数据库操作Service
|
* @description 针对表【order】的数据库操作Service
|
||||||
* @createDate 2024-07-11 17:13:46
|
* @createDate 2024-07-11 17:13:46
|
||||||
*/
|
*/
|
||||||
public interface OrderService extends IService<Order> {
|
public interface OrderService extends IService<OrderList> {
|
||||||
/**
|
/**
|
||||||
* 添加订单
|
* 添加订单
|
||||||
* @param order 订单类
|
* @param order 订单类
|
||||||
* @return 添加信息
|
* @return 添加信息
|
||||||
*/
|
*/
|
||||||
R<String> addOrders(Order order);
|
R<String> addOrders(String token, OrderList order);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,4 +25,11 @@ public interface ShopService extends IService<Shop> {
|
||||||
* @return 菜品信息
|
* @return 菜品信息
|
||||||
*/
|
*/
|
||||||
R<List<Dish>> getShopDishes(Integer id);
|
R<List<Dish>> getShopDishes(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关键字搜索
|
||||||
|
* @param keyword 关键字
|
||||||
|
* @return 商家列表
|
||||||
|
*/
|
||||||
|
R<List<Shop>> search(String keyword);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,12 +49,4 @@ public interface UserService extends IService<User> {
|
||||||
* @return 修改信息
|
* @return 修改信息
|
||||||
*/
|
*/
|
||||||
R<String> updatePassword(String token, UserPasswordDTO userPasswordDTO);
|
R<String> updatePassword(String token, UserPasswordDTO userPasswordDTO);
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改用户地址信息
|
|
||||||
* @param token 用户token
|
|
||||||
* @param address 新地址
|
|
||||||
* @return 修改信息
|
|
||||||
*/
|
|
||||||
R<String> updateAddress(String token, String address);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +1,99 @@
|
||||||
package com.example.takeawaysystemserver.service.impl;
|
package com.example.takeawaysystemserver.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.example.takeawaysystemserver.entity.Order;
|
import com.example.takeawaysystemserver.constant.CommonStatusConstant;
|
||||||
import com.example.takeawaysystemserver.service.OrderService;
|
import com.example.takeawaysystemserver.entity.*;
|
||||||
|
import com.example.takeawaysystemserver.mapper.OrderItemMapper;
|
||||||
|
import com.example.takeawaysystemserver.service.*;
|
||||||
import com.example.takeawaysystemserver.mapper.OrderMapper;
|
import com.example.takeawaysystemserver.mapper.OrderMapper;
|
||||||
|
import com.example.takeawaysystemserver.util.R;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author qiushengyu
|
* @author qiushengyu
|
||||||
* @description 针对表【order】的数据库操作Service实现
|
* @description 针对表【order】的数据库操作Service实现
|
||||||
* @createDate 2024-07-11 17:13:46
|
* @createDate 2024-07-11 17:13:46
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order>
|
public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderList>
|
||||||
implements OrderService{
|
implements OrderService{
|
||||||
|
@Resource
|
||||||
|
private UserServiceImpl userServiceImpl;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ShoppingCartService shoppingCartService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private UserService userService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AddressService addressService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private OrderItemService orderItemService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<String> addOrders(String token, OrderList order) {
|
||||||
|
Integer id = Integer.parseInt(userServiceImpl.getUserId(token));
|
||||||
|
LambdaQueryWrapper<ShoppingCart> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(ShoppingCart::getUserId,id);
|
||||||
|
List<ShoppingCart> shoppingCarts = shoppingCartService.list(wrapper);
|
||||||
|
|
||||||
|
if (shoppingCarts == null || shoppingCarts.isEmpty()){
|
||||||
|
return R.fail(CommonStatusConstant.SHOPPINGCART_ERROR);
|
||||||
|
}
|
||||||
|
System.out.println(order);
|
||||||
|
|
||||||
|
User user = userService.getById(id);
|
||||||
|
Integer addressId = order.getAddressId();
|
||||||
|
Address address = addressService.getById(addressId);
|
||||||
|
System.out.println(address);
|
||||||
|
if (address == null){
|
||||||
|
return R.fail(CommonStatusConstant.ADDRESS_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
long orderId = IdWorker.getId();
|
||||||
|
|
||||||
|
AtomicInteger amount = new AtomicInteger(0);
|
||||||
|
|
||||||
|
List<OrderItem> orderItems = shoppingCarts.stream().map((item) -> {
|
||||||
|
OrderItem orderItem = new OrderItem();
|
||||||
|
orderItem.setOrderId(orderId);
|
||||||
|
orderItem.setCount(item.getNumber());
|
||||||
|
orderItem.setDishId(item.getDishId());
|
||||||
|
orderItem.setPrice(item.getAmount());
|
||||||
|
return orderItem;
|
||||||
|
}).toList();
|
||||||
|
|
||||||
|
order.setId(orderId);
|
||||||
|
order.setUserId(id);
|
||||||
|
order.setAddress((address.getProvince() == null ? "" : address.getProvince())
|
||||||
|
+ (address.getCity() == null ? "" : address.getCity())
|
||||||
|
+ (address.getDistrict() == null ? "" : address.getDistrict())
|
||||||
|
+ (address.getDetail() == null ? "" : address.getDetail()));
|
||||||
|
System.out.println(order);
|
||||||
|
boolean save = this.save(order);
|
||||||
|
if (!save){
|
||||||
|
return R.fail(CommonStatusConstant.INSERT_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean b = orderItemService.saveBatch(orderItems);
|
||||||
|
if (!b){
|
||||||
|
return R.fail(CommonStatusConstant.INSERT_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
shoppingCartService.remove(wrapper);
|
||||||
|
|
||||||
|
return R.ok("添加成功");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.example.takeawaysystemserver.entity.Dish;
|
import com.example.takeawaysystemserver.entity.Dish;
|
||||||
import com.example.takeawaysystemserver.entity.DishFlavor;
|
import com.example.takeawaysystemserver.entity.DishFlavor;
|
||||||
import com.example.takeawaysystemserver.entity.Shop;
|
import com.example.takeawaysystemserver.entity.Shop;
|
||||||
|
import com.example.takeawaysystemserver.mapper.DishMapper;
|
||||||
import com.example.takeawaysystemserver.mapper.ShopMapper;
|
import com.example.takeawaysystemserver.mapper.ShopMapper;
|
||||||
|
import com.example.takeawaysystemserver.service.DishService;
|
||||||
import com.example.takeawaysystemserver.service.ShopService;
|
import com.example.takeawaysystemserver.service.ShopService;
|
||||||
import com.example.takeawaysystemserver.util.R;
|
import com.example.takeawaysystemserver.util.R;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -20,6 +23,8 @@ import java.util.List;
|
||||||
@Service
|
@Service
|
||||||
public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop>
|
public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop>
|
||||||
implements ShopService{
|
implements ShopService{
|
||||||
|
@Resource
|
||||||
|
private DishMapper dishMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<List<Shop>> getAllShop() {
|
public R<List<Shop>> getAllShop() {
|
||||||
|
@ -36,6 +41,18 @@ public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop>
|
||||||
}
|
}
|
||||||
return R.ok(dishes);
|
return R.ok(dishes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<List<Shop>> search(String keyword) {
|
||||||
|
List<Shop> shops = baseMapper.searchBykKeyword(keyword);
|
||||||
|
for (Shop s : shops) {
|
||||||
|
List<Dish> dishes = dishMapper.searchByDishKeyword(keyword, s.getId());
|
||||||
|
if (dishes != null){
|
||||||
|
s.setDishes(dishes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.ok(shops);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
||||||
.username(userRegisterDTO.getUsername())
|
.username(userRegisterDTO.getUsername())
|
||||||
.password(password)
|
.password(password)
|
||||||
.phone(userRegisterDTO.getPhone())
|
.phone(userRegisterDTO.getPhone())
|
||||||
.address(userRegisterDTO.getAddress())
|
|
||||||
.status(1)
|
.status(1)
|
||||||
.build();
|
.build();
|
||||||
int insert = baseMapper.insert(user);
|
int insert = baseMapper.insert(user);
|
||||||
|
@ -113,18 +112,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
||||||
return R.fail("修改失败");
|
return R.fail("修改失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public R<String> updateAddress(String token, String address) {
|
|
||||||
Integer id = Integer.parseInt(getUserId(token));
|
|
||||||
LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<User>()
|
|
||||||
.eq(User::getId, id)
|
|
||||||
.set(User::getAddress, address);
|
|
||||||
if (baseMapper.update(wrapper) == 1){
|
|
||||||
return R.ok("修改成功");
|
|
||||||
}
|
|
||||||
return R.fail("修改失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
private Boolean checkUser(UserRegisterDTO userRegisterDTO){
|
private Boolean checkUser(UserRegisterDTO userRegisterDTO){
|
||||||
User user = baseMapper.selectOne(new LambdaQueryWrapper<User>()
|
User user = baseMapper.selectOne(new LambdaQueryWrapper<User>()
|
||||||
.select(User::getUsername)
|
.select(User::getUsername)
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<mapper namespace="com.example.takeawaysystemserver.mapper.DishFlavorMapper">
|
<mapper namespace="com.example.takeawaysystemserver.mapper.DishFlavorMapper">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.DishFlavor">
|
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.DishFlavor">
|
||||||
<id property="id" column="id" jdbcType="VARCHAR"/>
|
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||||
<result property="dishId" column="dish_id" jdbcType="VARCHAR"/>
|
<result property="dishId" column="dish_id" jdbcType="INTEGER"/>
|
||||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||||
<result property="value" column="value" jdbcType="VARCHAR"/>
|
<result property="value" column="value" jdbcType="VARCHAR"/>
|
||||||
<result property="createTime" column="create_time" jdbcType="BIGINT"/>
|
<result property="createTime" column="create_time" jdbcType="BIGINT"/>
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<mapper namespace="com.example.takeawaysystemserver.mapper.DishMapper">
|
<mapper namespace="com.example.takeawaysystemserver.mapper.DishMapper">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.Dish">
|
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.Dish">
|
||||||
<id property="id" column="id" jdbcType="VARCHAR"/>
|
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||||
<result property="shopId" column="shop_id" jdbcType="VARCHAR"/>
|
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
|
||||||
<result property="group" column="group" jdbcType="VARCHAR"/>
|
<result property="group" column="group" jdbcType="VARCHAR"/>
|
||||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||||
<result property="price" column="price" jdbcType="INTEGER"/>
|
<result property="price" column="price" jdbcType="INTEGER"/>
|
||||||
|
@ -19,4 +19,9 @@
|
||||||
name,price,sell_count,
|
name,price,sell_count,
|
||||||
image
|
image
|
||||||
</sql>
|
</sql>
|
||||||
|
<select id="searchByDishKeyword" resultType="com.example.takeawaysystemserver.entity.Dish">
|
||||||
|
select * from dish
|
||||||
|
where shop_id = #{id}
|
||||||
|
and (name like CONCAT('%', #{keyword}, '%') or `group` like CONCAT('%', #{keyword}, '%'))
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
<mapper namespace="com.example.takeawaysystemserver.mapper.OrderItemMapper">
|
<mapper namespace="com.example.takeawaysystemserver.mapper.OrderItemMapper">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.OrderItem">
|
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.OrderItem">
|
||||||
<id property="id" column="id" jdbcType="VARCHAR"/>
|
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||||
<result property="dishId" column="dish_id" jdbcType="VARCHAR"/>
|
<result property="dishId" column="dish_id" jdbcType="INTEGER"/>
|
||||||
<result property="orderId" column="order_id" jdbcType="VARCHAR"/>
|
<result property="orderId" column="order_id" jdbcType="INTEGER"/>
|
||||||
<result property="count" column="count" jdbcType="INTEGER"/>
|
<result property="count" column="count" jdbcType="INTEGER"/>
|
||||||
<result property="price" column="price" jdbcType="INTEGER"/>
|
<result property="price" column="price" jdbcType="INTEGER"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.example.takeawaysystemserver.mapper.OrderMapper">
|
<mapper namespace="com.example.takeawaysystemserver.mapper.OrderMapper">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.Order">
|
<resultMap id="BaseResultMap" type="com.example.takeawaysystemserver.entity.OrderList">
|
||||||
<id property="id" column="id" jdbcType="VARCHAR"/>
|
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||||
<result property="userId" column="user_id" jdbcType="VARCHAR"/>
|
<result property="userId" column="user_id" jdbcType="INTEGER"/>
|
||||||
<result property="shopId" column="shop_id" jdbcType="VARCHAR"/>
|
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
|
||||||
<result property="price" column="price" jdbcType="INTEGER"/>
|
<result property="price" column="price" jdbcType="INTEGER"/>
|
||||||
<result property="status" column="status" jdbcType="INTEGER"/>
|
<result property="status" column="status" jdbcType="INTEGER"/>
|
||||||
<result property="address" column="address" jdbcType="VARCHAR"/>
|
<result property="address" column="address" jdbcType="VARCHAR"/>
|
|
@ -28,4 +28,10 @@
|
||||||
<select id="getShopDishes" resultType="com.example.takeawaysystemserver.entity.Dish">
|
<select id="getShopDishes" resultType="com.example.takeawaysystemserver.entity.Dish">
|
||||||
select * from dish where shop_id = #{id}
|
select * from dish where shop_id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="searchBykKeyword" resultType="com.example.takeawaysystemserver.entity.Shop">
|
||||||
|
select * from shop
|
||||||
|
where name like CONCAT('%', #{keyword}, '%')
|
||||||
|
or sell_count like CONCAT('%', #{keyword}, '%')
|
||||||
|
or address like CONCAT('%', #{keyword}, '%')
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue