一.业务代码
1.控制层
(1).GoodsController
package com.ccm.server.goods.controller;
import com.ccm.common.exception.result.ResultSet;
import com.ccm.server.goods.controller.req.ReduceStockReq;
import com.ccm.server.goods.dao.mysql.domain.GoodsSku;
import com.ccm.server.goods.service.GoodsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.Size;
import java.util.List;
/**
* @Description 商品控制层
* @Author ccm
* @CreateTime 2020/08/13 14:46
*/
@Api(tags = "商品控制层")
@RestController
@RequestMapping(value = "goods")
@Validated
public class GoodsController {
@Autowired
private GoodsService goodsService;
@ApiOperation(value = "根据id获取sku")
@GetMapping(value = "selectByIdList")
public ResultSet<List<GoodsSku>> selectByIdList(@RequestParam List<Long> idList) {
List<GoodsSku> goodsSkuList = goodsService.selectByIdList(idList);
return ResultSet.success(goodsSkuList);
}
}
2.业务层
(1).GoodsService
package com.ccm.server.goods.service;
import com.ccm.server.goods.controller.req.ReduceStockReq;
import com.ccm.server.goods.dao.mysql.domain.GoodsSku;
import java.util.List;
/**
* @Description 商品业务层
* @Author ccm
* @CreateTime 2020/08/13 14:52
*/
public interface GoodsService {
/**
* @Description 根据商品id获取商品信息
* @Author zhouzhiwu
* @CreateTime 2020/8/18 16:30
* @Params [idList]
* @Return java.util.List<com.ccm.server.goods.dao.mysql.domain.GoodsSku>
*/
List<GoodsSku> selectByIdList(List<Long> idList);
}
(2).GoodsServiceImpl
package com.ccm.server.goods.service.impl;
import com.ccm.common.exception.CustomerException;
import com.ccm.server.goods.controller.req.ReduceStockReq;
import com.ccm.server.goods.dao.mysql.domain.GoodsSku;
import com.ccm.server.goods.dao.mysql.mapper.GoodsSkuMapper;
import com.ccm.server.goods.service.GoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Description 商品业务层实现
* @Author ccm
* @CreateTime 2020/08/13 14:53
*/
@Service
public class GoodsServiceImpl implements GoodsService {
@Autowired
private GoodsSkuMapper goodsSkuMapper;
@Override
public List<GoodsSku> selectByIdList(List<Long> idList) {
return goodsSkuMapper.selectByIdList(idList);
}
}
3.持久层
(1).GoodsSkuMapper
package com.ccm.server.goods.dao.mysql.mapper;
import com.ccm.server.goods.dao.mysql.domain.GoodsSku;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description goods_sku表操作mapper
* @Author ccm
* @CreateTime 2020/08/13 10:12
*/
public interface GoodsSkuMapper {
List<GoodsSku> selectByIdList(@Param("idList") List<Long> idList);
}
(2).GoodsSkuMapper.xml
<?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.ccm.server.goods.dao.mysql.mapper.GoodsSkuMapper" >
<select id="selectByIdList" resultType="com.ccm.server.goods.dao.mysql.domain.GoodsSku">
select * from goods_sku where id in
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>
二.测试
1.启动gateway网关、server-user服务和server-goods服务
2.打开gateway的swagger界面
3.接口测试
测试成功!
您的点赞、收藏、转发和关注是我持续创作的动力!
源码地址:https://gitee.com/chouchimoo/ccm-mall.git(本章节代码分支:zj-31)