| | |
| | | package com.mzl.flower.web.v2.sms; |
| | | |
| | | |
| | | import com.aliyun.dysmsapi20170525.Client; |
| | | import com.aliyun.dysmsapi20170525.models.QuerySmsTemplateListRequest; |
| | | import com.aliyun.dysmsapi20170525.models.QuerySmsTemplateListResponse; |
| | | import com.aliyun.dysmsapi20170525.models.QuerySmsTemplateListResponseBody; |
| | | import com.aliyun.tea.TeaException; |
| | | import com.aliyun.teautil.models.RuntimeOptions; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.mzl.flower.base.BaseController; |
| | | import com.mzl.flower.base.R; |
| | | import com.mzl.flower.base.ReturnDataDTO; |
| | | import com.mzl.flower.dto.response.coupon.CouponTemplatePointVO; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.mzl.flower.dto.request.sms.SmsTemplateDTO; |
| | | import com.mzl.flower.dto.request.sms.SmsTemplateQueryDTO; |
| | | import com.mzl.flower.entity.SmsTemplateDO; |
| | | import com.mzl.flower.service.sms.SmsTemplateService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.constraints.Min; |
| | | import javax.validation.constraints.Max; |
| | | import javax.validation.constraints.Positive; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author @TaoJie |
| | | * @since 2024-12-25 |
| | | */ |
| | | @Api(value = "短信模板管理", tags = "短信模板管理") |
| | | @RestController |
| | | @RequestMapping("/v2/sms-template") |
| | | @RequiredArgsConstructor |
| | | public class SmsTemplateController extends BaseController { |
| | | |
| | | @PostMapping("") |
| | | public ResponseEntity<ReturnDataDTO> create() { |
| | | private final SmsTemplateService smsTemplateService; |
| | | |
| | | @PostMapping("/new") |
| | | @ApiOperation(value = "保存短信模板", httpMethod = "POST") |
| | | public ResponseEntity<ReturnDataDTO> create(@RequestBody SmsTemplateDTO smsTemplateDTO) { |
| | | smsTemplateService.saveSmsTemplate(smsTemplateDTO); |
| | | return returnData(R.SUCCESS.getCode(), null); |
| | | } |
| | | |
| | | @PutMapping("/{id}") |
| | | public ResponseEntity<ReturnDataDTO> update(@PathVariable @Positive(message = "{id.positive}") Integer id) { |
| | | @PostMapping(value = "/edit") |
| | | @ApiOperation(value = "更新短信模板", httpMethod = "POST") |
| | | public ResponseEntity<ReturnDataDTO> update(@RequestBody SmsTemplateDTO smsTemplateDTO) { |
| | | smsTemplateService.updateSmsTemplate(smsTemplateDTO); |
| | | return returnData(R.SUCCESS.getCode(), null); |
| | | } |
| | | |
| | | @DeleteMapping("/{id}") |
| | | public ResponseEntity<ReturnDataDTO> delete(@PathVariable @Positive(message = "{id.positive}") Integer id) { |
| | | @GetMapping(value = "/delete") |
| | | @ApiOperation(value = "删除短信模板 ", httpMethod = "GET", notes = "ID") |
| | | public ResponseEntity<ReturnDataDTO> delete(@NotNull(message = "id不能为空") Long id) { |
| | | smsTemplateService.deleteSmsTemplate(id); |
| | | return returnData(R.SUCCESS.getCode(), null); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | public SmsTemplateDO get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) { |
| | | return null; |
| | | @GetMapping("/list") |
| | | @ApiOperation(value = "短信模板列表", httpMethod = "GET") |
| | | public ResponseEntity<ReturnDataDTO<Page<SmsTemplateDO>>> getSmsTemplateList(Page page, SmsTemplateQueryDTO dto) { |
| | | return returnData(R.SUCCESS.getCode(), smsTemplateService.queryPage(dto, page)); |
| | | } |
| | | |
| | | @GetMapping("/page") |
| | | public ResponseEntity<ReturnDataDTO<Page<SmsTemplateDO>>> page( |
| | | @RequestParam(name = "page", required = false, defaultValue = "0") |
| | | @Min(value = 0, message = "{page.number.min}") Integer page, |
| | | @RequestParam(name = "count", required = false, defaultValue = "10") |
| | | @Min(value = 1, message = "{page.count.min}") |
| | | @Max(value = 30, message = "{page.count.max}") Integer count |
| | | ) { |
| | | return null; |
| | | @GetMapping("/template/list") |
| | | @ApiOperation(value = "短信模板列表", httpMethod = "GET") |
| | | public ResponseEntity<ReturnDataDTO<Page<SmsTemplateDO>>> getALSmsTemplateList(Page page, SmsTemplateQueryDTO dto) throws Exception { |
| | | Client client = createClient(); |
| | | QuerySmsTemplateListRequest querySmsTemplateListRequest = new QuerySmsTemplateListRequest(); |
| | | RuntimeOptions runtime = new RuntimeOptions(); |
| | | List<QuerySmsTemplateListResponseBody.QuerySmsTemplateListResponseBodySmsTemplateList> smsTemplateList; |
| | | try { |
| | | QuerySmsTemplateListResponse querySmsTemplateListResponse = client.querySmsTemplateListWithOptions(querySmsTemplateListRequest, runtime); |
| | | smsTemplateList = querySmsTemplateListResponse.getBody().getSmsTemplateList(); |
| | | } catch (TeaException error) { |
| | | return returnData(R.RUNTIME_EXCEPTION.getCode(), error.getMessage()); |
| | | } catch (Exception _error) { |
| | | return returnData(R.RUNTIME_EXCEPTION.getCode(), _error.getMessage()); |
| | | } |
| | | return returnData(R.SUCCESS.getCode(), smsTemplateList); |
| | | } |
| | | |
| | | public static Client createClient() throws Exception { |
| | | com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config().setAccessKeyId("LTAI5tFGHa9bwhuEDKH6YPnc").setAccessKeySecret("BrY0BM4pvDXhVKOMLsXzgzlhVe1keQ"); |
| | | config.endpoint = "dysmsapi.aliyuncs.com"; |
| | | return new Client(config); |
| | | } |
| | | |
| | | } |