后台服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
5.4 KiB

  1. package com.iformall.controller;
  2. import com.github.pagehelper.PageInfo;
  3. import com.iformall.annotation.AuthIgnore;
  4. import com.iformall.common.ErrorCode;
  5. import com.iformall.common.ResultData;
  6. import com.iformall.domain.po.base.BaseEntity;
  7. import com.iformall.domain.po.sm.MaterialMould;
  8. import com.iformall.domain.po.sm.PersonPhoto;
  9. import com.iformall.enums.EnumMouldPatchType;
  10. import com.iformall.enums.EnumMouldSendType;
  11. import com.iformall.enums.EnumaMouldPatchStatus;
  12. import com.iformall.service.sm.MaterialMouldService;
  13. import com.iformall.service.sm.MouldPatchSignService;
  14. import com.iformall.service.sm.PersonPhotoService;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiImplicitParam;
  17. import io.swagger.annotations.ApiImplicitParams;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.apache.commons.lang3.StringUtils;
  20. import org.slf4j.Logger;
  21. import org.slf4j.LoggerFactory;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.util.ObjectUtils;
  24. import org.springframework.web.bind.annotation.*;
  25. @RestController
  26. @RequestMapping("/api/personPhoto")
  27. @Api(description = "模板接口")
  28. public class PersonPhotoController extends BaseController {
  29. private final Logger logger = LoggerFactory.getLogger(this.getClass());
  30. @Autowired
  31. private PersonPhotoService personPhotoService;
  32. @Autowired
  33. private MouldPatchSignService mouldPatchSignService;
  34. @AuthIgnore
  35. @ApiOperation("分页列表接口")
  36. @GetMapping("list")
  37. @ApiImplicitParams({
  38. @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
  39. @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
  40. public ResultData list(@ModelAttribute PersonPhoto record, Integer pageNum, Integer pageSize) {
  41. logger.debug("[" + getIpAddr() + "] PersonPhotoController::list");
  42. if (record == null) record = new PersonPhoto();
  43. record.setStatus(EnumaMouldPatchStatus.put_on.getCode());
  44. record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC);
  45. final PageInfo<PersonPhoto> page = personPhotoService.cListAsPage(record, pageNum, pageSize);
  46. return new ResultData(page);
  47. }
  48. @ApiOperation("分页列表接口")
  49. @GetMapping("userList")
  50. @ApiImplicitParams({
  51. @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
  52. @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
  53. public ResultData userList(@ModelAttribute PersonPhoto record, Integer pageNum, Integer pageSize) {
  54. logger.debug("[" + getIpAddr() + "] PersonPhotoController::userList");
  55. if (record == null) record = new PersonPhoto();
  56. record.setUserId(getMemberId());
  57. record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC);
  58. final PageInfo<PersonPhoto> page = personPhotoService.cListAsPage(record, pageNum, pageSize);
  59. return new ResultData(page);
  60. }
  61. @ApiOperation("新增接口")
  62. @PostMapping("save")
  63. public ResultData save(@RequestBody PersonPhoto record) {
  64. logger.debug("[" + getIpAddr() + "] PersonPhotoController::save");
  65. if(record == null)record = new PersonPhoto();
  66. record.setSendType(EnumMouldSendType.build.getCode());
  67. record.setUserId(getMemberId());
  68. if(StringUtils.isBlank(record.getMaterial())){
  69. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"素材为空");
  70. }
  71. //todo 掉第三方接口判断图片是否符合规范
  72. ResultData data = personPhotoService.checkPhoto(record.getMaterial());
  73. if (data.code != 2000){
  74. return new ResultData(data.code,data.message);
  75. }
  76. if(record.getTitle() == null){
  77. record.setTitle("用户自建");
  78. }
  79. record.setPrice(0);
  80. record.setSalePrice(0);
  81. record.setStatus(EnumaMouldPatchStatus.put_on.getCode());
  82. return personPhotoService.saveOrUpdate(record);
  83. }
  84. @ApiOperation("根据id查询接口")
  85. @GetMapping("/findById")
  86. @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
  87. public ResultData findById(Long id) {
  88. logger.debug("[" + getIpAddr() + "] PersonPhotoController::findById");
  89. PersonPhoto personPhoto = personPhotoService.getDetailById(id);
  90. return new ResultData(personPhoto);
  91. }
  92. @ApiOperation("根据id删除接口")
  93. @GetMapping("/del")
  94. @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
  95. public ResultData del(Long id) {
  96. logger.debug("[" + getIpAddr() + "] PersonPhotoController::del");
  97. if(id == null){
  98. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"参数为空");
  99. }
  100. PersonPhoto personPhoto = personPhotoService.getById(id);
  101. if(personPhoto == null){
  102. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到数据");
  103. }
  104. if(!personPhoto.getUserId().equals(getMemberId())){
  105. return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到用户数据");
  106. }
  107. personPhotoService.deleteById(id);
  108. return new ResultData();
  109. }
  110. }