Parcourir la source

完善评价模块接口设计

wangdy il y a 8 ans
Parent
commit
663d0fbbb1

+ 183 - 0
src/main/java/com/uas/platform/b2c/trade/rate/controller/RateController.java

@@ -0,0 +1,183 @@
+package com.uas.platform.b2c.trade.rate.controller;
+
+
+import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.prod.store.model.StoreIn;
+import com.uas.platform.b2c.prod.store.service.StoreInService;
+import com.uas.platform.b2c.trade.order.model.OrderDetail;
+import com.uas.platform.b2c.trade.rate.model.RateBuyer;
+import com.uas.platform.b2c.trade.rate.model.RateGoods;
+import com.uas.platform.b2c.trade.rate.model.RateTemplate;
+import com.uas.platform.b2c.trade.rate.model.RateVendor;
+import com.uas.platform.b2c.trade.rate.service.RateService;
+import com.uas.platform.b2c.trade.support.CodeType;
+import com.uas.platform.b2c.trade.support.ResultMap;
+import com.uas.platform.core.exception.IllegalOperatorException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.method.P;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 评价接口类
+ * Created by wangdy on 2017-08-30.
+ */
+@RestController
+@RequestMapping("/rate")
+public class RateController {
+
+    @Autowired
+    private RateService rateService;
+    @Autowired
+    private StoreInService storeInService;
+
+    /**
+     * 买家评价卖家店铺
+     *
+     * @param json storeid,enuu,3个星级
+     * @return the result map
+     */
+    @RequestMapping(value = "/rateVendor/{orderId}", method = RequestMethod.POST)
+    public ResultMap saveRateVendor(@PathVariable("orderId") Long orderId, @RequestBody String json) {
+        RateVendor rateVendor = FastjsonUtils.fromJson(json, RateVendor.class);
+        rateVendor.setUserUU(SystemSession.getUser().getUserUU());
+        rateVendor.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
+        rateVendor.setOrderId(orderId);
+        rateVendor.setTime(new Date(System.currentTimeMillis()));
+        if(null == rateVendor.getStoreId() || null == rateVendor.getEnuu() || null== rateVendor.getVendorLevel()){
+            return  new ResultMap(CodeType.ERROR_STATE.code(),"参数有误");
+        }
+        RateVendor result = rateService.saveRateVendor(rateVendor);
+        //订单状态变更
+        //TODO
+        return new ResultMap(CodeType.OK.code(), "评价成功", result);
+
+    }
+
+
+    /**
+     * 买家评价商品
+     *
+     * @param json 匿名,
+     * @return the result map
+     */
+    @RequestMapping(value = "/rateGoods/{orderId}", method = RequestMethod.POST)
+    public ResultMap saveRateGoods(@PathVariable("orderId") String orderId, @RequestBody String json) {
+        List<RateGoods> rateGoodsList = FastjsonUtils.fromJsonArray(json, RateGoods.class);
+        for (RateGoods rateGoods : rateGoodsList){
+            //默认匿名评价
+            rateGoods.setIsAnony(rateGoods.getIsAnony() == null ? 1 : rateGoods.getIsAnony());
+            rateGoods.setUserUU(SystemSession.getUser().getUserUU());
+            rateGoods.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
+            rateGoods.setOrderId(orderId);
+            rateGoods.setBuyerRateTime(new Date(System.currentTimeMillis()));
+
+        }
+        rateService.saveRateGoods(rateGoodsList);
+
+        return new ResultMap(CodeType.OK.code(), "评价成功");
+
+    }
+    /**
+     * 买家追评评价商品
+     *
+     * @param json 匿名,
+     * @return the result map
+     */
+    @RequestMapping(value = "/afterRateGoods/{orderId}", method = RequestMethod.POST)
+    public ResultMap saveAfterRateGoods(@PathVariable("orderId") String orderId, @RequestBody String json) {
+        List<RateGoods> rateGoodsList = FastjsonUtils.fromJsonArray(json, RateGoods.class);
+        for (RateGoods rateGoods : rateGoodsList){
+            //默认匿名评价
+            rateGoods.setIsAnony(rateGoods.getIsAnony() == null ? 1 : rateGoods.getIsAnony());
+            rateGoods.setUserUU(SystemSession.getUser().getUserUU());
+            rateGoods.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
+            rateGoods.setOrderId(orderId);
+            rateGoods.setBuyerAfterRateTime(new Date(System.currentTimeMillis()));
+
+        }
+        rateService.saveAfterRateGoods(rateGoodsList);
+
+        return new ResultMap(CodeType.OK.code(), "追评成功");
+
+    }
+
+    /**
+     * 卖家评价买家
+     *
+     * @param json 匿名,
+     * @return the result map
+     */
+    @RequestMapping(value = "/rateBuyer/{purchaseId}", method = RequestMethod.POST)
+    public ResultMap saveRateBuyer(@PathVariable("purchaseId") String purchaseId, @RequestBody String json) {
+        RateBuyer rateBuyer = FastjsonUtils.fromJson(json, RateBuyer.class);
+        rateBuyer.setUserUU(SystemSession.getUser().getUserUU());
+        rateBuyer.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
+        rateBuyer.setPurchaseId(purchaseId);
+        rateBuyer.setVendorRateTime(new Date(System.currentTimeMillis()));
+        RateBuyer result = rateService.saveRateBuyer(rateBuyer);
+
+        return new ResultMap(CodeType.OK.code(), "评价成功",result);
+
+    }
+
+    /**
+     * 卖家追评价买家
+     *
+     * @param json 匿名,
+     * @return the result map
+     */
+    @RequestMapping(value = "/afterRateBuyer/{purchaseId}", method = RequestMethod.POST)
+    public ResultMap saveAfterRateBuyer(@PathVariable("purchaseId") String purchaseId, @RequestBody String json) {
+        RateBuyer rateBuyer = FastjsonUtils.fromJson(json, RateBuyer.class);
+        rateBuyer.setUserUU(SystemSession.getUser().getUserUU());
+        rateBuyer.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
+        rateBuyer.setPurchaseId(purchaseId);
+        rateBuyer.setVendorRateTime(new Date(System.currentTimeMillis()));
+        RateBuyer result = rateService.saveRateBuyer(rateBuyer);
+
+        return new ResultMap(CodeType.OK.code(), "追评成功",result);
+
+    }
+
+    /**
+     * 保存或修改评价模版
+     *
+     * @param json 匿名,
+     * @return the result map
+     */
+    @RequestMapping(value = "/rateTemplate/{storeuuid}", method = RequestMethod.POST)
+    public ResultMap saveRateTemplate(@PathVariable("storeuuid") String storeuuid, @RequestBody String json) {
+        RateTemplate rateTemplate = FastjsonUtils.fromJson(json, RateTemplate.class);
+        rateTemplate.setUserUU(SystemSession.getUser().getUserUU());
+        rateTemplate.setStoreId((storeInService.findByUuid(storeuuid)).getId());
+
+        rateTemplate.setCreateTime(new Date(System.currentTimeMillis()));
+        RateTemplate result = rateService.saveRateTemplate(rateTemplate);
+
+        return new ResultMap(CodeType.OK.code(), "创建成功",result);
+    }
+
+    /***************************查询操作******************************************/
+
+    /**
+     * 查询该企业下的所有模版信息
+     * @param storeuuid
+     * @return
+     */
+    @RequestMapping(value = "/rateTemplate/{storeuuid}", method = RequestMethod.GET)
+    public ResultMap getRateTemplate(@PathVariable("storeuuid") String storeuuid){
+        Long storeid = storeInService.findByUuid(storeuuid).getId();
+        List<RateTemplate> result = rateService.getRateTempalteByStoreId(storeid);
+        return new ResultMap(CodeType.OK.code(), "查询成功",result);
+    }
+
+    @RequestMapping(value = "/rateVendor/{orderId}", method = RequestMethod.GET)
+    public ResultMap getRateVendor(@PathVariable("orderId")String orderId){
+        return null;
+    }
+
+}

