package com.gkhy.safePlatform.account.controller; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.account.model.dto.req.AppAddReqDTO; import com.gkhy.safePlatform.account.model.dto.req.AppModReqDTO; import com.gkhy.safePlatform.account.model.dto.resp.AppVersionRespDTO; import com.gkhy.safePlatform.account.model.dto.resp.ObjectItemRespDTO; import com.gkhy.safePlatform.account.model.query.AppVersionPageQuery; import com.gkhy.safePlatform.account.service.AppVersionService; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/appVersion") public class AppVersionController { @Autowired private AppVersionService appManageService; /** * @Description: 获取 minio 授权签名后的上传地址 */ @RequestMapping(value = "/presign", method = RequestMethod.POST) public ResultVO getAppPresignedUrl(Authentication authentication, @RequestBody JSONObject json) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); String filename = json.getString("filename"); ObjectItemRespDTO object = appManageService.getAppPresignedUrl(currentUser, filename); return new ResultVO<>(ResultCodes.OK, object); } @RequestMapping(value = "/lastest-release", method = RequestMethod.GET) public ResultVO getLastestAppRealse(Authentication authentication,Byte appType) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); AppVersionRespDTO result = appManageService.getLastestAppRelease(currentUser, appType); return new ResultVO<>(ResultCodes.OK, result); } @RequestMapping(value = "/page/list", method = RequestMethod.POST) public ResultVO> appVersionPageList(Authentication authentication, @RequestBody PageQuery pageQuery) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); PageUtils.checkCheck(pageQuery); return appManageService.listAppVersionByPage(currentUser, pageQuery); } @RequestMapping(value = "/add", method = RequestMethod.POST) public ResultVO addAppVersion(Authentication authentication, @RequestBody AppAddReqDTO reqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); appManageService.addAppVersion(currentUser, reqDTO); return new ResultVO<>(ResultCodes.OK); } @RequestMapping(value = "/mod", method = RequestMethod.POST) public ResultVO modAppVersion(Authentication authentication, @RequestBody AppModReqDTO reqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); appManageService.modAppVersion(currentUser, reqDTO); return new ResultVO(ResultCodes.OK); } @RequestMapping(value = "/del", method = RequestMethod.POST) public ResultVO delAppVersion(Authentication authentication, @RequestBody JSONObject json) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long id = json.getLong("id"); appManageService.delAppVersion(currentUser, id); return new ResultVO(ResultCodes.OK); } }