package com.ycwl.basic.controller.mobile;


import com.ycwl.basic.annotation.IgnoreToken;
import com.ycwl.basic.repository.ScenicRepository;
import com.ycwl.basic.utils.ApiResponse;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: songmingsong
 * @CreateTime: 2024-12-06
 * @Description: 微信消息模板通知
 * @Version: 1.0
 */
@RestController
@RequestMapping("/api/mobile/wx/notify/v1")
@Api(tags = "微信消息模板通知")
public class AppWxNotifyController {
    @Autowired
    private ScenicRepository scenicRepository;
//
//    @ApiOperation(value = "通知", notes = "通知")
//    @PostMapping("/pushMessage")
//    @IgnoreToken
//    public ApiResponse<?> pushMessage(@RequestBody WechatMessageSubscribeForm req) {
//        JSONObject resJson = wxNotifyService.pushMessage(req);
//        return ApiResponse.success(resJson);
//    }

    @GetMapping({"/getIds", "/"})
    @IgnoreToken
    public ApiResponse<List<String>> getIds() {
        return ApiResponse.success(new ArrayList<>() {{
            add("5b8vTm7kvwYubqDxb3dxBs0BqxMsgVgGw573aahTEd8");
            add("vPIzbkA0x4mMj-vdbWx6_45e8juWXzs3FGYnDsIPv3A");
            add("HB1vp-0BXc2WyYeoYN3a3GuZV9HtPLXUTT7blCBq9eY");
        }});
    }

    @GetMapping("/{scenicId}")
    @IgnoreToken
    public ApiResponse<List<String>> getIds(@PathVariable("scenicId") Long scenicId) {
        return ApiResponse.success(new ArrayList<>() {{
            String videoGeneratedTemplateId = scenicRepository.getVideoGeneratedTemplateId(scenicId);
            if (StringUtils.isNotBlank(videoGeneratedTemplateId)) {
                add(videoGeneratedTemplateId);
            }
            String videoDownloadTemplateId = scenicRepository.getVideoDownloadTemplateId(scenicId);
            if (StringUtils.isNotBlank(videoDownloadTemplateId)) {
                add(videoDownloadTemplateId);
            }
            String videoPreExpireTemplateId = scenicRepository.getVideoPreExpireTemplateId(scenicId);
            if (StringUtils.isNotBlank(videoPreExpireTemplateId)) {
                add(videoPreExpireTemplateId);
            }
        }});
    }

}
