123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- package com.ydd.app.controller;
- import com.ydd.app.dto.FeedbackDto;
- import com.ydd.app.service.ApiExplainService;
- import com.ydd.app.service.ApiFeedbackService;
- import com.ydd.common.annotation.AccessToken;
- import com.ydd.common.annotation.NoSign;
- import com.ydd.common.core.controller.BaseController;
- import com.ydd.common.core.domain.BaseResult;
- import com.ydd.common.oss.cloud.CloudStorageConfig;
- import com.ydd.common.oss.cloud.OSSFactory;
- import com.ydd.module.domain.DeviceConfig;
- import com.ydd.module.domain.Help;
- import com.ydd.module.domain.Version;
- import com.ydd.module.dto.HelpDetailDto;
- import com.ydd.module.dto.HelpDto;
- import com.ydd.module.dto.MemberConfigDto;
- import com.ydd.module.service.IDeliveryConfigService;
- import com.ydd.module.service.IDeviceConfigService;
- import com.ydd.module.service.IHelpColumnService;
- import com.ydd.module.service.IMemberConfigService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.apache.commons.io.FilenameUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import static com.ydd.module.enums.ExceptionEnum.FILE_UPLOAD_ERROR;
- /**
- * 通用接口
- *
- * @author douya
- */
- @Api(value = "通用接口", tags = {"通用接口"})
- @RestController
- @RequestMapping("/app/common")
- @RequiredArgsConstructor(onConstructor_ = @Autowired)
- @NoSign
- public class CommonApi extends BaseController {
- private final CloudStorageConfig cloudStorageConfig;
- private final ApiFeedbackService apiFeedbackService;
- private final ApiExplainService apiExplainService;
- private final IHelpColumnService iHelpColumnService;
- private final IMemberConfigService iMemberConfigService;
- private final IDeviceConfigService iDeviceConfigService;
- /**
- * 通用上传请求
- */
- @ApiOperation("通用上传请求")
- @PostMapping("/upload")
- public BaseResult<Map<String, Object>> uploadFile(MultipartFile file) {
- try {
- String suffix = FilenameUtils.getExtension(file.getOriginalFilename());
- String url = OSSFactory.build(cloudStorageConfig).uploadSuffix(file.getInputStream(), "." + suffix);
- Map<String, Object> result = new HashMap<>();
- result.put("fileName", file.getOriginalFilename());
- result.put("url", url);
- return BaseResult.success(result);
- } catch (Exception e) {
- logger.error("上传异常", e);
- e.printStackTrace();
- return BaseResult.error(FILE_UPLOAD_ERROR.MSG);
- }
- }
- /**
- * 意见反馈
- */
- @ApiOperation("意见反馈")
- @RequestMapping(value = "/feedback", method = RequestMethod.POST)
- @AccessToken
- public BaseResult feedback(FeedbackDto feedbackDto) {
- apiFeedbackService.feedback(getLoginId(), feedbackDto);
- return BaseResult.success();
- }
- /**
- * 系统设置说明
- */
- @ApiOperation("系统设置说明")
- @ApiImplicitParams({
- @ApiImplicitParam(required = true, paramType = "query", name = "type", value = "类型【1 招商合作配置(富文本)】【2 客服企业微信(图片上传)】【3 客服电话(文本框)】【4 《用户协议》】【5 《隐私政策》】【6 《充值协议》】")
- })
- @RequestMapping(value = "/explain", method = RequestMethod.GET)
- public BaseResult<String> explain(@RequestParam("type") Integer type) {
- return BaseResult.success("OK", apiExplainService.explain(type));
- }
- @ApiOperation("版本控制")
- @ApiImplicitParams({
- @ApiImplicitParam(required = true, paramType = "query", name = "type", value = "类型【1 Android】【2 ios】")
- })
- @RequestMapping(value = "/version", method = RequestMethod.GET)
- public BaseResult<Version> version(@RequestParam("type") Integer type) {
- return BaseResult.success("ok", apiExplainService.selectVersion(type));
- }
- /**
- * 帮助中心
- */
- @ApiOperation("帮助中心栏目")
- @ApiImplicitParams({
- @ApiImplicitParam(required = true, paramType = "query", name = "type", value = "类型0 app 1 pc")
- })
- @RequestMapping(value = "/help", method = RequestMethod.GET)
- public BaseResult<List<HelpDto>> help(@RequestParam(name = "type",required = false)Integer type) {
- if(type==null){
- type = 1;
- }
- return BaseResult.success("OK", iHelpColumnService.getAll(type));
- }
- /**
- * 帮助中心
- */
- @ApiOperation("帮助中心")
- @RequestMapping(value = "/help_detail", method = RequestMethod.GET)
- @ApiImplicitParams({
- @ApiImplicitParam(required = true, paramType = "query", name = "secondColumnId", value = "二级栏目id"),
- @ApiImplicitParam(required = false, paramType = "query", name = "'platformType", value = "PC/APP")
- })
- public BaseResult<List<HelpDetailDto>> helpDetail(@RequestParam("secondColumnId") Integer secondColumnId,
- @RequestHeader(name = "platformType", required = false) String platformType) {
- return BaseResult.success("OK", iHelpColumnService.getHelpDetail(secondColumnId, platformType));
- }
- @ApiOperation("用户是否允许静默更新")
- @RequestMapping(value = "/userUpgrade", method = RequestMethod.GET)
- @AccessToken
- public BaseResult<MemberConfigDto> userUpgrade() {
- MemberConfigDto dto = iMemberConfigService.findDetail(getLoginId());
- return BaseResult.success("ok", dto);
- }
- /**
- * 打印机绑定说明
- */
- @ApiOperation("打印机绑定说明")
- @RequestMapping(value = "/deviceConfig", method = RequestMethod.GET)
- @AccessToken
- public BaseResult<List<DeviceConfig>> deviceConfig() {
- return BaseResult.success("ok", iDeviceConfigService.getDeviceConfig());
- }
- }
|