GoodsInfoController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.dgtly.goods.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.auth0.jwt.JWT;
  4. import com.auth0.jwt.algorithms.Algorithm;
  5. import com.dgtly.common.annotation.ApiNoCheckSign;
  6. import com.dgtly.common.annotation.ApiPassToken;
  7. import com.dgtly.common.core.controller.ApiBaseController;
  8. import com.dgtly.common.core.domain.AjaxResult;
  9. import com.dgtly.common.core.domain.ParameterObject;
  10. import com.dgtly.common.core.domain.ResultType;
  11. import com.dgtly.common.core.page.PageDomain;
  12. import com.dgtly.common.exception.api.LessParamException;
  13. import com.dgtly.goods.domain.GoodsInfo;
  14. import com.dgtly.goods.service.IGoodsInfoService;
  15. import io.swagger.annotations.*;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.PostMapping;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RestController;
  20. import java.util.Date;
  21. import java.util.List;
  22. @RestController
  23. @RequestMapping("/goods/info")
  24. @ApiPassToken/* 不用验证token 方法上可用*/
  25. //@ApiNoCheckSign/* 不用验证 签名 方法上可用*/
  26. public class GoodsInfoController extends ApiBaseController {
  27. @Autowired
  28. private IGoodsInfoService goodsInfoService;
  29. @ApiOperation(value = "商品列表分页")
  30. @ApiImplicitParams({
  31. @ApiImplicitParam(name = "params" , paramType = "body"),
  32. @ApiImplicitParam(name = "language" , paramType = "header")
  33. })
  34. @PostMapping("/page")
  35. public Object getPasgeList(){
  36. ParameterObject obj = getParameterObject();
  37. GoodsInfo gi = obj.parseBean(GoodsInfo.class);
  38. if(gi==null){
  39. gi = new GoodsInfo();
  40. }
  41. if(obj.contaonsKey("orderByColumn")){
  42. if(!obj.contaonsKey("isAsc")){
  43. throw new LessParamException("orderByColumn字段和isAsc字段必须同时存在");
  44. }
  45. }
  46. startPage(obj);/*向分页传递 分页参数*/
  47. List<GoodsInfo> goodsInfos = goodsInfoService.selectGoodsInfoListInWeb(gi);
  48. return AjaxResult.success(getDataTable(goodsInfos));
  49. }
  50. @ApiOperation(value = "热门商品列表")
  51. @ApiImplicitParams({
  52. @ApiImplicitParam(name = "params" , paramType = "body"),
  53. @ApiImplicitParam(name = "language" , paramType = "header")
  54. })
  55. @PostMapping("/hotlist")
  56. public Object getHotList(){
  57. PageDomain pg1 = new PageDomain();
  58. pg1.setPageNum(1);pg1.setPageSize(4);
  59. startPage(pg1);
  60. List<GoodsInfo> hotList = goodsInfoService.selectGoodsInfoListInWeb(null);
  61. PageDomain pg2 = new PageDomain();
  62. pg2.setPageNum(1);pg2.setPageSize(4);
  63. pg2.setOrderByColumn("create_time");pg2.setIsAsc("desc");
  64. startPage(pg2);
  65. List<GoodsInfo> newList = goodsInfoService.selectGoodsInfoListInWeb(null);
  66. return AjaxResult.success().putKV("hotlist",hotList).putKV("newList",newList);
  67. }
  68. @ApiOperation(value = "商品详情")
  69. @ApiImplicitParam(name = "params" , paramType = "body")
  70. @PostMapping("/details")
  71. public Object detail(){
  72. ParameterObject obj = getParameterObject();
  73. obj.checkParameterNotNull("id");
  74. Long id = obj.getLong("id");
  75. GoodsInfo goodsInfo = goodsInfoService.selectGoodsInfoById(id);
  76. if(goodsInfo!=null){
  77. return AjaxResult.success(goodsInfo);
  78. }else{
  79. return AjaxResult.error(ResultType.NUll);
  80. }
  81. }
  82. /**
  83. * @descption: 统计平台商品入驻数
  84. * @param:
  85. * @return:
  86. * @auther: LiuLingChao
  87. * @date: 2020-03-11 11:18
  88. */
  89. @PostMapping("/countGoodsInfo")
  90. public Object countGoodsInfo(){
  91. int goodsNum = goodsInfoService.countGoodsInfo();
  92. return AjaxResult.success().putKV("goodsNum",goodsNum);
  93. }
  94. }