Parcourir la source

供应商商品维修

chao il y a 3 ans
Parent
commit
d51e96d363

+ 12 - 0
src/main/java/com/caimei365/commodity/controller/ProductPageApi.java

@@ -2,6 +2,7 @@ package com.caimei365.commodity.controller;
 
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.po.ProductParameterPo;
+import com.caimei365.commodity.model.po.ProductRepairPo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.vo.*;
 import com.caimei365.commodity.service.PageService;
@@ -237,4 +238,15 @@ public class ProductPageApi {
         return pageService.getProductDetailRecommends(productId, recommendType, userId);
     }
 
+    /**
+     * 商品维修(链接分享数据)
+     * @param code 维修code
+     */
+    @ApiOperation("商品维修(链接分享)")
+    @ApiImplicitParam(required = true, name = "code", value = "维修code")
+    @GetMapping("/product/repair")
+    public ResponseJson<ProductRepairPo> getProductRepair(String code) {
+        return pageService.getProductRepair(code);
+    }
+
 }

+ 11 - 0
src/main/java/com/caimei365/commodity/mapper/PageMapper.java

@@ -1,5 +1,6 @@
 package com.caimei365.commodity.mapper;
 
+import com.caimei365.commodity.model.po.ProductRepairPo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.vo.*;
 import org.apache.ibatis.annotations.Mapper;
@@ -123,4 +124,14 @@ public interface PageMapper {
      * 获取友情链接
      */
     List<BaseLinkVo> getFriendLinks();
+
+    /**
+     * 仪器维修表ID
+     */
+    Integer getMaintenanceIdByCode(String code);
+
+    /**
+     * 维修详情
+     */
+    ProductRepairPo getMaintenanceById(Integer id);
 }

+ 97 - 0
src/main/java/com/caimei365/commodity/model/po/ProductRepairPo.java

@@ -0,0 +1,97 @@
+package com.caimei365.commodity.model.po;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/6/18
+ */
+@Data
+public class ProductRepairPo implements Serializable {
+    /**  */
+    private static final long serialVersionUID = 1L;
+    /**  */
+    private Integer id;
+    /** 订单号 */
+    private String orderNo;
+    /** 用户ID */
+    private Integer userId;
+    /** 仪器名称 */
+    private String instrumentName;
+    /** 生产厂家 */
+    private String manufacturer;
+    /** 仪器品牌/型号 */
+    private String instrumentBrand;
+    /** 维修数量 */
+    private String maintenanceNum;
+    /** 仪器图1 */
+    private String instrumentImage1;
+    /** 仪器图2 */
+    private String instrumentImage2;
+    /** 仪器图3 */
+    private String instrumentImage3;
+    /** 仪器图4 */
+    private String instrumentImage4;
+    /** 仪器图5 */
+    private String instrumentImage5;
+    /** 问题描述 */
+    private String problemDescription;
+    /** 用户账号 */
+    private String userAccount;
+    /** 用户名称 */
+    private String userName;
+    /** 用户联系人 */
+    private String userContact;
+    /** 用户手机号 */
+    private Long userMobile;
+    /** 用户联系地址 */
+    private String userAddress;
+    /** 维修商名称 */
+    private String maintainerName;
+    /** 维修商手机号 */
+    private Long maintainerMobile;
+    /** 维修商联系地址 */
+    private String maintainerAddress;
+    /** 维修状态1.已提交,2已对接(确认真实后)3已评价,4取消 */
+    private String status;
+    /** 真实性 1已核实,2无效 */
+    private Long authenticity;
+    /** 服务评分,一颗心表示1,多颗数次之 */
+    private Long serviceRating;
+    /** 服务评价 */
+    private String serviceEvaluate;
+    /** 是否解决:0未解决,1已解决 */
+    private String solveStatus;
+    /** 取消原因 */
+    private String cancelReason;
+    /** 提交时间 */
+    private Date submitDate;
+    /** 对接时间 */
+    private Date dockingDate;
+    /** 评价时间 */
+    private Date evaluateDate;
+    /** 取消时间 */
+    private Date cancelDate;
+    /** 注册时间开始 查询条件 */
+    private String startTime;
+    /** 注册时间结束  查询条件 */
+    private String endTime;
+    /**  */
+    private String provinceName;
+    /**  */
+    private String cityName;
+    /**  */
+    private String townName;
+    /** 能不能评价 true 就是用户可评价,  false 就是供应商不可评价仅查看 */
+    private boolean canEvaluation;
+    /** true 只展示基本信息,  false  展示详细信息 */
+    private boolean onlyBaseInfo;
+    /** 信息查看者类型 1=用户查看可以评价; (供应商只能查看不能操作)2=没有对接供应商查看基本信息; 3已对接供应查看完整信息 */
+    private String viewerType;
+
+}

+ 6 - 0
src/main/java/com/caimei365/commodity/service/PageService.java

@@ -2,6 +2,7 @@ package com.caimei365.commodity.service;
 
 import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.po.ProductParameterPo;
+import com.caimei365.commodity.model.po.ProductRepairPo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.vo.*;
 
@@ -117,4 +118,9 @@ public interface PageService {
      */
     ResponseJson<List<ProductListVo>> getProductDetailRecommends(Integer productId, Integer recommendType, Integer userId);
 
+    /**
+     * 商品维修(链接分享数据)
+     * @param code 维修code
+     */
+    ResponseJson<ProductRepairPo> getProductRepair(String code);
 }