+ 19 - 0
src/main/java/com/uas/platform/b2c/trade/rate/dao/RateBuyerDao.java

@@ -0,0 +1,19 @@
+package com.uas.platform.b2c.trade.rate.dao;
+
+import com.uas.platform.b2c.trade.rate.model.RateBuyer;
+import com.uas.platform.b2c.trade.rate.model.RateVendor;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * Created by wangdy on 2017-08-30.
+ */
+
+@Repository
+public interface RateBuyerDao extends JpaSpecificationExecutor<RateBuyer>, JpaRepository<RateBuyer, Long> {
+
+    List<RateBuyer> findByOrderId(Long orderId);
+}

+ 18 - 0
src/main/java/com/uas/platform/b2c/trade/rate/dao/RateGoodsDao.java

@@ -0,0 +1,18 @@
+package com.uas.platform.b2c.trade.rate.dao;
+
+import com.uas.platform.b2c.trade.rate.model.RateGoods;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * Created by wangdy on 2017-08-30.
+ */
+
+@Repository
+public interface RateGoodsDao extends JpaSpecificationExecutor<RateGoods>, JpaRepository<RateGoods, Long> {
+
+    List<RateGoods> findByGoodsId(Long goodsId);
+}

+ 20 - 0
src/main/java/com/uas/platform/b2c/trade/rate/dao/RateTemplateDao.java

