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.
 
 
 
 
 

126 lines
4.8 KiB

  1. package com.simple.controller;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.apache.commons.lang3.StringUtils;
  5. import org.apache.log4j.Logger;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.ModelAttribute;
  9. import org.springframework.web.bind.annotation.PostMapping;
  10. import org.springframework.web.bind.annotation.RequestBody;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RestController;
  13. import com.alibaba.fastjson.JSON;
  14. import com.alibaba.fastjson.JSONObject;
  15. import com.github.pagehelper.PageInfo;
  16. import com.simple.common.Result;
  17. import com.simple.common.ResultData;
  18. import com.simple.domain.po.WxCUserBasicInfo;
  19. import com.simple.domain.po.WxCUserTags;
  20. import com.simple.domain.po.WxTags;
  21. import com.simple.service.WxCUserBasicInfoService;
  22. import com.simple.service.WxCUserTagsService;
  23. import com.simple.service.WxTagsService;
  24. import io.swagger.annotations.Api;
  25. import io.swagger.annotations.ApiImplicitParam;
  26. import io.swagger.annotations.ApiImplicitParams;
  27. import io.swagger.annotations.ApiOperation;
  28. @RestController
  29. @RequestMapping("wxCUserBasicInfo")
  30. @Api(description="会员管理相关接口")
  31. public class WxCUserBasicInfoController extends BaseController
  32. {
  33. @Autowired
  34. private WxCUserBasicInfoService wxCUserBasicInfoService;
  35. @Autowired
  36. private WxCUserTagsService wxCUserTagsService;
  37. @Autowired
  38. private WxTagsService wxTagsService;
  39. private Logger logger = Logger.getLogger(WxCUserBasicInfoController.class);
  40. @ApiOperation("分页列表接口")
  41. @GetMapping("list")
  42. @ApiImplicitParams({
  43. @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true),
  44. @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)})
  45. public ResultData list(@ModelAttribute WxCUserBasicInfo wxCUserBasicInfo,Integer pageNum, Integer pageSize) {
  46. if (null == wxCUserBasicInfo) wxCUserBasicInfo = new WxCUserBasicInfo();
  47. wxCUserBasicInfo.setTenantId(getTenantId());
  48. final PageInfo<WxCUserBasicInfo> page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize);
  49. return new ResultData(page);
  50. }
  51. // @ApiOperation("新增接口")
  52. // @PostMapping("add")
  53. // public ResultData add(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) {
  54. // //Assert.notNull(wxCUserBasicInfo.getName(), "角色名不能为空");
  55. // //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
  56. // wxCUserBasicInfoService.saveOrUpdate(wxCUserBasicInfo);
  57. // return new ResultData();
  58. // }
  59. @ApiOperation("根据id更新接口")
  60. @PostMapping("update")
  61. public ResultData update(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) {
  62. wxCUserBasicInfo.setTenantId(getTenantId());
  63. if(StringUtils.isNotBlank(wxCUserBasicInfo.getTags())) {
  64. WxCUserTags record =new WxCUserTags();
  65. record.setUserId(wxCUserBasicInfo.getcUserId());
  66. record.setTenantId(getTenantId());
  67. PageInfo<WxCUserTags> page = wxCUserTagsService.listAsPage(record, 1, 1);
  68. if(page.getSize()>0) {
  69. WxCUserTags t = page.getList().get(0);
  70. record.setId(t.getId());
  71. }
  72. String tags = wxCUserBasicInfo.getTags();
  73. List<Long> tagIdList = new ArrayList<>();
  74. for(String t:tags.split(",")) {
  75. tagIdList.add(Long.valueOf(t));
  76. }
  77. record.setTags(JSON.toJSONString(tagIdList));
  78. wxCUserTagsService.saveOrUpdate(record);
  79. wxCUserBasicInfo.setTagId(record.getId());
  80. }
  81. wxCUserBasicInfoService.saveOrUpdate(wxCUserBasicInfo);
  82. return new ResultData();
  83. }
  84. @ApiOperation("根据id删除接口")
  85. @GetMapping("/del")
  86. @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
  87. public ResultData delete(Long id) {
  88. wxCUserBasicInfoService.deleteById(id);
  89. return new ResultData(Result.SUCCESS, "删除成功", null);
  90. }
  91. @ApiOperation("根据id查询接口")
  92. @GetMapping("/findById")
  93. @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
  94. public ResultData findById(Long id) {
  95. WxCUserBasicInfo info = wxCUserBasicInfoService.getById(id);
  96. if(info.getTagId()!=null) {
  97. WxCUserTags uTag = wxCUserTagsService.getById(id);
  98. if(StringUtils.isNotBlank(uTag.getTags())) {
  99. List<Long> ids = JSONObject.parseArray(uTag.getTags(),Long.class);
  100. WxTags wxTags =new WxTags();
  101. wxTags.setIds(ids);
  102. PageInfo<WxTags> page = wxTagsService.listAsPage(wxTags, 1, 5000);
  103. if(page.getSize()>0) {
  104. info.setTagList(page.getList());
  105. }
  106. }
  107. }
  108. return new ResultData(Result.SUCCESS,"查询成功",info);
  109. }
  110. }