package com.zhongzheng.controller.base; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.common.core.page.TableDataInfo; import com.zhongzheng.common.core.redis.RedisCache; import com.zhongzheng.common.utils.ServletUtils; import com.zhongzheng.framework.web.service.WxTokenService; import com.zhongzheng.modules.base.bo.*; import com.zhongzheng.modules.base.service.IProfileTpService; import com.zhongzheng.modules.base.service.IUserProfileService; import com.zhongzheng.modules.base.vo.ProfileTpVo; import com.zhongzheng.modules.base.vo.UserProfileVo; import com.zhongzheng.modules.user.entity.ClientLoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.concurrent.TimeUnit; /** * 资料模板Controller * * @author hjl * @date 2021-11-19 */ @Api(value = "资料模板控制器", tags = {"资料模板管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/base/profile/tp") public class ProfileTpController extends BaseController { private final IProfileTpService iProfileTpService; private final WxTokenService wxTokenService; private final IUserProfileService iUserProfileService; private final RedisCache redisCache; /** * 查询资料模板列表 */ @ApiOperation("查询资料模板列表") @GetMapping("/list") public TableDataInfo list(ProfileTpQueryBo bo) { startPage(); List list = iProfileTpService.selectList(bo); return getDataTable(list); } /** * 获取资料模板详细信息 */ @ApiOperation("获取资料模板详细信息") @GetMapping("/{goodsId}") public AjaxResult queryByGoodsId(@PathVariable("goodsId" ) Long goodsId) { return AjaxResult.success(iProfileTpService.queryByGoodsId(goodsId)); } /** * 新增填写资料审核 */ @ApiOperation("新增填写资料审核") @PostMapping() public AjaxResult add(@RequestBody UserProfileAddBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); String key = "PROFILE_"+loginUser.getUser().getUserId(); Long value = redisCache.getCacheObject(key); if(value!=null){ return toAjax(1); } if(iUserProfileService.insertByAddBo(bo)){ redisCache.setCacheObject(key,1L,10, TimeUnit.SECONDS);//10秒 return toAjax(1); } return toAjax(0); } /** * 修改填写资料审核 */ @ApiOperation("修改填写资料审核") @PostMapping("edit") public AjaxResult edit(@RequestBody UserProfileEditBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); return toAjax(iUserProfileService.updateByEditBo(bo) ? 1 : 0); } /** * 获取填写资料审核详细信息 */ @ApiOperation("获取填写资料审核详细信息") @GetMapping("/getInfo") public AjaxResult getInfo(UserProfileQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); bo.setTypeStatus(1L); return AjaxResult.success(iUserProfileService.getInfo(bo)); } /** * 查询填写资料审核列表 */ @ApiOperation("查询填写资料审核列表") @PreAuthorize("@ss.hasPermi('system:profile:list')") @GetMapping("/listProfile") public TableDataInfo list(UserProfileQueryBo bo) { startPage(); ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); bo.setTypeStatus(1L); List list = iUserProfileService.queryList(bo); return getDataTable(list); } }