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.common.log.annotation.AdminOperationLog; import com.xiaopeng.common.log.enums.AdminBusinessType; import com.xiaopeng.common.log.enums.AdminOperationType; import com.xiaopeng.operation.dto.XpAgreementDTO; 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.validation.Valid; import java.util.List; @Slf4j @Validated @RestController public class XpAgreementController extends BaseController { private final XpAgreementService xpAgreementService; 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("/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 = {"管理后台-内容中心"}) @GetMapping("/api/v1/agreement/content/{type}") public R getAgreementContent(@ApiParam(name = "type", value = "类型 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") @AdminOperationLog( businessType = AdminBusinessType.AGREEMENT_MANAGEMENT, operationType = AdminOperationType.EDIT, content = "保存协议", appendRequestData = true ) public R saveAgreement(@RequestBody @Valid XpAgreementDTO dto){ xpAgreementService.saveAgreement(dto); return R.ok(); } }