From d79c513b3ef3114840743154be9fc3b77093d57f Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期一, 09 十二月 2024 14:37:59 +0800
Subject: [PATCH] 1.

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianDetailVO.java                   |    6 +++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java         |   46 ++++++++++++++---------
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianScoreServiceImpl.java |   11 +++++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianScoreMapper.java            |    7 +++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianScoreService.java          |    7 +++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianServiceImpl.java      |   14 +++++++
 6 files changed, 73 insertions(+), 18 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java
index d90cd97..f35126a 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java
@@ -1,27 +1,22 @@
 package com.ruoyi.other.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.common.security.service.TokenService;
-import com.ruoyi.other.api.feignClient.OrderClient;
-import com.ruoyi.other.service.GoodsEvaluateService;
+import com.ruoyi.other.api.domain.TechnicianScore;
+import com.ruoyi.other.service.TechnicianScoreService;
 import com.ruoyi.other.service.TechnicianService;
-import com.ruoyi.other.service.TechnicianSubscribeService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
-import javax.annotation.Resource;
-import java.util.List;
-
 import com.ruoyi.other.vo.TechnicianDetailVO;
 import com.ruoyi.other.vo.TechnicianVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -38,13 +33,10 @@
     @Resource
     private TechnicianService technicianService;
     @Resource
-    private GoodsEvaluateService goodsEvaluateService;
-    @Resource
-    private OrderClient orderClient;
-    @Resource
-    private TechnicianSubscribeService technicianSubscribeService;
+    private TechnicianScoreService technicianScoreService;
     @Resource
     private TokenService tokenService;
+
 //        @PostMapping("/shop/list")
 //	@ApiOperation(value = "获取门店的技师列表", tags = {"小程序-门店详情-技师预约"})
 //	public R<Page<Technician>> shoplist(@RequestParam Integer shopId,@RequestParam Integer pageNum,@RequestParam Integer pageSize){
@@ -120,5 +112,23 @@
     public R<TechnicianDetailVO> technicianDetail(@ApiParam("技师id") @RequestParam Long technicianId) {
         return R.ok(technicianService.technicianDetail(technicianId));
     }
+
+    /**
+     * 打分
+     */
+    @PostMapping("/grade")
+    @ApiOperation(value = "打分", tags = {"打分-小程序"})
+    public R<Void> grade(@RequestBody TechnicianScore technicianScore) {
+        Long userid = tokenService.getLoginUserApplet().getUserid();
+        TechnicianScore technicianScoreServiceOne = technicianScoreService.getOne(new LambdaQueryWrapper<TechnicianScore>()
+                .eq(TechnicianScore::getAppUserId, userid)
+                .eq(TechnicianScore::getTechnicianId, technicianScore.getTechnicianId()));
+        if (technicianScoreServiceOne != null) {
+            return R.fail("已打过分,无法再次打分");
+        }
+        technicianScore.setAppUserId(userid);
+        technicianScoreService.save(technicianScore);
+        return R.ok();
+    }
 }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianScoreMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianScoreMapper.java
new file mode 100644
index 0000000..14846df
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianScoreMapper.java
@@ -0,0 +1,7 @@
+package com.ruoyi.other.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.other.api.domain.TechnicianScore;
+
+public interface TechnicianScoreMapper extends BaseMapper<TechnicianScore> {
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianScoreService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianScoreService.java
new file mode 100644
index 0000000..9339682
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianScoreService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.other.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.other.api.domain.TechnicianScore;
+
+public interface TechnicianScoreService extends IService<TechnicianScore> {
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianScoreServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianScoreServiceImpl.java
new file mode 100644
index 0000000..2b7029b
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianScoreServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.other.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.other.api.domain.TechnicianScore;
+import com.ruoyi.other.mapper.TechnicianScoreMapper;
+import com.ruoyi.other.service.TechnicianScoreService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TechnicianScoreServiceImpl extends ServiceImpl<TechnicianScoreMapper, TechnicianScore> implements TechnicianScoreService {
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianServiceImpl.java
index 2227c38..26d1b4a 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianServiceImpl.java
@@ -1,12 +1,15 @@
 package com.ruoyi.other.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.api.feignClient.UserAddressClient;
 import com.ruoyi.account.api.model.UserAddress;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.other.api.domain.TechnicianScore;
 import com.ruoyi.other.mapper.TechnicianMapper;
 import com.ruoyi.other.api.domain.Technician;
+import com.ruoyi.other.service.TechnicianScoreService;
 import com.ruoyi.other.service.TechnicianService;
 import com.ruoyi.other.vo.TechnicianDetailVO;
 import com.ruoyi.other.vo.TechnicianVO;
@@ -32,6 +35,8 @@
     private TokenService tokenService;
     @Resource
     private UserAddressClient userAddressClient;
+    @Resource
+    private TechnicianScoreService technicianScoreService;
 
     @Override
     public List<TechnicianVO> getTechnicianListByShopId(Long shopId) {
@@ -47,6 +52,15 @@
         }
         TechnicianDetailVO technicianDetailVO = technicianMapper.selectTechnicianDetail(technicianId);
         technicianDetailVO.setAddress(defaultUserAddressR.getData());
+
+        TechnicianScore technicianScoreServiceOne = technicianScoreService.getOne(new LambdaQueryWrapper<TechnicianScore>()
+                .eq(TechnicianScore::getAppUserId, loginUserApplet.getUserid())
+                .eq(TechnicianScore::getTechnicianId, technicianId));
+        if (technicianScoreServiceOne != null){
+            technicianDetailVO.setScoreStatus(2);
+        }else {
+            technicianDetailVO.setScoreStatus(1);
+        }
         return technicianDetailVO;
     }
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianDetailVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianDetailVO.java
index 223c795..bb93b9f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianDetailVO.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianDetailVO.java
@@ -59,4 +59,10 @@
     @ApiModelProperty(value = "默认地址")
     private UserAddress address;
 
+    /**
+     * 打分状态:1=未打分,2=已打分
+     */
+    @ApiModelProperty(value = "打分状态:1=未打分,2=已打分")
+    private Integer scoreStatus;
+
 }

--
Gitblit v1.7.1