《锋迷商城》系列项目
链接: 《一》 项目搭建
链接: 《二》数据库的创建
链接: 《三》业务流程设计
链接: 《四》业务流程实现:用户管理
链接: 《五》逆向工程
链接: 《六》用户认证
文章目录
十七、购物车-结算 提交订单
在购物车列表中选择对应的商品之后,点击提交生成订单的过程
17.1 流程分析
17.2 接口开发
17.2.1 收货地址列表接口
数据库和DAO层实现
根据tkMapper实现
业务层实现
public interface UserAddrService {
ResultVO listAddrsById(int userId);
}
----------------------------------
@Service
public class UserAddrServiceImpl implements UserAddrService {
@Autowired
private UserAddrMapper userAddrMapper;
@Override
public ResultVO listAddrsById(int userId) {
Example example = new Example(UserAddr.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userId",userId);
criteria.andEqualTo("status",1);
List<UserAddr> userAddrs = userAddrMapper.selectByExample(example);
ResultVO resultVO = new ResultVO(ResStatus.OK, "success", userAddrs);
return resultVO;
}
}
控制层实现
@RestController
@Api(value = "提供收货地址相关接口",tags = "收获地址管理")
@CrossOrigin
@RequestMapping("/useraddr")
public class UserAddrController {
@Autowired
private UserAddrService userAddrService;
@GetMapping("/list")
public ResultVO isAddr(Integer userId, @RequestHeader("token") String token){
return userAddrService.listAddrsById(userId);
}
}
17.2.1 购物车记录列表接口
数据库和DAO层实现
在ShoppingCartMapper 接口中添加
List<ShoppingCartVO> selectShopcartByCids(List<Integer> cids);
mapper.xml映射配置
<select id="selectShopcartByCids" resultMap="ShoppingCartVOMap">
SELECT
c.cart_id,
c.product_id,
c.sku_id,
c.user_id,
c.cart_num,
c.cart_time,
c.product_price,
c.sku_props,
p.product_name,
i.url,
s.original_price,
s.sell_price,
s.sku_name
FROM shopping_cart c
INNER JOIN product p
on c.product_id=p.product_id
INNER JOIN product_img i
on i.item_id=p.product_id
INNER JOIN product_sku s
on c.sku_id=s.sku_id
WHERE i.is_main=1 and c.cart_id in
<foreach collection="cids" item="cid" separator="," open="(" close=")">
#{cid}
</foreach>
</select>
业务层实现
在ShoppingCartService接口中添加
ResultVO listSoopingCahrtByCids(String cids);
---------------------------------------------
@Override
public ResultVO listSoopingCahrtByCids(String cids) {
String[] arr = cids.split(",");
List<Integer> list = new ArrayList<>();
for (String s : arr) {
list.add(Integer.parseInt(s));
}
List<ShoppingCartVO> shoppingCartVOS = shoppingCartMapper.selectShopcartByCids(list);
ResultVO resultVO = new ResultVO(ResStatus.OK, "success", shoppingCartVOS);
return resultVO;
}
控制层实现
在shopcartController中添加
@ApiOperation("根据Cid查询购物车")
@GetMapping("/listbycids")
public ResultVO listByCids( String cids, @RequestHeader("token") String token) {
return shoppingCartService.listSoopingCahrtByCids(cids);
}