| package com.matrix.system.app.action; | 
|   | 
| import com.matrix.core.pojo.AjaxResult; | 
| import com.matrix.core.pojo.PaginationVO; | 
| import com.matrix.core.tools.StringUtils; | 
| import com.matrix.system.app.dto.SkinCheckListDto; | 
| import com.matrix.system.app.mapper.SysSkinCheckRecordMapper; | 
| import com.matrix.system.app.vo.SkinCheckAnalysisItems; | 
| import com.matrix.system.app.vo.SkinCheckDetailVo; | 
| import com.matrix.system.app.vo.SkinCheckDiagnoseItemVo; | 
| import com.matrix.system.app.vo.SkinCheckListVo; | 
| import com.matrix.system.hive.bean.SysSkinCheckRecord; | 
| import com.matrix.system.hive.dao.SysSkinCheckRecordDao; | 
| import com.matrix.system.hive.plugin.util.CollectionUtils; | 
| import com.matrix.system.shopXcx.bean.ShopProduct; | 
| import com.matrix.system.shopXcx.dao.ShopProductDao; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiOperation; | 
| import io.swagger.annotations.ApiResponse; | 
| import io.swagger.annotations.ApiResponses; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.validation.annotation.Validated; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import java.util.List; | 
|   | 
| /** | 
|  * @author wzy | 
|  * @date 2020-12-27 | 
|  **/ | 
| @Api(value = "ApiSkinCheckAction", tags = "皮肤检测接口类") | 
| @RestController | 
| @RequestMapping(value = "/api/skinCheck") | 
| public class ApiSkinCheckAction { | 
|   | 
|     @Autowired | 
|     private SysSkinCheckRecordDao sysSkinCheckRecordDao; | 
|   | 
|     @Autowired | 
|     private ShopProductDao shopProductDao; | 
|   | 
|     @ApiOperation(value = "获取皮肤检测列表", notes = "获取皮肤检测列表") | 
|     @PostMapping(value = "/findSkinCheckList") | 
|     public AjaxResult findSkinCheckList(@RequestBody @Validated SkinCheckListDto skinCheckListDto) { | 
|         SysSkinCheckRecord sysSkinCheckRecord = new SysSkinCheckRecord(); | 
|         sysSkinCheckRecord.setUserId(skinCheckListDto.getVipId()); | 
|   | 
|         PaginationVO pageVo = new PaginationVO(); | 
|         pageVo.setOffset((skinCheckListDto.getPageNum() - 1) * skinCheckListDto.getPageSize()); | 
|         pageVo.setLimit(skinCheckListDto.getPageSize()); | 
|         pageVo.setSort("t1.create_time"); | 
|         pageVo.setOrder("desc"); | 
|   | 
|         List<SysSkinCheckRecord> dataList = sysSkinCheckRecordDao.selectInPage(sysSkinCheckRecord, pageVo); | 
|         List<SkinCheckListVo> list = SysSkinCheckRecordMapper.INSTANCE.entitiesToListVos(dataList); | 
|         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, list, | 
|                 sysSkinCheckRecordDao.selectTotalRecord(sysSkinCheckRecord)); | 
|         return result; | 
|     } | 
|   | 
|   | 
|     @ApiOperation(value = "获取皮肤检测详情", notes = "获取皮肤检测详情") | 
|     @ApiResponses({ | 
|             @ApiResponse(code = 200, message = "ok", response = SkinCheckDetailVo.class) | 
|     }) | 
|     @GetMapping(value = "/findSkinCheckDetail/{id}") | 
|     public AjaxResult findSkinCheckDetail(@PathVariable("id") Long id) { | 
|   | 
|         SysSkinCheckRecord sysSkinCheckRecord = sysSkinCheckRecordDao.selectById(id); | 
|   | 
|         SysSkinCheckRecordMapper instance = SysSkinCheckRecordMapper.INSTANCE; | 
|         SkinCheckDetailVo detail = instance.entityToDetailVo(sysSkinCheckRecord); | 
|         detail.setSex(sysSkinCheckRecord.getSex()); | 
|         List<SkinCheckDiagnoseItemVo> diagnoseItems = instance.entitiesToDiagnoseItems(sysSkinCheckRecord.getAnalysisDetail()); | 
|         List<SkinCheckAnalysisItems> analysisItems = instance.entitiesToAnalysisItems(sysSkinCheckRecord.getSkinDetails()); | 
|   | 
|         analysisItems.forEach(item -> { | 
|             List<Integer> ids = StringUtils.strToCollToInteger(item.getProductIds(), ","); | 
|             if(CollectionUtils.isNotEmpty(ids)){ | 
|                 List<String> shopProducts = shopProductDao.selectProductNameByIds(ids); | 
|                 item.setProducts(shopProducts); | 
|             } | 
|         }); | 
|   | 
|         detail.setDiagnoseItems(diagnoseItems); | 
|         detail.setAnalysisItems(analysisItems); | 
|   | 
|         AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功"); | 
|         ajaxResult.putInMap("detail", detail); | 
|         return ajaxResult; | 
|     } | 
| } |