|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import net.sf.jsqlparser.expression.StringValue;
|
|
|
import org.apache.commons.lang.math.RandomUtils;
|
|
import org.apache.commons.lang.math.RandomUtils;
|
|
|
import org.apache.commons.lang.time.DateUtils;
|
|
import org.apache.commons.lang.time.DateUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -22,6 +23,7 @@ import shop.alien.entity.store.vo.LawyerConsultationOrderVO;
|
|
|
import shop.alien.entity.store.vo.LifeCouponVo;
|
|
import shop.alien.entity.store.vo.LifeCouponVo;
|
|
|
import shop.alien.mapper.LawyerConsultationOrderMapper;
|
|
import shop.alien.mapper.LawyerConsultationOrderMapper;
|
|
|
import shop.alien.mapper.LawyerServiceAreaMapper;
|
|
import shop.alien.mapper.LawyerServiceAreaMapper;
|
|
|
|
|
+import shop.alien.mapper.LawyerUserMapper;
|
|
|
import shop.alien.store.service.LawyerConsultationOrderService;
|
|
import shop.alien.store.service.LawyerConsultationOrderService;
|
|
|
import shop.alien.store.service.LawyerUserService;
|
|
import shop.alien.store.service.LawyerUserService;
|
|
|
|
|
|
|
@@ -45,6 +47,7 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
|
|
|
private final LawyerConsultationOrderMapper consultationOrderMapper;
|
|
private final LawyerConsultationOrderMapper consultationOrderMapper;
|
|
|
private final LawyerUserService lawyerUserService;
|
|
private final LawyerUserService lawyerUserService;
|
|
|
private final LawyerServiceAreaMapper lawyerServiceAreaMapper;
|
|
private final LawyerServiceAreaMapper lawyerServiceAreaMapper;
|
|
|
|
|
+ private final LawyerUserMapper lawyerUserMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public R<IPage<LawyerConsultationOrderVO>> getConsultationOrderList(int pageNum, int pageSize, String orderNumber,
|
|
public R<IPage<LawyerConsultationOrderVO>> getConsultationOrderList(int pageNum, int pageSize, String orderNumber,
|
|
@@ -292,34 +295,82 @@ public class LawyerConsultationOrderServiceImpl extends ServiceImpl<LawyerConsul
|
|
|
List<Integer> lawyerIdList = lawyerConsultationOrderVOS.stream()
|
|
List<Integer> lawyerIdList = lawyerConsultationOrderVOS.stream()
|
|
|
.map(LawyerConsultationOrderVO::getLawyerUserId)
|
|
.map(LawyerConsultationOrderVO::getLawyerUserId)
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
- if(CollectionUtils.isNotEmpty(lawyerIdList)){
|
|
|
|
|
- QueryWrapper<LawyerServiceArea> wrapper = new QueryWrapper<>();
|
|
|
|
|
- wrapper.in("lsa.lawyer_user_id", lawyerIdList);
|
|
|
|
|
- wrapper.in("lsa.delete_flag", 0);
|
|
|
|
|
- wrapper.in("lsa.status", 1);
|
|
|
|
|
-
|
|
|
|
|
- List<Map<String, Object>> lawyerLegalProblemScenarioData = lawyerServiceAreaMapper.getLawyerLegalProblemScenarioList(wrapper);
|
|
|
|
|
- Map<String, List<String>> lawyerLegalProblemScenarioLawyer = new HashMap<>();
|
|
|
|
|
- for (Map<String, Object> row : lawyerLegalProblemScenarioData) {
|
|
|
|
|
- String lawyerUserId = String.valueOf(row.get("lawyer_user_id"));
|
|
|
|
|
- String ScenarioName = (String) row.get("name");
|
|
|
|
|
- if (lawyerUserId != null) {
|
|
|
|
|
- lawyerLegalProblemScenarioLawyer.computeIfAbsent(lawyerUserId, k -> new ArrayList<>())
|
|
|
|
|
- .add(ScenarioName != null ? ScenarioName : "");
|
|
|
|
|
|
|
+ Map<String, List<String>> lawyerLegalProblemScenarioLawyer = getLawyerServiceArea(lawyerIdList);
|
|
|
|
|
+
|
|
|
|
|
+ if(!lawyerLegalProblemScenarioLawyer.isEmpty()){
|
|
|
|
|
+ voPage.getRecords().forEach(entity -> {
|
|
|
|
|
+ String lawyerUserId = String.valueOf(entity.getLawyerUserId());
|
|
|
|
|
+ if(lawyerLegalProblemScenarioLawyer.containsKey(lawyerUserId)){
|
|
|
|
|
+ entity.setLawyerLegalProblemScenarioList(lawyerLegalProblemScenarioLawyer.get(lawyerUserId));
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return R.data(voPage);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- if(!lawyerLegalProblemScenarioLawyer.isEmpty()){
|
|
|
|
|
- voPage.getRecords().forEach(entity -> {
|
|
|
|
|
- String lawyerUserId = String.valueOf(entity.getLawyerUserId());
|
|
|
|
|
- if(lawyerLegalProblemScenarioLawyer.containsKey(lawyerUserId)){
|
|
|
|
|
- entity.setLawyerLegalProblemScenarioList(lawyerLegalProblemScenarioLawyer.get(lawyerUserId));
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ private Map<String, List<String>> getLawyerServiceArea(List<Integer> lawyerIdList) {
|
|
|
|
|
+ Map<String, List<String>> lawyerLegalProblemScenarioLawyer = new HashMap<>();
|
|
|
|
|
+ if(CollectionUtils.isNotEmpty(lawyerIdList)){
|
|
|
|
|
+ QueryWrapper<LawyerServiceArea> wrapper = new QueryWrapper<>();
|
|
|
|
|
+ wrapper.in("lsa.lawyer_user_id", lawyerIdList);
|
|
|
|
|
+ wrapper.in("lsa.delete_flag", 0);
|
|
|
|
|
+ wrapper.in("lsa.status", 1);
|
|
|
|
|
+
|
|
|
|
|
+ List<Map<String, Object>> lawyerLegalProblemScenarioData = lawyerServiceAreaMapper.getLawyerLegalProblemScenarioList(wrapper);
|
|
|
|
|
+ for (Map<String, Object> row : lawyerLegalProblemScenarioData) {
|
|
|
|
|
+ String lawyerUserId = String.valueOf(row.get("lawyer_user_id"));
|
|
|
|
|
+ String ScenarioName = (String) row.get("name");
|
|
|
|
|
+ if (lawyerUserId != null) {
|
|
|
|
|
+ lawyerLegalProblemScenarioLawyer.computeIfAbsent(lawyerUserId, k -> new ArrayList<>())
|
|
|
|
|
+ .add(ScenarioName != null ? ScenarioName : "");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- return R.data(voPage);
|
|
|
|
|
|
|
+ return lawyerLegalProblemScenarioLawyer;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public LawyerConsultationOrderVO getConsultationOrderDetail(String lawyerOrderId) {
|
|
|
|
|
+ LawyerConsultationOrderVO lawyerConsultationOrderVO = new LawyerConsultationOrderVO();
|
|
|
|
|
+ if(!StringUtils.isEmpty(lawyerOrderId)){
|
|
|
|
|
+ LawyerConsultationOrder lawyerConsultationOrder = consultationOrderMapper.selectById(lawyerOrderId);
|
|
|
|
|
+ if(lawyerConsultationOrder == null){
|
|
|
|
|
+ return lawyerConsultationOrderVO;
|
|
|
|
|
+ }
|
|
|
|
|
+ String lawyerId = String.valueOf(lawyerConsultationOrder.getLawyerUserId());
|
|
|
|
|
+ BeanUtils.copyProperties(lawyerConsultationOrder, lawyerConsultationOrderVO);
|
|
|
|
|
+ List<Integer> lawyerIds = new ArrayList<>();
|
|
|
|
|
+ lawyerIds.add(lawyerConsultationOrder.getLawyerUserId());
|
|
|
|
|
+ LawyerUser lawyerUser = lawyerUserMapper.selectById(lawyerConsultationOrder.getLawyerUserId());
|
|
|
|
|
+ //查询律师信息
|
|
|
|
|
+ if(lawyerUser!=null){
|
|
|
|
|
+ lawyerConsultationOrderVO.setLawyerName(lawyerUser.getName());
|
|
|
|
|
+ lawyerConsultationOrderVO.setLawyerPhone(lawyerUser.getPhone());
|
|
|
|
|
+ lawyerConsultationOrderVO.setLawyerEmail(lawyerUser.getEmail());
|
|
|
|
|
+ lawyerConsultationOrderVO.setLawyerCertificateNo(lawyerUser.getLawyerCertificateNo());
|
|
|
|
|
+ lawyerConsultationOrderVO.setLawFirm(lawyerUser.getLawFirm());
|
|
|
|
|
+ lawyerConsultationOrderVO.setPracticeYears(lawyerUser.getPracticeYears());
|
|
|
|
|
+ lawyerConsultationOrderVO.setSpecialtyFields(lawyerUser.getSpecialtyFields());
|
|
|
|
|
+ lawyerConsultationOrderVO.setCertificationStatus(lawyerUser.getCertificationStatus());
|
|
|
|
|
+ lawyerConsultationOrderVO.setServiceCount(lawyerUser.getServiceCount());
|
|
|
|
|
+ lawyerConsultationOrderVO.setServiceScore(lawyerUser.getServiceScore());
|
|
|
|
|
+ lawyerConsultationOrderVO.setLawyerConsultationFee(lawyerUser.getConsultationFee());
|
|
|
|
|
+ lawyerConsultationOrderVO.setProvince(lawyerUser.getProvince());
|
|
|
|
|
+ lawyerConsultationOrderVO.setCity(lawyerUser.getCity());
|
|
|
|
|
+ lawyerConsultationOrderVO.setDistrict(lawyerUser.getDistrict());
|
|
|
|
|
+ lawyerConsultationOrderVO.setAddress(lawyerUser.getAddress());
|
|
|
|
|
+ lawyerConsultationOrderVO.setHeadImg(lawyerUser.getHeadImg());
|
|
|
|
|
+ lawyerConsultationOrderVO.setNickName(lawyerUser.getNickName());
|
|
|
|
|
+ lawyerConsultationOrderVO.setPersonalIntroduction(lawyerUser.getPersonalIntroduction());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Map<String, List<String>> lawyerLegalProblemScenarioLawyer = getLawyerServiceArea(lawyerIds);
|
|
|
|
|
+ if(!lawyerLegalProblemScenarioLawyer.isEmpty() && lawyerLegalProblemScenarioLawyer.containsKey(lawyerId)){
|
|
|
|
|
+ lawyerConsultationOrderVO.setLawyerLegalProblemScenarioList(lawyerLegalProblemScenarioLawyer.get(lawyerId));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return lawyerConsultationOrderVO;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|