package com.simple.controller; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.WxCUserBasicInfo; import com.simple.domain.po.WxCUserTags; import com.simple.domain.po.WxTags; import com.simple.service.WxCUserBasicInfoService; import com.simple.service.WxCUserTagsService; import com.simple.service.WxTagsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @RestController @RequestMapping("wxCUserBasicInfo") @Api(description="会员管理相关接口") public class WxCUserBasicInfoController extends BaseController { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; @Autowired private WxCUserTagsService wxCUserTagsService; @Autowired private WxTagsService wxTagsService; private Logger logger = Logger.getLogger(WxCUserBasicInfoController.class); @ApiOperation("分页列表接口") @GetMapping("list") @ApiImplicitParams({ @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) public ResultData list(@ModelAttribute WxCUserBasicInfo wxCUserBasicInfo,Integer pageNum, Integer pageSize) { if (null == wxCUserBasicInfo) wxCUserBasicInfo = new WxCUserBasicInfo(); wxCUserBasicInfo.setTenantId(getTenantId()); final PageInfo page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize); return new ResultData(page); } // @ApiOperation("新增接口") // @PostMapping("add") // public ResultData add(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) { // //Assert.notNull(wxCUserBasicInfo.getName(), "角色名不能为空"); // //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); // wxCUserBasicInfoService.saveOrUpdate(wxCUserBasicInfo); // return new ResultData(); // } @ApiOperation("根据id更新接口") @PostMapping("update") public ResultData update(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) { wxCUserBasicInfo.setTenantId(getTenantId()); if(StringUtils.isNotBlank(wxCUserBasicInfo.getTags())) { WxCUserTags record =new WxCUserTags(); record.setUserId(wxCUserBasicInfo.getcUserId()); record.setTenantId(getTenantId()); PageInfo page = wxCUserTagsService.listAsPage(record, 1, 1); if(page.getSize()>0) { WxCUserTags t = page.getList().get(0); record.setId(t.getId()); } String tags = wxCUserBasicInfo.getTags(); List tagIdList = new ArrayList<>(); for(String t:tags.split(",")) { tagIdList.add(Long.valueOf(t)); } record.setTags(JSON.toJSONString(tagIdList)); wxCUserTagsService.saveOrUpdate(record); wxCUserBasicInfo.setTagId(record.getId()); } wxCUserBasicInfoService.saveOrUpdate(wxCUserBasicInfo); return new ResultData(); } @ApiOperation("根据id删除接口") @GetMapping("/del") @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) public ResultData delete(Long id) { wxCUserBasicInfoService.deleteById(id); return new ResultData(Result.SUCCESS, "删除成功", null); } @ApiOperation("根据id查询接口") @GetMapping("/findById") @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) public ResultData findById(Long id) { WxCUserBasicInfo info = wxCUserBasicInfoService.getById(id); if(info.getTagId()!=null) { WxCUserTags uTag = wxCUserTagsService.getById(id); if(StringUtils.isNotBlank(uTag.getTags())) { List ids = JSONObject.parseArray(uTag.getTags(),Long.class); WxTags wxTags =new WxTags(); wxTags.setIds(ids); PageInfo page = wxTagsService.listAsPage(wxTags, 1, 5000); if(page.getSize()>0) { info.setTagList(page.getList()); } } } return new ResultData(Result.SUCCESS,"查询成功",info); } }