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;
|
}
|
}
|