GoodsInfoController.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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.exception.api.LessParamException;
  12. import com.dgtly.goods.domain.GoodsInfo;
  13. import com.dgtly.goods.service.IGoodsInfoService;
  14. import io.swagger.annotations.ApiImplicitParam;
  15. import io.swagger.annotations.ApiOperation;
  16. import io.swagger.annotations.Example;
  17. import io.swagger.annotations.ExampleProperty;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.PostMapping;
  20. import org.springframework.web.bind.annotation.RequestMapping;
  21. import org.springframework.web.bind.annotation.RestController;
  22. import java.util.Date;
  23. import java.util.List;
  24. @RestController
  25. @RequestMapping("/goods/info")
  26. @ApiPassToken/* 不用验证token 方法上可用*/
  27. //@ApiNoCheckSign/* 不用验证 签名 方法上可用*/
  28. public class GoodsInfoController extends ApiBaseController {
  29. @Autowired
  30. private IGoodsInfoService goodsInfoService;
  31. @ApiOperation(value = "商品列表分页")
  32. @ApiImplicitParam(name = "params" , paramType = "body")
  33. @PostMapping("/page")
  34. public Object getPasgeList(){
  35. ParameterObject obj = getParameterObject();
  36. GoodsInfo gi = obj.parseBean(GoodsInfo.class);
  37. if(gi==null){
  38. gi = new GoodsInfo();
  39. }
  40. if(obj.contaonsKey("orderByColumn")){
  41. if(!obj.contaonsKey("isAsc")){
  42. throw new LessParamException("orderByColumn字段和isAsc字段必须同时存在");
  43. }
  44. }
  45. startPage(obj);/*向分页传递 分页参数*/
  46. List<GoodsInfo> goodsInfos = goodsInfoService.selectGoodsInfoListInWeb(gi);
  47. return AjaxResult.success(getDataTable(goodsInfos));
  48. }
  49. @ApiOperation(value = "热门商品列表")
  50. @ApiImplicitParam(name = "params" , paramType = "body")
  51. @PostMapping("/hotlist")
  52. public Object getHotList(){
  53. List<GoodsInfo> goodsInfos = goodsInfoService.selectGoodsInfoHotList();
  54. return AjaxResult.success().putKV("list",goodsInfos);
  55. }
  56. @ApiOperation(value = "商品详情")
  57. @ApiImplicitParam(name = "params" , paramType = "body")
  58. @PostMapping("/details")
  59. public Object detail(){
  60. ParameterObject obj = getParameterObject();
  61. obj.checkParameterNotNull("id");
  62. Long id = obj.getLong("id");
  63. GoodsInfo goodsInfo = goodsInfoService.selectGoodsInfoById(id);
  64. if(goodsInfo!=null){
  65. return AjaxResult.success(goodsInfo);
  66. }else{
  67. return AjaxResult.error(ResultType.NUll);
  68. }
  69. }
  70. }