package com.dgtly.goods.controller; import com.alibaba.fastjson.JSONObject; import com.auth0.jwt.JWT; import com.auth0.jwt.algorithms.Algorithm; import com.dgtly.common.annotation.ApiNoCheckSign; import com.dgtly.common.annotation.ApiPassToken; import com.dgtly.common.core.controller.ApiBaseController; import com.dgtly.common.core.domain.AjaxResult; import com.dgtly.common.core.domain.ParameterObject; import com.dgtly.common.core.domain.ResultType; import com.dgtly.common.core.page.PageDomain; import com.dgtly.common.exception.api.LessParamException; import com.dgtly.goods.domain.GoodsInfo; import com.dgtly.goods.service.IGoodsInfoService; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; import java.util.List; @RestController @RequestMapping("/goods/info") @ApiPassToken/* 不用验证token 方法上可用*/ //@ApiNoCheckSign/* 不用验证 签名 方法上可用*/ public class GoodsInfoController extends ApiBaseController { @Autowired private IGoodsInfoService goodsInfoService; @ApiOperation(value = "商品列表分页") @ApiImplicitParams({ @ApiImplicitParam(name = "params" , paramType = "body"), @ApiImplicitParam(name = "language" , paramType = "header") }) @PostMapping("/page") public Object getPasgeList(){ ParameterObject obj = getParameterObject(); GoodsInfo gi = obj.parseBean(GoodsInfo.class); if(gi==null){ gi = new GoodsInfo(); } if(obj.contaonsKey("orderByColumn")){ if(!obj.contaonsKey("isAsc")){ throw new LessParamException("orderByColumn字段和isAsc字段必须同时存在"); } } startPage(obj);/*向分页传递 分页参数*/ List goodsInfos = goodsInfoService.selectGoodsInfoListInWeb(gi); return AjaxResult.success(getDataTable(goodsInfos)); } @ApiOperation(value = "热门商品列表") @ApiImplicitParams({ @ApiImplicitParam(name = "params" , paramType = "body"), @ApiImplicitParam(name = "language" , paramType = "header") }) @PostMapping("/hotlist") public Object getHotList(){ PageDomain pg1 = new PageDomain(); pg1.setPageNum(1);pg1.setPageSize(4); startPage(pg1); List hotList = goodsInfoService.selectGoodsInfoListInWeb(null); PageDomain pg2 = new PageDomain(); pg2.setPageNum(1);pg2.setPageSize(4); pg2.setOrderByColumn("create_time");pg2.setIsAsc("desc"); startPage(pg2); List newList = goodsInfoService.selectGoodsInfoListInWeb(null); return AjaxResult.success().putKV("hotlist",hotList).putKV("newList",newList); } @ApiOperation(value = "商品详情") @ApiImplicitParam(name = "params" , paramType = "body") @PostMapping("/details") public Object detail(){ ParameterObject obj = getParameterObject(); obj.checkParameterNotNull("id"); Long id = obj.getLong("id"); GoodsInfo goodsInfo = goodsInfoService.selectGoodsInfoById(id); if(goodsInfo!=null){ return AjaxResult.success(goodsInfo); }else{ return AjaxResult.error(ResultType.NUll); } } /** * @descption: 统计平台商品入驻数 * @param: * @return: * @auther: LiuLingChao * @date: 2020-03-11 11:18 */ @PostMapping("/countGoodsInfo") public Object countGoodsInfo(){ int goodsNum = goodsInfoService.countGoodsInfo(); return AjaxResult.success().putKV("goodsNum",goodsNum); } }