Skip to content
在ly-item-interface中新建实体类:com.leyou.item.pojo.SpecParam.java类,代码如下:
==package====com.leyou.item.pojo====;==

==import====lombok.====Data====;==
==import====tk.mybatis.mapper.annotation.====KeySql====;==

==import====javax.persistence.====Column====;==
==import====javax.persistence.====Id====;==
==import====javax.persistence.====Table====;==

==@Table====(====name========="tb_spec_param"====)==
==@Data==
==publicclass====SpecParam{==
==@Id==
==@KeySql====(====useGeneratedKeys=========true====)==
==private====Long====id====;==
==private====Long====cid====;==
==private====Long====groupId====;==
==private====String====name====;==
==@Column====(====name========="`numeric`"====)==
==private====Boolean====numeric====;==
==private====String====unit====;==
==private====Boolean====generic====;==
==private====Boolean====searching====;==
==private====String====segments====;==
==}==

在ly-item-service中新建mapper,com.leyou.item.mapper.SpecParam.java,类型为interface,代码如下:
==package====com.leyou.item.mapper====;==

==import====com.leyou.item.pojo.SpecParam====;==
==import====tk.mybatis.mapper.common.Mapper====;==

==publicinterface====SpecParamMapper====extends====Mapper\<SpecParam\>{==

==}==

再在ly-item-service的SpecificationService中,修改代码如下:
==package====com.leyou.item.service====;==

==import====com.leyou.common.enums.ExceptionEnum====;==
==import====com.leyou.common.exception.LyException====;==
==import====com.leyou.item.mapper.SpecGroupMapper====;==
==import====com.leyou.item.mapper.SpecParamMapper====;==
==import====com.leyou.item.pojo.SpecGroup====;==
==import====com.leyou.item.pojo.SpecParam====;==
==import====org.springframework.beans.factory.annotation.====Autowired====;==
==import====org.springframework.stereotype.====Service====;==
==import====org.springframework.util.CollectionUtils====;==

==import====java.util.List====;==

==@Service==
==publicclass====SpecificationService{==

==@Autowired==
==private====SpecGroupMapper====groupMapper====;==

==@Autowired==
==private====SpecParamMapper====specParamMapper====;==

==public====List\<SpecGroup\>====queryGroupByCid====(Longcid){==
==//====查询条件==
==SpecGroupgroup=====new====SpecGroup()====;==
==group.setCid(cid)====;==
==//====根据实体非空属性查询==
==List\<SpecGroup\>list=====groupMapper====.select(group)====;==
==if====(CollectionUtils.==_isEmpty_==(list)){==
==//====没查到==
==thrownew====LyException(ExceptionEnum.==_SPEC_GROUP_NOT_FOUND_==)====;==
==}==
==return====list====;==
==}==

==public====List\<SpecParam\>====queryParamByGid====(Longgid){==
==SpecParamparam=====new====SpecParam()====;==
==param.setGroupId(gid)====;==
==List\<SpecParam\>list=====specParamMapper====.select(param)====;==
==if====(CollectionUtils.==_isEmpty_==(list)){==
==//====没查到==
==thrownew====LyException(ExceptionEnum.==_SPEC_PARAM_NOT_FOUND_==)====;==
==}==
==return====list====;==
==}==
==}==

在ly-item-service中修改SpecificationContoller.java类,代码如下:
==package====com.leyou.item.web====;==

==import====com.leyou.item.pojo.SpecGroup====;==
==import====com.leyou.item.pojo.SpecParam====;==
==import====com.leyou.item.service.SpecificationService====;==
==import====org.springframework.beans.factory.annotation.====Autowired====;==
==import====org.springframework.http.ResponseEntity====;==
==import====org.springframework.web.bind.annotation.*====;==

==import====java.util.List====;==

==@RestController==
==@RequestMapping====(===="spec"====)==
==publicclass====SpecificationController{==

==@Autowired==
==private====SpecificationService====specificationService====;==

_/**_
_*__根据分类__id__查询规格组_
_*_**@param**_cid_
_*_**@return**
_*/_
==@GetMapping====(===="groups/{cid}"====)==
==public====ResponseEntity\<List\<SpecGroup\>\>====queryGroupByCid====(====@PathVariable====(===="cid"====)Longcid){==
==return====ResponseEntity.==_ok_==(====specificationService====.queryGroupByCid(cid))====;==
==}==

==@GetMapping====(===="params"====)==
==public====ResponseEntity\<List\<SpecParam\>\>====queryParamByGid====(====@RequestParam====(===="gid"====)Longgid){==
==return====ResponseEntity.==_ok_==(====specificationService====.queryParamByGid(gid))====;==
==}==
==}==

==新建一个异常枚举==
==package====com.leyou.common.enums====;==

==import====lombok.====AllArgsConstructor====;==
==import====lombok.====Getter====;==
==import====lombok.====NoArgsConstructor====;==

==//====只提供====getter====方法==
==//====枚举只有具体个数的实例==
==//====枚举的构造函数都是私有的==
==//====构造函数用,分隔,最后必须====;====结尾==
==@Getter==
==@NoArgsConstructor==
==@AllArgsConstructor==
==publicenum====ExceptionEnum{==
==//====等同于创建一个实例==
_PRICE_CANNOT_BE_NULL_==(====400====,===="====价格不能为空===="====)====,==
_CATEGORY_NOT_FOUND_==(====404====,===="====当前分类无子类===="====)====,==
_SPEC_GROUP_NOT_FOUND_==(====404====,===="====商品规格组不存在===="====)====,==
_SPEC_PARAM_NOT_FOUND_==(====404====,===="====商品规格参数不存在===="====)====,==
==;==

==privateint====code====;==
==private====String====msg====;==
==}==

本站总访问 — 次