package com.xiaopeng.operation.controller; import com.xiaopeng.api.model.operation.XpAgreement; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.controller.BaseController; import com.xiaopeng.operation.dto.XpAgreementDTO; import com.xiaopeng.operation.service.IXpLoginAgreementService; import com.xiaopeng.operation.service.XpAgreementService; import com.xiaopeng.operation.vo.XpAgreementVo; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; @Slf4j @Validated @RestController public class XpAgreementController extends BaseController { private final XpAgreementService xpAgreementService; @Resource private IXpLoginAgreementService xpLoginAgreementService; public XpAgreementController(XpAgreementService xpAgreementService) { this.xpAgreementService = xpAgreementService; } @ApiOperation(value = "获取协议", tags = {"小程序-首页"}, response = XpAgreementVo.class) @GetMapping("/base/v1/mini-program/privacy/content/{type}") public R getContent(@PathVariable Integer type) { return R.ok(xpAgreementService.getContentByType(type)); } @ApiOperation(value = "获取协议所有", tags = {"小程序-首页所有"}, response = XpAgreementVo.class) @GetMapping("/base/v1/mini-program/privacy/contentAll") public R> contentAll() { return R.ok(xpAgreementService.getContentByTypeAll()); } @ApiOperation(value = "获取协议/隐私政策", tags = {"运维APP-个人中心"}, response = XpAgreementVo.class) @GetMapping("/maintenance-app/base/v1/privacy/content/{type}") public R getAppContent(@ApiParam(name = "type", value = "类型 8=运维APP-小鹏Robotaxi自动驾驶出行运维隐私政策 9=运维APP-第三方共享信息清单 10=运维APP-个人信息收集清单 11=运维APP-权限调用") @PathVariable Integer type) { return R.ok(xpAgreementService.getContentByType(type)); } @ApiOperation(value = "获取协议/隐私政策", tags = {"运维APP-个人中心"}, response = XpAgreementVo.class) @GetMapping("/maintenance-app/base/v1/privacy/getAppContentById/{id}") public R getAppContentById(@ApiParam(name = "id", value = "协议id") @PathVariable Integer id) { XpAgreement xpAgreement = xpAgreementService.getById(id); if (xpAgreement != null) { XpAgreementVo xpAgreementVo = new XpAgreementVo(); xpAgreementVo.setId(xpAgreement.getId()); xpAgreementVo.setContent(xpAgreement.getContent()); xpAgreementVo.setType(xpAgreement.getContentType()); xpAgreementVo.setVersion(xpAgreement.getVersion()); return R.ok(xpAgreementVo); } return R.ok(); } @ApiOperation(value = "获取登录协议", tags = {"运维APP-登录"}, response = XpAgreementVo.class) @GetMapping("/maintenance-app/base/v1/loginAgreement/getLoginAgreementList") public R> getLoginAgreementList() { return R.ok(xpLoginAgreementService.getLoginAgreementList(2)); } @ApiOperation(value = "获取协议", tags = {"管理后台-内容中心"}) @GetMapping("/api/v1/agreement/content/{type}") public R getAgreementContent(@ApiParam(name = "type", value = "类型 -1预付款,-2付款, 1=小鹏Robotaxi隐私政策 2=个人信息收集清单 3=敏感个人信息处理情况说明 4=向第三方提供个人信息情况的说明 5=乘车须知 6=计费规则说明 7=权限说明 8=运维APP-小鹏Robotaxi自动驾驶出行运维隐私政策 9=运维APP-第三方共享信息清单 10=运维APP-个人信息收集清单 11=运维APP-权限调用") @PathVariable Integer type) { return R.ok(xpAgreementService.getAgreementContent(type)); } @ApiOperation(value = "保存协议", tags = {"管理后台-内容中心"}) @PostMapping("/api/v1/agreement/save") public R saveAgreement(@RequestBody @Valid XpAgreementDTO dto) { xpAgreementService.saveAgreement(dto); return R.ok(); } }