package com.jilongda.manage.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.google.gson.JsonArray; import com.jilongda.common.basic.ApiResult; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TLensSeries; import com.jilongda.manage.model.TOptometrist; import com.jilongda.manage.query.TLensSeriesQuery; import com.jilongda.manage.query.TOptometristQuery; import com.jilongda.manage.service.TLensSeriesService; import com.jilongda.manage.vo.TLensSeriesVO; import com.jilongda.manage.vo.TOptometristVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** *

* 镜片系列表 前端控制器 *

* * @author 无关风月 * @since 2024-12-09 */ @Api(tags = "镜片系列管理") @RestController @RequestMapping("/t-lens-series") public class TLensSeriesController { @Autowired private TLensSeriesService lensSeriesService; @ApiOperation(value = "镜片系列列表") @PostMapping(value = "/pageList") public ApiResult> pageList(@RequestBody TLensSeriesQuery query) { PageInfo optometristVOPageInfo = lensSeriesService.pageList(query); return ApiResult.success(optometristVOPageInfo); } @ApiOperation(value = "镜片系列添加") @PostMapping(value = "/add") public ApiResult add(@RequestBody TLensSeries dto) { lensSeriesService.save(dto); return ApiResult.success(); } @ApiOperation(value = "镜片系列编辑") @PostMapping(value = "/update") public ApiResult update(@RequestBody TLensSeries dto) { if (!StringUtils.hasLength(dto.getSphere())){ dto.setSphere(""); } if (!StringUtils.hasLength(dto.getAsphericSurface())){ dto.setAsphericSurface(""); } if (!StringUtils.hasLength(dto.getDoubleNon())){ dto.setDoubleNon(""); } lensSeriesService.updateById(dto); return ApiResult.success(); } @ApiOperation(value = "镜片系列启用/禁用") @GetMapping(value = "/updateState") public ApiResult update(Integer id) { TLensSeries byId = lensSeriesService.getById(id); if (byId.getStatus()==1){ byId.setStatus(2); }else{ byId.setStatus(1); } lensSeriesService.updateById(byId); return ApiResult.success(); } @ApiOperation(value = "通过品牌id查询镜片系列列表") @GetMapping(value = "/seriesList") public ApiResult> seriesList(Integer brandId) { return ApiResult.success(lensSeriesService.lambdaQuery().eq(TLensSeries::getBrandId,brandId).list()); } @ApiOperation(value = "通过系列id查询球/非球 返回参数1为球 2非球 3双飞") @GetMapping(value = "/lensTypeList") public ApiResult> lensTypeList(Integer id) { TLensSeries byId = lensSeriesService.getById(id); List integers = new ArrayList<>(); if (StringUtils.hasLength(byId.getSphere())){ integers.add(1); } if (StringUtils.hasLength(byId.getAsphericSurface())){ integers.add(2); } if (StringUtils.hasLength(byId.getDoubleNon())){ integers.add(3); } return ApiResult.success(integers); } @ApiOperation(value = "根据系列id + 球/非球查询折射率列表 球/非球入参数1为球 2非球 3双飞") @GetMapping(value = "/refractiveIndexList") public ApiResult refractiveIndexList(Integer id, Integer lensType) { TLensSeries byId = lensSeriesService.getById(id); JSONArray jsonArray = null; if (lensType==1){ String sphere = byId.getSphere(); // 将字符串化为jsonArray if (StringUtils.hasLength(sphere)) { jsonArray = JSONObject.parseArray(sphere); } else { return ApiResult.success(new JSONArray()); } } if (lensType==2){ String asphericSurface = byId.getAsphericSurface(); if (StringUtils.hasLength(asphericSurface)) { jsonArray = JSONObject.parseArray(asphericSurface); } else { return ApiResult.success(new JSONArray()); } } if (lensType==3){ String doubleNon = byId.getDoubleNon(); if (StringUtils.hasLength(doubleNon)) { jsonArray = JSONObject.parseArray(doubleNon); } else { return ApiResult.success(new JSONArray()); } } return ApiResult.success(jsonArray); } }