在购物车列表中选择对应的商品之后,点击提交生成订单的过程
流程图:接口实现:
收货地址列表接口:
此操作的数据库实现可以通过tkMapper通过方法完成
service接口:
package com.qfedu.fmmall.service;
import com.qfedu.fmmall.vo.R;
public interface UserAddrService {
public R listAddrByUid(int userId);
}
service实现类:
package com.qfedu.fmmall.service.impl;
import com.qfedu.fmmall.dao.UserAddrMapper;
import com.qfedu.fmmall.entity.UserAddr;
import com.qfedu.fmmall.service.UserAddrService;
import com.qfedu.fmmall.vo.R;
import com.qfedu.fmmall.vo.ResStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
public class UserAddrServiceImpl implements UserAddrService {
@Autowired
private UserAddrMapper userAddrMapper;
@Transactional(propagation = Propagation.SUPPORTS)
public R listAddrByUid(int userId) {
Example example = new Example(UserAddrMapper.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userId",userId);
criteria.andEqualTo("status",1);
List userAddrs = userAddrMapper.selectByExample(example);
R r = new R(ResStatus.OK, "success", userAddrs);
return r;
}
}
controller:
package com.qfedu.controller;
import com.qfedu.fmmall.service.UserAddrService;
import com.qfedu.fmmall.vo.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@CrossOrigin
@RequestMapping("/userAddr")
public class UserAddrController {
@Autowired
private UserAddrService userAddrService;
@GetMapping("/login")
public R listAddr(Integer userId, @RequestHeader("token") String token){
R r = userAddrService.listAddrByUid(userId);
return r;
}
}
购物车记录列表接口:
根据一个id的集合,查询购物车记录:
Mapper接口定义查询方法:
映射配置:
service接口:
service实现类:
使String变成集合
@Override
public R listShoppingCartsByCids(String cids) {
String[] arr = cids.split(",");
List cardIds = new ArrayList<>();
for(int i=0;i< arr.length;i++){
cardIds.add(Integer.parseInt(arr[i]));
}
List list = shoppingCartMapper.selectShopCartByCids(cardIds);
R r = new R(ResStatus.OK, "success", list);
return r;
}
controller:
@GetMapping("/listByCids")
public R listByCids(String cids, @RequestHeader("token")String token){
R r = shoppingCartService.listShoppingCartsByCids(cids);//需用逗号隔开
return r;
}
下一章订单提交及支付.............



