Browse Source

完善评价模块接口设计2

wangdy 8 years ago
parent
commit
808f2539a0

+ 65 - 2
src/main/java/com/uas/platform/b2c/trade/rate/controller/RateController.java

@@ -41,7 +41,7 @@ public class RateController {
      * @return the result map
      */
     @RequestMapping(value = "/rateVendor/{orderId}", method = RequestMethod.POST)
-    public ResultMap saveRateVendor(@PathVariable("orderId") Long orderId, @RequestBody String json) {
+    public ResultMap saveRateVendor(@PathVariable("orderId") String orderId, @RequestBody String json) {
         RateVendor rateVendor = FastjsonUtils.fromJson(json, RateVendor.class);
         rateVendor.setUserUU(SystemSession.getUser().getUserUU());
         rateVendor.setUserEnuu(SystemSession.getUser().getEnterprise().getUu());
@@ -119,6 +119,7 @@ public class RateController {
         rateBuyer.setPurchaseId(purchaseId);
         rateBuyer.setVendorRateTime(new Date(System.currentTimeMillis()));
         RateBuyer result = rateService.saveRateBuyer(rateBuyer);
+        //TODO 改变采购单状态
 
         return new ResultMap(CodeType.OK.code(), "评价成功",result);
 
@@ -161,6 +162,30 @@ public class RateController {
         return new ResultMap(CodeType.OK.code(), "创建成功",result);
     }
 
+    /**
+     * 卖家为商品评价添加回复(初评)
+     *
+     * @param  returnMeg
+     * @return the result map
+     */
+    @RequestMapping(value = "/rateReply/{orderId}", method = RequestMethod.POST)
+    public ResultMap saveReply(@PathVariable("orderId") String orderId, @RequestParam String goodsId, @RequestParam String returnMeg) {
+        RateGoods result = rateService.saveReply(orderId,goodsId,returnMeg);
+        return new ResultMap(CodeType.OK.code(), "回复成功",result);
+    }
+
+    /**
+     * 卖家为商品评价添加回复(追评)
+     *
+     * @param  returnMeg
+     * @return the result map
+     */
+    @RequestMapping(value = "/rateReply/{orderId}", method = RequestMethod.POST)
+    public ResultMap saveAfterReply(@PathVariable("orderId") String orderId, @RequestParam String goodsId, @RequestParam String returnMeg) {
+        RateGoods result = rateService.saveAfterReply(orderId,goodsId,returnMeg);
+        return new ResultMap(CodeType.OK.code(), "回复成功",result);
+    }
+
     /***************************查询操作******************************************/
 
     /**
@@ -175,9 +200,47 @@ public class RateController {
         return new ResultMap(CodeType.OK.code(), "查询成功",result);
     }
 
+    /**
+     * 查询该订单的买家评价卖家
+     * @param orderId
+     * @return
+     */
     @RequestMapping(value = "/rateVendor/{orderId}", method = RequestMethod.GET)
     public ResultMap getRateVendor(@PathVariable("orderId")String orderId){
-        return null;
+        RateVendor result = rateService.getRateVendorByOrderId(orderId);
+        return new ResultMap(CodeType.OK.code(), "查询成功",result);
+    }
+
+    /**
+     * 查询该订单的买家评价商品(根据订单id)
+     * @param orderId
+     * @return
+     */
+    @RequestMapping(value = "/rateGoods/{orderId}", method = RequestMethod.GET)
+    public ResultMap getRateGoodsByOrderId(@PathVariable("orderId")String orderId){
+        List<RateGoods> result = rateService.getRateGoodsByOrderId(orderId);
+        return new ResultMap(CodeType.OK.code(), "查询成功",result);
+    }
+    /**
+     * 查询该订单的买家评价商品(根据goodsId)
+     * @param goodsId
+     * @return
+     */
+    @RequestMapping(value = "/rateGoods/{goodsId}", method = RequestMethod.GET)
+    public ResultMap getRateGoodsByGoodsId(@PathVariable("goodsId")Long goodsId){
+        RateGoods result = rateService.getRateGoodsByGoodsId(goodsId);
+        return new ResultMap(CodeType.OK.code(), "查询成功",result);
+    }
+
+    /**
+     * 查询该订单的卖家评价买家
+     * @param orderId
+     * @return
+     */
+    @RequestMapping(value = "/rateBuyer/{orderId}", method = RequestMethod.GET)
+    public ResultMap getRateBuyer(@PathVariable("orderId")String orderId){
+        RateBuyer result = rateService.getRateBuyerByOrderId(orderId);
+        return new ResultMap(CodeType.OK.code(), "查询成功",result);
     }
 
 }

+ 6 - 1
src/main/java/com/uas/platform/b2c/trade/rate/dao/RateBuyerDao.java

@@ -15,5 +15,10 @@ import java.util.List;
 @Repository
 public interface RateBuyerDao extends JpaSpecificationExecutor<RateBuyer>, JpaRepository<RateBuyer, Long> {
 
-    List<RateBuyer> findByOrderId(Long orderId);
+    /**
+     * 根据订单id获取
+     * @param orderId
+     * @return
+     */
+    List<RateBuyer> findByOrderId(String orderId);
 }

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

@@ -14,5 +14,26 @@ import java.util.List;
 @Repository
 public interface RateGoodsDao extends JpaSpecificationExecutor<RateGoods>, JpaRepository<RateGoods, Long> {
 
+    /**
+     * 根据商品id获取
+     * @param goodsId
+     * @return
+     */
     List<RateGoods> findByGoodsId(Long goodsId);
+
+    /**
+     * 根据订单id获取
+     * @param orderId
+     * @return
+     */
+    List<RateGoods> findByOrderId(String orderId);
+
+
+    /**
+     * 根据订单和商品id定位唯一的一条商品评价
+     * @param orderId
+     * @param goodsId
+     * @return
+     */
+    List<RateGoods> findByOrderIdAndGoodsId(String orderId,String goodsId);
 }

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

@@ -14,7 +14,17 @@ import java.util.List;
 @Repository
 public interface RateTemplateDao extends JpaSpecificationExecutor<RateTemplate>, JpaRepository<RateTemplate, Long> {
 
+    /**
+     * 根据创建者uu获取
+     * @param userUU
+     * @return
+     */
     List<RateTemplate> findByUserUU(Long userUU);
 
+    /**
+     * 根据店铺id获取
+     * @param storeID
+     * @return
+     */
     List<RateTemplate> findByStoreId(Long storeID);
 }

+ 6 - 1
src/main/java/com/uas/platform/b2c/trade/rate/dao/RateVendorDao.java

@@ -14,5 +14,10 @@ import java.util.List;
 @Repository
 public interface RateVendorDao extends JpaSpecificationExecutor<RateVendor>, JpaRepository<RateVendor, Long> {
 
-    List<RateVendor> findByOrderId(Long orderId);
+    /**
+     * 根据订单id获取
+     * @param orderId
+     * @return
+     */
+    List<RateVendor> findByOrderId(String orderId);
 }

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

@@ -39,7 +39,7 @@ public class RateVendor implements Serializable{
      * 订单id
      */
     @Column(name = "order_id")
-    private Long orderId;
+    private String orderId;
 
     /**
      * 卖家企业uu
@@ -101,11 +101,11 @@ public class RateVendor 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;
     }
 

+ 15 - 2
src/main/java/com/uas/platform/b2c/trade/rate/service/RateService.java

@@ -53,6 +53,16 @@ public interface RateService {
      */
     RateTemplate saveRateTemplate(RateTemplate rateTemplate);
 
+    /**
+     * 保存卖家对商品评价的回复(初评回复)
+     */
+    RateGoods saveReply(String orderId, String goodsId, String reply);
+
+    /**
+     * 保存卖家对商品评价的回复(追评回复)
+     */
+    RateGoods saveAfterReply(String orderId, String goodsId, String reply);
+
 
     /****************************查询模版方法****************************/
 
@@ -70,17 +80,20 @@ public interface RateService {
      */
     List<RateTemplate> getRateTempalteByStoreId(Long storeId);
 
+
     /******************************************************************/
 
     /********************************查询卖家对买家的评价**********************************/
 
-    RateBuyer getRateBuyerByOrderId(Long orderId);
+    RateBuyer getRateBuyerByOrderId(String orderId);
 
     /********************************查询买家对店铺的评价**********************************/
 
-    RateVendor getRateVendorByOrderId(Long orderId);
+    RateVendor getRateVendorByOrderId(String orderId);
 
     RateGoods  getRateGoodsByGoodsId(Long goodsId);
 
+    List<RateGoods>  getRateGoodsByOrderId(String orderId);
+
 
 }

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

@@ -62,6 +62,20 @@ public class RateServiceImpl implements RateService{
         return rateTemplateDao.save(rateTemplate);
     }
 
+    @Override
+    public RateGoods saveReply(String orderId, String goodsId, String reply) {
+        RateGoods rateGoods = rateGoodsDao.findByOrderIdAndGoodsId(orderId,goodsId).get(0);
+        rateGoods.setReturnMeg(reply);
+        return rateGoodsDao.save(rateGoods);
+    }
+
+    @Override
+    public RateGoods saveAfterReply(String orderId, String goodsId, String reply) {
+        RateGoods rateGoods = rateGoodsDao.findByOrderIdAndGoodsId(orderId,goodsId).get(0);
+        rateGoods.setAfterReturnMeg(reply);
+        return rateGoodsDao.save(rateGoods);
+    }
+
     @Override
     public List<RateTemplate> getRateTemplateByUserUU(Long userUU) {
         return rateTemplateDao.findByUserUU(userUU);
@@ -73,12 +87,12 @@ public class RateServiceImpl implements RateService{
     }
 
     @Override
-    public RateBuyer getRateBuyerByOrderId(Long orderId) {
+    public RateBuyer getRateBuyerByOrderId(String orderId) {
         return rateBuyerDao.findByOrderId(orderId).get(0);
     }
 
     @Override
-    public RateVendor getRateVendorByOrderId(Long orderId) {
+    public RateVendor getRateVendorByOrderId(String orderId) {
         return rateVendorDao.findByOrderId(orderId).get(0);
     }
 
@@ -86,4 +100,9 @@ public class RateServiceImpl implements RateService{
     public RateGoods getRateGoodsByGoodsId(Long goodsId) {
         return rateGoodsDao.findByGoodsId(goodsId).get(0);
     }
+
+    @Override
+    public List<RateGoods> getRateGoodsByOrderId(String orderId) {
+        return rateGoodsDao.findByOrderId(orderId);
+    }
 }

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

@@ -3,5 +3,15 @@ package com.uas.platform.b2c.trade.rate.task;
 /**
  * Created by uas on 2017-08-30.
  */
+
+import org.springframework.stereotype.Component;
+
+/**
+ * 评价的一些自动任务
+ *
+ * @author wangdy
+ * @version 2017-08-81 8:59:06 创建文件
+ */
+@Component("RateTask")
 public class RateTask {
 }

+ 3 - 0
src/main/resources/spring/task.xml

@@ -10,5 +10,8 @@
     <task:scheduled-tasks>
         <task:scheduled ref="OrderTask" method="autoConfirmOrderRevice" cron="0 0 1 * * ?"/>
     </task:scheduled-tasks>
+    <task:scheduled-tasks>
+        <task:scheduled ref="RateTask" method="autoRate" cron="0 0 1 * * ?"/>
+    </task:scheduled-tasks>
     <context:annotation-config />
 </beans>