Ver código fonte

fix:首页推荐技师

wrj 1 mês atrás
pai
commit
a945156721

+ 8 - 8
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TJsController.java

@@ -94,15 +94,15 @@ public class TJsController extends BaseController {
     @RequestMapping(value = "wx/update", method = RequestMethod.POST)
     @ApiOperation("更新技师信息")
     public R wxUpdate(@RequestBody TJs js) {
-        try {
+//        try {
             return R.ok(jsService.wxUpdateJs(js));
-        } catch (ServiceException s) {
-            log.error(s.toString());
-            return R.fail(s.getMessage());
-        } catch (Exception e) {
-            log.error(e.toString());
-            return R.fail("系统异常");
-        }
+//        } catch (ServiceException s) {
+//            log.error(s.toString());
+//            return R.fail(s.getMessage());
+//        } catch (Exception e) {
+//            log.error(e.toString());
+//            return R.fail("系统异常");
+//        }
     }
 
     @Log(title = "实时更新技师位置", businessType = BusinessType.UPDATE)

+ 33 - 5
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TXiangmuController.java

@@ -1,5 +1,6 @@
 package com.ylx.web.controller.massage;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.annotation.Log;
@@ -7,21 +8,25 @@ import com.ylx.common.core.domain.R;
 import com.ylx.common.enums.BusinessType;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.massage.domain.THighlights;
+import com.ylx.massage.domain.TJs;
+import com.ylx.massage.domain.TJsDay;
 import com.ylx.massage.domain.TXiangmu;
 import com.ylx.massage.domain.vo.TXiangmuDetailVo;
+import com.ylx.massage.mapper.TJsDayMapper;
 import com.ylx.massage.service.THighlightsService;
+import com.ylx.massage.service.TJsService;
 import com.ylx.massage.service.TXiangmuService;
+import com.ylx.massage.utils.DateTimeUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * Controller
@@ -41,6 +46,12 @@ public class TXiangmuController {
     @Resource
     private THighlightsService highlightsService;
 
+    @Resource
+    private TJsDayMapper jsDayMapper;
+
+    @Resource
+    private TJsService jsService;
+
     /**
      * 获取所有项目
      *
@@ -51,7 +62,7 @@ public class TXiangmuController {
     public R<List<TXiangmu>> geTXiangmu(@RequestBody TXiangmu tXiangmu) {
         LambdaQueryWrapper<TXiangmu> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
         objectLambdaQueryWrapper.eq(StringUtils.isNotBlank(tXiangmu.getcId()), TXiangmu::getcId, tXiangmu.getcId());
-        if(StringUtils.isNotBlank(tXiangmu.getcLdList())){
+        if (StringUtils.isNotBlank(tXiangmu.getcLdList())) {
             objectLambdaQueryWrapper.apply("FIND_IN_SET({0}, c_ld_list)", tXiangmu.getcLdList());
         }
         objectLambdaQueryWrapper.orderByDesc(TXiangmu::getDtCreateTime);
@@ -59,6 +70,23 @@ public class TXiangmuController {
         return R.ok(list);
     }
 
+    @RequestMapping(value = "wx/recommend", method = RequestMethod.GET)
+    @ApiOperation("推荐技师")
+    public List<TJs> recommend(@RequestParam String deptName) {
+        //推荐技师
+        List<TJsDay> tJsDays = jsDayMapper.selectRanking(deptName, null,
+                DateTimeUtils.formatDate(DateTimeUtils.addMonths(new Date(), -1)), DateTimeUtils.formatDate(new Date()));
+        //查技师
+        if (CollectionUtil.isEmpty(tJsDays)) {
+            return null;
+        }
+        List<String> jsId = tJsDays.stream().map(TJsDay::getJsId).collect(Collectors.toList());
+
+        LambdaQueryWrapper<TJs> jsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        jsLambdaQueryWrapper.in(CollectionUtil.isNotEmpty(jsId), TJs::getId, jsId);
+        return jsService.list(jsLambdaQueryWrapper);
+    }
+
     /**
      * 添加或者更新项目
      *

+ 1 - 1
nightFragrance-framework/src/main/java/com/ylx/framework/config/SecurityConfig.java

@@ -115,7 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                         "/api/lbt/v1/getAll", "/api/js/v1/select", "/api/xiangmu/v1/wx/getAll", "/api/order/v1/getStatus",
                         "/api/xiangmu/v1/getByid", "/api/xiangmu/v1/highlights","/api/js/v1/wx/getByid","/api/js/v1/wx/select","/api/js/v1/wx/add", "/api/recharge/v1/test",
                         "/wx/pay/payNotify","/wx/pay/refundNotify","/weChat/getAccessToken","/weChat/getCode","/weChat/verifyToken","/sq/getAccessToken",
-                        "/area/select","/system/dept/list").permitAll()
+                        "/area/select","/system/dept/list","/api/xiangmu/v1/wx/recommend").permitAll()
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.txt","/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()

+ 3 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/utils/DateTimeUtils.java

@@ -900,7 +900,7 @@ public final class DateTimeUtils {
 
     public static void main(String[] args) throws InterruptedException {
         while (true){
-            Thread.sleep(1000);
+            Thread.sleep(100);
             stampToDate1();
         }
     }
@@ -910,7 +910,7 @@ public final class DateTimeUtils {
         LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
 
         // 设置未来日期的时间,例如2023年12月31日 23:59:59
-        LocalDateTime futureDate = LocalDateTime.of(2024, 12, 31, 18, 35, 00);
+        LocalDateTime futureDate = LocalDateTime.of(2025, 3, 26, 19, 0, 00);
 
         // 计算两个时间点之间的差值(以毫秒为单位)
         long durationInMillis = Duration.between(now, futureDate).toMillis();
@@ -918,7 +918,7 @@ public final class DateTimeUtils {
         // 将毫秒差值转换为秒
         long durationInSeconds = durationInMillis / 1000;
 
-        System.err.println(new Date() + "There is still a future date " + durationInSeconds + " second");
+        System.err.println(new Date() + "There is still a future date " + durationInMillis + " second");
     }