+ 46 - 0
src/main/java/com/caimei365/commodity/service/impl/PageServiceImpl.java

@@ -8,6 +8,7 @@ import com.caimei365.commodity.model.ResponseJson;
 import com.caimei365.commodity.model.po.ProductDetailInfoPo;
 import com.caimei365.commodity.model.po.ProductImagePo;
 import com.caimei365.commodity.model.po.ProductParameterPo;
+import com.caimei365.commodity.model.po.ProductRepairPo;
 import com.caimei365.commodity.model.search.ProductListVo;
 import com.caimei365.commodity.model.vo.*;
 import com.caimei365.commodity.service.PageService;
@@ -569,6 +570,51 @@ public class PageServiceImpl implements PageService {
         return ResponseJson.success(list);
     }
 
+    /**
+     * 商品维修(链接分享数据)
+     *
+     * @param code 维修code
+     */
+    @Override
+    public ResponseJson<ProductRepairPo> getProductRepair(String code) {
+        if (StringUtils.isEmpty(code)) {
+            return ResponseJson.error("维修code不能为空!", null);
+        }
+        ProductRepairPo repair = null;
+        // 仪器维修表ID
+        Integer maintenanceId = pageMapper.getMaintenanceIdByCode(code);
+        if (null != maintenanceId) {
+            // 维修详情
+            repair = pageMapper.getMaintenanceById(maintenanceId);
+        }
+        if (null == repair){
+            return ResponseJson.error("无效的链接!", null);
+        }
+        String viewerType = repair.getViewerType();
+        if ("1".equals(viewerType)) {
+            // 用户可评价展示详细信息
+            repair.setCanEvaluation(true);
+            repair.setOnlyBaseInfo(false);
+        } else if ("3".equals(viewerType)) {
+            // 供应商不可评价展示详细信息
+            repair.setCanEvaluation(false);
+            repair.setOnlyBaseInfo(false);
+        } else {
+            // 供应商不可评价展示基础信息
+            ProductRepairPo repairTemp = new ProductRepairPo();
+            repairTemp.setCanEvaluation(false);
+            repairTemp.setOnlyBaseInfo(true);
+            repairTemp.setViewerType("2");
+            repairTemp.setUserAddress(repair.getUserAddress());
+            repairTemp.setInstrumentName(repair.getInstrumentName());
+            repairTemp.setManufacturer(repair.getManufacturer());
+            repairTemp.setInstrumentBrand(repair.getInstrumentBrand());
+            repairTemp.setProblemDescription(repair.getProblemDescription());
+            return ResponseJson.success(repairTemp);
+        }
+        return ResponseJson.success(repair);
+    }
+
     /**
      * 设置跳转参数
      * @param floorContent FloorContentVo

+ 44 - 0
src/main/resources/mapper/PageMapper.xml

@@ -293,6 +293,50 @@
 		from new_page_friendship_link
 		where delFlag = 0 order by id
     </select>
+    <select id="getMaintenanceIdByCode" resultType="java.lang.Integer">
+        select cmInstrumentMaintenanceId from cm_instrument_maintenance_links where linkCode = #{code}
+    </select>
+    <select id="getMaintenanceById" resultType="com.caimei365.commodity.model.po.ProductRepairPo">
+        SELECT
+            a.id AS "id",
+            a.orderNo AS "orderNo",
+            a.userId AS "userId",
+            a.instrumentName AS "instrumentName",
+            a.manufacturer AS "manufacturer",
+            a.instrumentBrand AS "instrumentBrand",
+            a.maintenanceNum AS "maintenanceNum",
+            a.instrumentImage1 AS "instrumentImage1",
+            a.instrumentImage2 AS "instrumentImage2",
+            a.instrumentImage3 AS "instrumentImage3",
+            a.instrumentImage4 AS "instrumentImage4",
+            a.instrumentImage5 AS "instrumentImage5",
+            a.problemDescription AS "problemDescription",
+            a.userAccount AS "userAccount",
+            a.userName AS "userName",
+            a.userContact AS "userContact",
+            a.userMobile AS "userMobile",
+            concat(a.provinceName, a.cityName, a.townName, a.userAddress) AS userAddress,
+            a.maintainerName AS "maintainerName",
+            a.maintainerMobile AS "maintainerMobile",
+            a.maintainerAddress AS "maintainerAddress",
+            a.status AS "status",
+            a.authenticity AS "authenticity",
+            a.serviceRating AS "serviceRating",
+            a.serviceEvaluate AS "serviceEvaluate",
+            a.solveStatus AS "solveStatus",
+            a.cancelReason AS "cancelReason",
+            a.submitDate AS "submitDate",
+            a.dockingDate AS "dockingDate",
+            a.evaluateDate AS "evaluateDate",
+            a.cancelDate AS "cancelDate",
+            a.provinceName AS "provinceName",
+            a.cityName AS "cityName",
+            a.townName AS "townName",
+            b.type AS "viewerType"
+        FROM cm_instrument_maintenance a
+        LEFT JOIN cm_instrument_maintenance_links b on a.id = b.cmInstrumentMaintenanceId
+        WHERE a.id = #{id}
+    </select>
 
 
 </mapper>