@@ -0,0 +1,20 @@
+package com.uas.platform.b2c.trade.rate.dao;
+
+import com.uas.platform.b2c.trade.rate.model.RateTemplate;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * Created by wangdy on 2017-08-30.
+ */
+
+@Repository
+public interface RateTemplateDao extends JpaSpecificationExecutor<RateTemplate>, JpaRepository<RateTemplate, Long> {
+
+    List<RateTemplate> findByUserUU(Long userUU);
+
+    List<RateTemplate> findByStoreId(Long storeID);
+}

+ 18 - 0
src/main/java/com/uas/platform/b2c/trade/rate/dao/RateVendorDao.java

@@ -0,0 +1,18 @@
+package com.uas.platform.b2c.trade.rate.dao;
+
+import com.uas.platform.b2c.trade.rate.model.RateVendor;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * Created by wangdy on 2017-08-30.
+ */
+
+@Repository
+public interface RateVendorDao extends JpaSpecificationExecutor<RateVendor>, JpaRepository<RateVendor, Long> {
+
+    List<RateVendor> findByOrderId(Long orderId);
+}

+ 17 - 3
src/main/java/com/uas/platform/b2c/trade/rate/model/RateBuyer.java

@@ -39,7 +39,13 @@ public class RateBuyer implements Serializable{
      * 订单id
      */
     @Column(name = "order_id")
-    private Long orderId;
+    private String orderId;
+
+    /**
+     * 采购单id
+     */
+    @Column(name = "purchase_id")
+    private String purchaseId;
 
     /**
      * 卖家企业uu
@@ -102,11 +108,11 @@ public class RateBuyer implements Serializable{
         this.userEnuu = userEnuu;
     }
 
-    public Long getOrderId() {
+    public String getOrderId() {
         return orderId;
     }
 
-    public void setOrderId(Long orderId) {
+    public void setOrderId(String orderId) {
         this.orderId = orderId;
     }
 
@@ -165,4 +171,12 @@ public class RateBuyer implements Serializable{
     public void setVendorAfterRateTime(Date vendorAfterRateTime) {
         this.vendorAfterRateTime = vendorAfterRateTime;
     }
+
+    public String getPurchaseId() {
+        return purchaseId;
+    }
+
+    public void setPurchaseId(String purchaseId) {
+        this.purchaseId = purchaseId;
+    }
 }

+ 30 - 3
src/main/java/com/uas/platform/b2c/trade/rate/model/RateGoods.java

@@ -47,7 +47,7 @@ public class RateGoods implements Serializable{
      * 订单id
      */
     @Column(name = "order_id")
-    private Long orderId;
+    private String orderId;
 
     /**
      * 卖家企业uu
@@ -87,6 +87,18 @@ public class RateGoods implements Serializable{
     @Column(name = "buyer_afterrate", length = 400)
     private String buyerAfterRate;
 
+    /**
+     * 初评卖家回复
+     */
+    @Column(name = "return_meg", length = 400)
+    private String returnMeg;
+
+    /**
+     * 追评卖家回复
+     */
+    @Column(name = "afterreturn_meg", length = 400)
+    private String afterReturnMeg;
+
 
 
     /**********买家卖家初评追评时间*************/
@@ -133,11 +145,11 @@ public class RateGoods implements Serializable{
         this.goodsId = goodsId;
     }
 
-    public Long getOrderId() {
+    public String getOrderId() {
         return orderId;
     }
 
-    public void setOrderId(Long orderId) {
+    public void setOrderId(String orderId) {
         this.orderId = orderId;
     }
 
@@ -208,4 +220,19 @@ public class RateGoods implements Serializable{
         this.buyerAfterRateTime = buyerAfterRateTime;
     }
 
+    public String getReturnMeg() {
+        return returnMeg;
+    }
+
+    public void setReturnMeg(String returnMeg) {
+        this.returnMeg = returnMeg;
+    }
+
+    public String getAfterReturnMeg() {
+        return afterReturnMeg;
+    }
+
+    public void setAfterReturnMeg(String afterReturnMeg) {
+        this.afterReturnMeg = afterReturnMeg;
+    }
 }

+ 17 - 3
src/main/java/com/uas/platform/b2c/trade/rate/model/RateTemplate.java

@@ -27,6 +27,12 @@ public class RateTemplate implements Serializable{
     @Column(name = "id")
     private Long id;
 
+    /**
+     * 创建人uu
+     */
+    @Column(name = "rate_templateuser")
+    private Long userUU;
+
     /**
      * 模版名称
      */
@@ -43,7 +49,7 @@ public class RateTemplate implements Serializable{
      * 所属店铺id
      */
     @Column(name = "storeid")
-    private String storeId;
+    private Long storeId;
 
     /**
      * 所属店铺
@@ -58,6 +64,14 @@ public class RateTemplate implements Serializable{
     @Column(name = "createtime")
     private Date createTime;
 
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }
@@ -86,11 +100,11 @@ public class RateTemplate implements Serializable{
         this.rateTemplateContent = rateTemplateContent;
     }
 
-    public String getStoreId() {
+    public Long getStoreId() {
         return storeId;
     }
 
-    public void setStoreId(String storeId) {
+    public void setStoreId(Long storeId) {
         this.storeId = storeId;
     }
 

+ 86 - 0
src/main/java/com/uas/platform/b2c/trade/rate/service/RateService.java

@@ -0,0 +1,86 @@
+package com.uas.platform.b2c.trade.rate.service;
+
+import com.uas.platform.b2c.trade.rate.model.RateBuyer;
+import com.uas.platform.b2c.trade.rate.model.RateGoods;
+import com.uas.platform.b2c.trade.rate.model.RateTemplate;
+import com.uas.platform.b2c.trade.rate.model.RateVendor;
+
+import java.util.List;
+
+/**
+ * Created by wangdy on 2017-08-30.
+ */
+public interface RateService {
+    /**
+     * 保存买家对卖家店铺评价
+     *
+     * @param  rateVendor
+     * @return order order
+     */
+    RateVendor saveRateVendor(RateVendor rateVendor);
+
+    /**
+     * 买家对商品的初评
+     * @param rateGoodsList
+     */
+    void saveRateGoods(List<RateGoods> rateGoodsList);
+
+    /**
+     * 买家对商品的追评
+     * @param rateGoodsList
+     */
+    void saveAfterRateGoods(List<RateGoods> rateGoodsList);
+
+
+    /**
+     * 卖家对买家的初评
+     * @param rateBuyer
+     * @return
+     */
+    RateBuyer saveRateBuyer(RateBuyer rateBuyer);
+
+    /**
+     * 卖家对卖家的追评
+     * @param rateBuyer
+     * @return
+     */
+    RateBuyer saveAfterRateBuyer(RateBuyer rateBuyer);
+
+    /**
+     * 保存评价模版
+     * @param rateTemplate
+     * @return
+     */
+    RateTemplate saveRateTemplate(RateTemplate rateTemplate);
+
+
+    /****************************查询模版方法****************************/
+
+    /**
+     * 查询个人名下所有模版
+     * @param userUU
+     * @return
+     */
+    List<RateTemplate> getRateTemplateByUserUU(Long userUU);
+
+    /**
+     * 查询该店铺下的所有模版
+     * @param storeId
+     * @return
+     */
+    List<RateTemplate> getRateTempalteByStoreId(Long storeId);
+
+    /******************************************************************/
+
+    /********************************查询卖家对买家的评价**********************************/
+
+    RateBuyer getRateBuyerByOrderId(Long orderId);
+
+    /********************************查询买家对店铺的评价**********************************/
+
+    RateVendor getRateVendorByOrderId(Long orderId);
+
+    RateGoods  getRateGoodsByGoodsId(Long goodsId);
+
+
+}

+ 89 - 0
src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java

@@ -0,0 +1,89 @@
+package com.uas.platform.b2c.trade.rate.service.impl;
+
+import com.uas.platform.b2c.trade.rate.dao.RateBuyerDao;
+import com.uas.platform.b2c.trade.rate.dao.RateGoodsDao;
+import com.uas.platform.b2c.trade.rate.dao.RateTemplateDao;
+import com.uas.platform.b2c.trade.rate.dao.RateVendorDao;
+import com.uas.platform.b2c.trade.rate.model.RateBuyer;
+import com.uas.platform.b2c.trade.rate.model.RateGoods;
+import com.uas.platform.b2c.trade.rate.model.RateTemplate;
+import com.uas.platform.b2c.trade.rate.model.RateVendor;
+import com.uas.platform.b2c.trade.rate.service.RateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Created by wangdy on 2017-08-30.
+ */
+@Service
+public class RateServiceImpl implements RateService{
+
+    @Autowired
+    RateVendorDao rateVendorDao;
+
+    @Autowired
+    RateGoodsDao rateGoodsDao;
+
+    @Autowired
+    RateTemplateDao rateTemplateDao;
+
+    @Autowired
+    RateBuyerDao  rateBuyerDao;
+
+    @Override
+    public RateVendor saveRateVendor(RateVendor rateVendor) {
+        return rateVendorDao.save(rateVendor);
+    }
+
+    @Override
+    public void saveRateGoods(List<RateGoods> rateGoodsList) {
+        rateGoodsDao.save(rateGoodsList);
+    }
+
+    @Override
+    public void saveAfterRateGoods(List<RateGoods> rateGoodsList) {
+        rateGoodsDao.save(rateGoodsList);
+    }
+
+    @Override
+    public RateBuyer saveRateBuyer(RateBuyer rateBuyer) {
+        return rateBuyerDao.save(rateBuyer);
+    }
+
+    @Override
+    public RateBuyer saveAfterRateBuyer(RateBuyer rateBuyer) {
+        return rateBuyerDao.save(rateBuyer);
+    }
+
+    @Override
+    public RateTemplate saveRateTemplate(RateTemplate rateTemplate) {
+        return rateTemplateDao.save(rateTemplate);
+    }
+
+    @Override
+    public List<RateTemplate> getRateTemplateByUserUU(Long userUU) {
+        return rateTemplateDao.findByUserUU(userUU);
+    }
+
+    @Override
+    public List<RateTemplate> getRateTempalteByStoreId(Long storeId) {
+        return rateTemplateDao.findByStoreId(storeId);
+    }
+
+    @Override
+    public RateBuyer getRateBuyerByOrderId(Long orderId) {
+        return rateBuyerDao.findByOrderId(orderId).get(0);
+    }
+
+    @Override
+    public RateVendor getRateVendorByOrderId(Long orderId) {
+        return rateVendorDao.findByOrderId(orderId).get(0);
+    }
+
+    @Override
+    public RateGoods getRateGoodsByGoodsId(Long goodsId) {
+        return rateGoodsDao.findByGoodsId(goodsId).get(0);
+    }
+}

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/rate/model/RateType.java → src/main/java/com/uas/platform/b2c/trade/rate/status/RateType.java

@@ -1,4 +1,4 @@
-package com.uas.platform.b2c.trade.rate.model;
+package com.uas.platform.b2c.trade.rate.status;
 
 /**
  * 评价类型枚举类

+ 7 - 0
src/main/java/com/uas/platform/b2c/trade/rate/task/RateTask.java

@@ -0,0 +1,7 @@
+package com.uas.platform.b2c.trade.rate.task;
+
+/**
+ * Created by uas on 2017-08-30.
+ */
+public class RateTask {
+}