Переглянути джерело

fix:项目推荐技师调整

wrj 9 місяців тому
батько
коміт
bf1e80039b

+ 1 - 1
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/HomeController.java

@@ -180,7 +180,7 @@ public class HomeController {
         if(StringUtils.isBlank(deptId)){
             throw new ServiceException("部门Id不能为空");
         }
-        return jsDayMapper.selectRanking(deptId, start, end);
+        return jsDayMapper.selectRanking(null,deptId, start, end);
     }
 
 

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

@@ -206,6 +206,7 @@ public class TJsController extends BaseController {
                 like(StringUtils.isNotBlank(js.getcPhone()), TJs::getcPhone, js.getcPhone()).
                 eq(js.getnStatus() != null, TJs::getnStatus, js.getnStatus()).
                 eq(js.getnSex() != null, TJs::getnSex, js.getnSex()).
+                eq(js.getDeptId() != null, TJs::getDeptId, js.getDeptId()).
                 orderByDesc(TJs::getDtCreateTime);
         if (js.getPageType() == 1) {
             mhCompanyLambdaQueryWrapper.eq(TJs::getnTong, JsStatusEnum.JS_PASS.getCode());

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

@@ -102,7 +102,7 @@ public class TXiangmuController {
     @ApiOperation("根据id查询项目")
     @RequestMapping(value = "/getByid", method = RequestMethod.POST)
     public R getById(@RequestBody TXiangmu xiangmu) {
-        TXiangmuDetailVo details = xiangmuService.details(xiangmu.getcId());
+        TXiangmuDetailVo details = xiangmuService.details(xiangmu);
         return R.ok(details);
     }
 

+ 7 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TXiangmu.java

@@ -109,6 +109,13 @@ public class TXiangmu implements Serializable {
     @ApiModelProperty("推荐技师")
     private String recommendTechnician;
 
+    /**
+     * 推荐技师
+     */
+    @TableField(exist = false)
+    @ApiModelProperty("部门名称")
+    private String deptName;
+
     /**
      * 创建时间
      */

+ 1 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TJsDayMapper.java

@@ -31,7 +31,7 @@ public interface TJsDayMapper extends BaseMapper<TJsDay> {
      */
     int insertOrUpdateBatch(@Param("entities") List<TJsDay> entities);
 
-    List<TJsDay> selectRanking(@Param("deptId") String deptId, @Param("start") String start, @Param("end") String end);
+    List<TJsDay> selectRanking(@Param("deptName") String deptName, @Param("deptId") String deptId, @Param("start") String start, @Param("end") String end);
 
 }
 

+ 1 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/service/TXiangmuService.java

@@ -15,5 +15,5 @@ public interface TXiangmuService extends IService<TXiangmu> {
 
     Boolean addOrUpdate(TXiangmu xiangmu);
 
-    TXiangmuDetailVo details(String id);
+    TXiangmuDetailVo details(TXiangmu xiangmu);
 }

+ 1 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -685,6 +685,7 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
                     order.setRemainingTime(0L);
                 }
                 orders.add(order);
+
             });
             orderPage.setRecords(orders);
         }

+ 16 - 5
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TXiangmuServiceImpl.java

@@ -8,11 +8,15 @@ import com.ylx.common.constant.MassageConstants;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.bean.BeanUtils;
 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.mapper.TXiangmuMapper;
+import com.ylx.massage.service.TJsDayService;
 import com.ylx.massage.service.TJsService;
 import com.ylx.massage.service.TXiangmuService;
+import com.ylx.massage.utils.DateTimeUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -35,6 +40,9 @@ public class TXiangmuServiceImpl extends ServiceImpl<TXiangmuMapper, TXiangmu> i
     @Resource
     private TJsService jsService;
 
+    @Resource
+    private TJsDayMapper jsDayMapper;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean addOrUpdate(TXiangmu xiangmu) {
@@ -61,18 +69,21 @@ public class TXiangmuServiceImpl extends ServiceImpl<TXiangmuMapper, TXiangmu> i
     }
 
     @Override
-    public TXiangmuDetailVo details(String id) {
-        TXiangmu byId = this.getById(id);
+    public TXiangmuDetailVo details(TXiangmu xiangmu) {
+        TXiangmu byId = this.getById(xiangmu.getcId());
         if (null != byId) {
             TXiangmuDetailVo tXiangmuDetailVo = new TXiangmuDetailVo();
             BeanUtils.copyBeanProp(tXiangmuDetailVo, byId);
+            //推荐技师
+            List<TJsDay> tJsDays = jsDayMapper.selectRanking(xiangmu.getDeptName(), null,
+                    DateTimeUtils.formatDate(DateTimeUtils.addMonths(new Date(), -1)), DateTimeUtils.formatDate(new Date()));
             //查技师
-            if (StringUtils.isBlank(byId.getRecommendTechnician())) {
+            if (CollectionUtil.isEmpty(tJsDays)) {
                 return tXiangmuDetailVo;
             }
-            List<String> jsList = Arrays.stream(byId.getRecommendTechnician().split(",")).collect(Collectors.toList());
+            List<String> jsId = tJsDays.stream().map(TJsDay::getJsId).collect(Collectors.toList());
             LambdaQueryWrapper<TJs> jsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            jsLambdaQueryWrapper.in(CollectionUtil.isNotEmpty(jsList), TJs::getId, jsList);
+            jsLambdaQueryWrapper.in(CollectionUtil.isNotEmpty(jsId), TJs::getId, jsId);
             List<TJs> list = jsService.list(jsLambdaQueryWrapper);
             tXiangmuDetailVo.setJsList(list);
             return tXiangmuDetailVo;

+ 7 - 1
nightFragrance-massage/src/main/resources/mapper/massage/TJsDayMapper.xml

@@ -47,6 +47,7 @@
 
     <select id="selectRanking" resultType="com.ylx.massage.domain.TJsDay">
         SELECT
+            js_id jsId,
             open_id openId,
             NAME NAME,
             IFNULL( sum( order_num ), 0 ) orderNum
@@ -54,10 +55,15 @@
             t_js_day
         WHERE
             is_delete = 0
-        <if test="deptId != 100 and deptId != ''">
+        AND count_date BETWEEN #{start} AND #{end}
+        <if test="deptId != 100 and deptId != '' and deptId != null">
             AND dept_id = #{deptId}
         </if>
+        <if test="deptName != null and deptName != ''">
+            AND dept_name like concat('%',#{deptName},'%')
+        </if>
         GROUP BY
+            jsId,
             openId,
             NAME
         ORDER BY