添加购物车
This commit is contained in:
parent
f68107920d
commit
727bf63f01
2235
sql/all.sql
2235
sql/all.sql
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,46 @@
|
|||||||
|
package com.waimai.api;
|
||||||
|
|
||||||
|
import com.waimai.common.annotation.Anonymous;
|
||||||
|
import com.waimai.common.core.domain.R;
|
||||||
|
import com.waimai.web.admin.domain.Carts;
|
||||||
|
import com.waimai.web.admin.service.ICartsService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/carts")
|
||||||
|
@Anonymous
|
||||||
|
public class CartsController {
|
||||||
|
private static long uid = 1;
|
||||||
|
@Autowired
|
||||||
|
private ICartsService cartsService;
|
||||||
|
|
||||||
|
@GetMapping("/list")
|
||||||
|
public R<List<Carts>> selectList() {
|
||||||
|
Carts c = new Carts();
|
||||||
|
c.setUid(uid);
|
||||||
|
List<Carts> carts = cartsService.selectCartsList(c);
|
||||||
|
return R.ok(carts);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping
|
||||||
|
public R addToCart(@RequestBody Carts carts) {
|
||||||
|
Carts c = new Carts();
|
||||||
|
c.setUid(uid);
|
||||||
|
c.setFid(carts.getFid());
|
||||||
|
Carts cs = cartsService.selectCartsById(carts.getFid(), uid);
|
||||||
|
if (cs == null) {
|
||||||
|
carts.setUid(uid);
|
||||||
|
cartsService.insertCarts(carts);
|
||||||
|
} else {
|
||||||
|
// 数量加1
|
||||||
|
carts.setCount(
|
||||||
|
carts.getCount() + cs.getCount()
|
||||||
|
);
|
||||||
|
cartsService.updateCarts(carts);
|
||||||
|
}
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,109 @@
|
|||||||
|
package com.waimai.web.admin.domain;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
import com.waimai.common.annotation.Excel;
|
||||||
|
import com.waimai.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* carts对象 carts
|
||||||
|
*
|
||||||
|
* @author callmeyan
|
||||||
|
* @date 2023-04-07
|
||||||
|
*/
|
||||||
|
public class Carts extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** $column.columnComment */
|
||||||
|
private Long fid;
|
||||||
|
|
||||||
|
/** $column.columnComment */
|
||||||
|
private Long uid;
|
||||||
|
|
||||||
|
private String foodsCover;
|
||||||
|
private String foodsTitle;
|
||||||
|
private Integer foodPrice;
|
||||||
|
|
||||||
|
/** $column.columnComment */
|
||||||
|
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||||
|
private Long count;
|
||||||
|
|
||||||
|
/** 状态 */
|
||||||
|
@Excel(name = "状态")
|
||||||
|
private Integer state;
|
||||||
|
|
||||||
|
public void setFid(Long fid)
|
||||||
|
{
|
||||||
|
this.fid = fid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getFid()
|
||||||
|
{
|
||||||
|
return fid;
|
||||||
|
}
|
||||||
|
public void setUid(Long uid)
|
||||||
|
{
|
||||||
|
this.uid = uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUid()
|
||||||
|
{
|
||||||
|
return uid;
|
||||||
|
}
|
||||||
|
public void setCount(Long count)
|
||||||
|
{
|
||||||
|
this.count = count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCount()
|
||||||
|
{
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
public void setState(Integer state)
|
||||||
|
{
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getState()
|
||||||
|
{
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
.append("fid", getFid())
|
||||||
|
.append("uid", getUid())
|
||||||
|
.append("count", getCount())
|
||||||
|
.append("createTime", getCreateTime())
|
||||||
|
.append("updateTime", getUpdateTime())
|
||||||
|
.append("state", getState())
|
||||||
|
.append("remark", getRemark())
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFoodsCover() {
|
||||||
|
return foodsCover;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFoodsCover(String foodsCover) {
|
||||||
|
this.foodsCover = foodsCover;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFoodsTitle() {
|
||||||
|
return foodsTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFoodsTitle(String foodsTitle) {
|
||||||
|
this.foodsTitle = foodsTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getFoodPrice() {
|
||||||
|
return foodPrice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFoodPrice(Integer foodPrice) {
|
||||||
|
this.foodPrice = foodPrice;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
package com.waimai.web.admin.mapper;
|
||||||
|
|
||||||
|
import com.waimai.web.admin.domain.Carts;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cartsMapper接口
|
||||||
|
*
|
||||||
|
* @author callmeyan
|
||||||
|
* @date 2023-04-07
|
||||||
|
*/
|
||||||
|
public interface CartsMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询carts
|
||||||
|
*
|
||||||
|
* @param fid carts主键
|
||||||
|
* @return carts
|
||||||
|
*/
|
||||||
|
public Carts selectCartsById(@Param("fid") Long fid,@Param("uid") Long uid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询carts列表
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return carts集合
|
||||||
|
*/
|
||||||
|
public List<Carts> selectCartsList(Carts carts);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增carts
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertCarts(Carts carts);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改carts
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateCarts(Carts carts);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除carts
|
||||||
|
*
|
||||||
|
* @param fid carts主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteCartsByFid(Long fid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除carts
|
||||||
|
*
|
||||||
|
* @param fids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteCartsByFids(Long[] fids);
|
||||||
|
}
|
@ -0,0 +1,62 @@
|
|||||||
|
package com.waimai.web.admin.service;
|
||||||
|
|
||||||
|
import com.waimai.web.admin.domain.Carts;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cartsService接口
|
||||||
|
*
|
||||||
|
* @author callmeyan
|
||||||
|
* @date 2023-04-07
|
||||||
|
*/
|
||||||
|
public interface ICartsService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询carts
|
||||||
|
*
|
||||||
|
* @param fid carts主键
|
||||||
|
* @return carts
|
||||||
|
*/
|
||||||
|
public Carts selectCartsById(Long fid,Long uid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询carts列表
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return carts集合
|
||||||
|
*/
|
||||||
|
public List<Carts> selectCartsList(Carts carts);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增carts
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertCarts(Carts carts);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改carts
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateCarts(Carts carts);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除carts
|
||||||
|
*
|
||||||
|
* @param fids 需要删除的carts主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteCartsByFids(Long[] fids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除carts信息
|
||||||
|
*
|
||||||
|
* @param fid carts主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteCartsByFid(Long fid);
|
||||||
|
}
|
@ -0,0 +1,98 @@
|
|||||||
|
package com.waimai.web.admin.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.waimai.common.utils.DateUtils;
|
||||||
|
import com.waimai.web.admin.domain.Carts;
|
||||||
|
import com.waimai.web.admin.mapper.CartsMapper;
|
||||||
|
import com.waimai.web.admin.service.ICartsService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cartsService业务层处理
|
||||||
|
*
|
||||||
|
* @author callmeyan
|
||||||
|
* @date 2023-04-07
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CartsServiceImpl implements ICartsService
|
||||||
|
{
|
||||||
|
@Resource
|
||||||
|
private CartsMapper cartsMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询carts
|
||||||
|
*
|
||||||
|
* @param fid carts主键
|
||||||
|
* @return carts
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Carts selectCartsById(Long fid,Long uid)
|
||||||
|
{
|
||||||
|
return cartsMapper.selectCartsById(fid,uid);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询carts列表
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return carts
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Carts> selectCartsList(Carts carts)
|
||||||
|
{
|
||||||
|
return cartsMapper.selectCartsList(carts);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增carts
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertCarts(Carts carts)
|
||||||
|
{
|
||||||
|
carts.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return cartsMapper.insertCarts(carts);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改carts
|
||||||
|
*
|
||||||
|
* @param carts carts
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateCarts(Carts carts)
|
||||||
|
{
|
||||||
|
carts.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
return cartsMapper.updateCarts(carts);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除carts
|
||||||
|
*
|
||||||
|
* @param fids 需要删除的carts主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteCartsByFids(Long[] fids)
|
||||||
|
{
|
||||||
|
return cartsMapper.deleteCartsByFids(fids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除carts信息
|
||||||
|
*
|
||||||
|
* @param fid carts主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteCartsByFid(Long fid)
|
||||||
|
{
|
||||||
|
return cartsMapper.deleteCartsByFid(fid);
|
||||||
|
}
|
||||||
|
}
|
@ -6,7 +6,7 @@ spring:
|
|||||||
druid:
|
druid:
|
||||||
# 主库数据源
|
# 主库数据源
|
||||||
master:
|
master:
|
||||||
url: jdbc:mysql://localhost:3307/waimai_sys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
url: jdbc:mysql://localhost:3307/waimai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
username: root
|
username: root
|
||||||
password: 123456
|
password: 123456
|
||||||
# 从库数据源
|
# 从库数据源
|
||||||
|
88
waimai-admin/src/main/resources/mapper/admin/CartsMapper.xml
Normal file
88
waimai-admin/src/main/resources/mapper/admin/CartsMapper.xml
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.waimai.web.admin.mapper.CartsMapper">
|
||||||
|
|
||||||
|
<resultMap type="Carts" id="CartsResult">
|
||||||
|
<result property="fid" column="fid"/>
|
||||||
|
<result property="uid" column="uid"/>
|
||||||
|
<result property="foodsTitle" column="foodsTitle"/>
|
||||||
|
<result property="foodsCover" column="foodsCover"/>
|
||||||
|
<result property="foodPrice" column="foodPrice"/>
|
||||||
|
<result property="count" column="count"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
<result property="state" column="state"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectCartsVo">
|
||||||
|
select
|
||||||
|
fid, uid, count, c.create_time, c.update_time, c.state, c.remark,
|
||||||
|
f.title as foodsTitle,f.cover as foodsCover,f.price as foodPrice
|
||||||
|
from carts c, food f
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectCartsList" parameterType="Carts" resultMap="CartsResult">
|
||||||
|
<include refid="selectCartsVo"/>
|
||||||
|
<where>
|
||||||
|
c.fid = f.id
|
||||||
|
<if test="count != null ">and count = #{count}</if>
|
||||||
|
<if test="state != null ">and state = #{state}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectCartsById" resultMap="CartsResult">
|
||||||
|
<include refid="selectCartsVo"/>
|
||||||
|
where c.fid = f.id and fid = #{fid} and uid = #{uid}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertCarts" parameterType="Carts">
|
||||||
|
insert into carts
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="fid != null">fid,</if>
|
||||||
|
<if test="uid != null">uid,</if>
|
||||||
|
<if test="count != null">count,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
<if test="state != null">state,</if>
|
||||||
|
<if test="remark != null">remark,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="fid != null">#{fid},</if>
|
||||||
|
<if test="uid != null">#{uid},</if>
|
||||||
|
<if test="count != null">#{count},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
<if test="state != null">#{state},</if>
|
||||||
|
<if test="remark != null">#{remark},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateCarts" parameterType="Carts">
|
||||||
|
update carts
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="uid != null">uid = #{uid},</if>
|
||||||
|
<if test="count != null">count = #{count},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
<if test="state != null">state = #{state},</if>
|
||||||
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
|
</trim>
|
||||||
|
where fid = #{fid}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteCartsByFid" parameterType="Long">
|
||||||
|
delete
|
||||||
|
from carts
|
||||||
|
where fid = #{fid}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteCartsByFids" parameterType="String">
|
||||||
|
delete from carts where fid in
|
||||||
|
<foreach item="fid" collection="array" open="(" separator="," close=")">
|
||||||
|
#{fid}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
Loading…
x
Reference in New Issue
Block a user