From 8a58ae03919ae18cf56980f9d6ba8b0a1a82b3cf Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Sun, 27 Dec 2020 23:01:48 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java | 2
zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java | 38 +++++
zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml | 9 +
zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java | 22 +++
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml | 10 +
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java | 58 ++++++++
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java | 80 +++++++++++
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java | 31 ++++
zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java | 77 +++++++++++
zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java | 11 +
zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java | 80 +++++++++++
11 files changed, 414 insertions(+), 4 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java
index 78dbbc9..1763057 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSkinCheckAction.java
@@ -1,8 +1,28 @@
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 org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+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
@@ -13,4 +33,60 @@
@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;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java
new file mode 100644
index 0000000..5540113
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/SkinCheckListDto.java
@@ -0,0 +1,22 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+
+@ApiModel(value = "SkinCheckListDto", description = "皮肤检测列表接收参数类")
+public class SkinCheckListDto extends BasePageDto{
+
+ @NotNull(message = "参数错误")
+ @ApiModelProperty(value = "会员ID", example = "361")
+ private Long vipId;
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java
new file mode 100644
index 0000000..411a311
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/mapper/SysSkinCheckRecordMapper.java
@@ -0,0 +1,38 @@
+package com.matrix.system.app.mapper;
+
+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.bean.SysSkinDetail;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public abstract class SysSkinCheckRecordMapper {
+ public static final SysSkinCheckRecordMapper INSTANCE = Mappers.getMapper(SysSkinCheckRecordMapper.class);
+
+ public abstract SkinCheckListVo entityToSkinCheckListVo(SysSkinCheckRecord sysSkinCheckRecord);
+
+ public abstract List<SkinCheckListVo> entitiesToListVos(List<SysSkinCheckRecord> list);
+
+ @Mapping(target = "sex", source = "ext2")
+ @Mapping(target = "vipName", source = "userName")
+ public abstract SkinCheckDetailVo entityToDetailVo(SysSkinCheckRecord sysSkinCheckRecord);
+
+ @Mapping(target = "title", source = "symptom")
+ public abstract SkinCheckDiagnoseItemVo entityToDiagnoseItem(SysSkinDetail sysSkinDetail);
+
+ public abstract List<SkinCheckDiagnoseItemVo> entitiesToDiagnoseItems(List<SysSkinDetail> list);
+
+ @Mapping(target = "title", source = "symptom")
+ public abstract SkinCheckAnalysisItems entityToAnalysisItem(SysSkinDetail sysSkinDetail);
+
+ public abstract List<SkinCheckAnalysisItems> entitiesToAnalysisItems(List<SysSkinDetail> list);
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java
new file mode 100644
index 0000000..2f1806f
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckAnalysisItems.java
@@ -0,0 +1,77 @@
+package com.matrix.system.app.vo;
+
+import com.matrix.system.shopXcx.bean.ShopProduct;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+@ApiModel(value = "SkinCheckAnalysisItems", description = "问题分析返回接口类")
+public class SkinCheckAnalysisItems {
+
+ @ApiModelProperty(value = "图片")
+ private String img;
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "问题分析")
+ private String analysis;
+
+ @ApiModelProperty(value = "解决办法")
+ private String solution;
+
+ @ApiModelProperty(hidden = true)
+ private String productIds;
+
+ @ApiModelProperty(value = "产品列表")
+ private List<String> products;
+
+ public String getProductIds() {
+ return productIds;
+ }
+
+ public void setProductIds(String productIds) {
+ this.productIds = productIds;
+ }
+
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getAnalysis() {
+ return analysis;
+ }
+
+ public void setAnalysis(String analysis) {
+ this.analysis = analysis;
+ }
+
+ public String getSolution() {
+ return solution;
+ }
+
+ public void setSolution(String solution) {
+ this.solution = solution;
+ }
+
+ public List<String> getProducts() {
+ return products;
+ }
+
+ public void setProducts(List<String> products) {
+ this.products = products;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java
new file mode 100644
index 0000000..cec1053
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDetailVo.java
@@ -0,0 +1,80 @@
+package com.matrix.system.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.List;
+
+@ApiModel(value = "SkinCheckDetailVo", description = "皮肤检测详情返回接口类")
+public class SkinCheckDetailVo {
+
+ @ApiModelProperty(value = "会员姓名")
+ private String vipName;
+
+ @ApiModelProperty(value = "头像")
+ private String photo;
+
+ @ApiModelProperty(value = "性别")
+ private String sex;
+
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+ @ApiModelProperty(value = "检测时间")
+ private Date checkTime;
+
+ @ApiModelProperty(value = "诊断结果")
+ List<SkinCheckDiagnoseItemVo> diagnoseItems;
+
+ @ApiModelProperty(value = "问题分析")
+ List<SkinCheckAnalysisItems> analysisItems;
+
+ public String getVipName() {
+ return vipName;
+ }
+
+ public void setVipName(String vipName) {
+ this.vipName = vipName;
+ }
+
+ public String getPhoto() {
+ return photo;
+ }
+
+ public void setPhoto(String photo) {
+ this.photo = photo;
+ }
+
+ public String getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+
+ public Date getCheckTime() {
+ return checkTime;
+ }
+
+ public void setCheckTime(Date checkTime) {
+ this.checkTime = checkTime;
+ }
+
+ public List<SkinCheckDiagnoseItemVo> getDiagnoseItems() {
+ return diagnoseItems;
+ }
+
+ public void setDiagnoseItems(List<SkinCheckDiagnoseItemVo> diagnoseItems) {
+ this.diagnoseItems = diagnoseItems;
+ }
+
+ public List<SkinCheckAnalysisItems> getAnalysisItems() {
+ return analysisItems;
+ }
+
+ public void setAnalysisItems(List<SkinCheckAnalysisItems> analysisItems) {
+ this.analysisItems = analysisItems;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java
new file mode 100644
index 0000000..1f5cbcc
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckDiagnoseItemVo.java
@@ -0,0 +1,31 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+@ApiModel(value = "SkinCheckDiagnoseItemVo", description = "诊断结果返回参数类")
+public class SkinCheckDiagnoseItemVo {
+
+ @ApiModelProperty(value = "标题")
+ private String title;
+
+ @ApiModelProperty(value = "百分比")
+ private Double percentage;
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+
+ public Double getPercentage() {
+ return percentage;
+ }
+
+ public void setPercentage(Double percentage) {
+ this.percentage = percentage;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java
new file mode 100644
index 0000000..0ef5c5c
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/SkinCheckListVo.java
@@ -0,0 +1,58 @@
+package com.matrix.system.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+@ApiModel(value = "SkinCheckListVo", description = "皮肤检测列表返回参数类")
+public class SkinCheckListVo {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "检测人员")
+ private String checkUserName;
+
+ @ApiModelProperty(value = "检测门店")
+ private String shopName;
+
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8")
+ @ApiModelProperty(value = "检测时间")
+ private Date checkTime;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+
+ public String getCheckUserName() {
+ return checkUserName;
+ }
+
+ public void setCheckUserName(String checkUserName) {
+ this.checkUserName = checkUserName;
+ }
+
+ public String getShopName() {
+ return shopName;
+ }
+
+ public void setShopName(String shopName) {
+ this.shopName = shopName;
+ }
+
+ public Date getCheckTime() {
+ return checkTime;
+ }
+
+ public void setCheckTime(Date checkTime) {
+ this.checkTime = checkTime;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java
index 6fac369..62d9262 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysSkinCheckRecord.java
@@ -98,11 +98,22 @@
private String userName;
@Extend
+ private String sex;
+
+ @Extend
private String shopName;
@Extend
private String checkUserName;
+ public String getSex() {
+ return sex;
+ }
+
+ public void setSex(String sex) {
+ this.sex = sex;
+ }
+
public Date getBeginTime() {
return beginTime;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java
index 176f9c0..653bfde 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopProductDao.java
@@ -53,6 +53,8 @@
*/
List<ShopProduct> selectByIds(@Param("ids") List<Integer> ids);
+ List<String> selectProductNameByIds(@Param("ids") List<Integer> ids);
+
List<ShopProduct> selectProductByAttrid(@Param("attrId") String attrId,@Param("shopId") Long shopId);
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml
index 73519e7..cf75379 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysSkinCheckRecordDao.xml
@@ -18,11 +18,13 @@
<result property="shopName" column="shopName" />
<result property="telphone" column="telphone" />
<result property="checkUserName" column="checkUserName" />
+ <result property="userName" column="userName" />
<result property="ext1" column="ext1" />
<result property="ext2" column="ext2" />
<result property="ext3" column="ext3" />
<result property="ext4" column="ext4" />
- <result property="ext5" column="ext5" />
+ <result property="ext5" column="ext5" />
+ <result property="sex" column="sex" />
<collection property="skinDetails" ofType="com.matrix.system.hive.bean.SysSkinDetail" column="id">
<id property="id" column="detailId" />
<result property="checkId" column="check_id" />
@@ -356,10 +358,13 @@
t3.symptom analysisSymptom,
t3.percentage analysisPercentage,
t3.analysis analysisAnalysis,
- t3.img analysisImg
+ t3.img analysisImg,
+ t4.vip_name userName,
+ t4.sex sex
from sys_skin_check_record t1
left join sys_skin_detail t2 on t1.id=t2.check_id and t2.t1=1
left join sys_skin_detail t3 on t1.id=t3.check_id and t3.t1=2
+ left join sys_vip_info t4 on t1.user_id=t4.id
where t1.id=#{id}
</select>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
index f12db2c..2c2cf8c 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductDao.xml
@@ -846,6 +846,16 @@
</foreach>
</select>
+ <select id="selectProductNameByIds" resultType="java.lang.String">
+ select
+ title
+ from shop_product
+ where id in
+ <foreach collection="ids" item="item" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ </select>
+
<!-- 根据id 锁表查询-->
<select id="selectForUpdate" resultMap="ShopProductMap">
--
Gitblit v1.9.1