添加购物车
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:
|
||||
# 主库数据源
|
||||
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
|
||||
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