123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using Microsoft.AspNetCore.Mvc;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading.Tasks;
- using TEAMModelOS.Service.Models;
- using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
- using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
- using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
- using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
- using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
- using TEAMModelOS.SDK.Context.Exception;
- namespace TEAMModelOS.Controllers
- {
- [Route("api/[controller]")]
- [ApiController]
- public class SchoolController : Controller
- {
- public IAzureCosmosDBV3Repository _cosmosrepository;
- public SchoolController(IAzureCosmosDBV3Repository cosmosDBRepository)
- {
- _cosmosrepository = cosmosDBRepository;
- }
- /// <summary>
- /// 保存或更新学校
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- [HttpPost("upsert")]
- public async Task<BaseJosnRPCResponse> Upsert(JosnRPCRequest<School> request)
- {
- JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
- if (string.IsNullOrEmpty(request.@params.id))
- {
- List<School> schools = await _cosmosrepository.FindByDict<School>(new Dictionary<string, object> { { "code", request.@params.schoolCode } });
- if (schools.IsNotEmpty())
- {
- throw new BizException("学校编码已存在!", ResponseCode.DATA_EXIST);
- }
- request.@params.code = request.@params.schoolCode;
- request.@params.id = request.@params.schoolCode;
- }
- else {
- List<School> schools = await _cosmosrepository.FindByDict<School>(new Dictionary<string, object> { { "id", request.@params.id } });
- if (schools.IsEmpty())
- {
- throw new BizException("id不存在,不能更新!", ResponseCode.PARAMS_ERROR);
- }
- }
- if (request.@params.id.Equals(request.@params.code) && request.@params.id.Equals(request.@params.schoolCode))
- {
- School datas = await _cosmosrepository.SaveOrUpdate<School>(request.@params);
- return builder.Data(datas).build();
- }
- else {
- throw new BizException("id,code,schoolCode必须相同!", ResponseCode.PARAMS_ERROR);
- }
-
- }
- /// <summary>
- /// 查找学校
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- [HttpPost("find")]
- public async Task<BaseJosnRPCResponse> Find(JosnRPCRequest<Dictionary<string, object>> request)
- {
- JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
- if (request.@params.TryGetValue("code", out object code) && null != code &&! string.IsNullOrEmpty(code.ToString()))
- {
- List<School> sc = await _cosmosrepository.FindByDict<School>(request.@params);
- return builder.Data(sc).build();
- }
- else {
- return builder.Data(null).build();
- }
- }
- /// <summary>
- /// 取得所有學校基本資料("id","schoolCode","schoolName")
- /// </summary>
- /// <param name="GetAllSchoolBaesInfo"></param>
- /// <returns></returns>
- [HttpPost("GetAllSchoolBaesInfo")]
- public async Task<BaseJosnRPCResponse> GetAllSchoolBaesInfo(JosnRPCRequest<Dictionary<string, object>> request)
- {
- JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
- List<School> sc = await _cosmosrepository.FindSQL<School>("SELECT c.id, c.schoolCode, c.schoolName FROM c WHERE c.pk='School'");
- return builder.Data(sc).build();
- }
- }
- }
|