Commit b84dd1a0 by yao.xiao

增加-首页查询商机总分等信息

parent fb38114e
......@@ -207,4 +207,17 @@ public class PractitionerController {
result.setData(responseVO);
return result;
}
/**
* ydLife查询此经纪人总分数 按年月周日 分别统计 新增商机个数 达成率
*/
@RequestMapping("/opportunityStatistics")
public Object OpportunityStatistics(@RequestBody OpportunityStatisticsRequestVO requestVO){
JsonResult result = new JsonResult();
OpportunityStatisticsResponseVO responseVO = practitionerService.opportunityStatistics(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
......@@ -109,4 +109,11 @@ public interface PractitionerService {
* @return
*/
OwnOpportunityRecordSaveResponseVO ownOpportunityRecordSave(OwnOpportunityRecordSaveRequestVO requestVO);
/**
* ydLife查询此经纪人总分数 按年月周日 分别统计 新增商机个数 达成率
* @param requestVO
* @return
*/
OpportunityStatisticsResponseVO opportunityStatistics(OpportunityStatisticsRequestVO requestVO);
}
......@@ -1267,6 +1267,47 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return resp;
}
@Override
public OpportunityStatisticsResponseVO opportunityStatistics(OpportunityStatisticsRequestVO requestVO) {
OpportunityStatisticsResponseVO resp = new OpportunityStatisticsResponseVO();
//计算商机得分 今天,本周,本月
MktLeadsAssignedTrack mktLeadsAssignedTrack = new MktLeadsAssignedTrack();
mktLeadsAssignedTrack.setPractitionerId(requestVO.getPractitionerId());
PageHelper.orderBy("track_time DESC");
List<MktLeadsAssignedTrack> mktLeadsAssignedTracks = mktLeadsAssignedTrackDALService.findByMktLeadsAssignedTrack(mktLeadsAssignedTrack);
Integer scoreDay = 0;
Integer scoreWeek = 0;
Integer scoreMonth = 0;
for (MktLeadsAssignedTrack info : mktLeadsAssignedTracks){
boolean isStatistics = false;
String time = CommonUtil.dateParseString(info.getTrackTime(), "yyyy-MM-dd");
if (CommonUtil.isThisMonth(time)){
scoreMonth += info.getTrackScore();
if (CommonUtil.isToday(time)){
scoreDay += info.getTrackScore();
}
isStatistics = true;
}
if (CommonUtil.isThisWeek(time)){
scoreWeek += info.getTrackScore();
isStatistics = true;
}
//既不属于月也不属于周跳出
if (!isStatistics){
break;
}
}
//计算新增商机个数
List<MktLeadsAssigneds> mktLeadsAssigneds = mktLeadsAssignedsDALService.findByPractitionerIdAndThisWeek(requestVO.getPractitionerId());
resp.setScoreDay(scoreDay);
resp.setScoreWeek(scoreWeek);
resp.setScoreMonth(scoreMonth);
resp.setAddOpportunityNum(mktLeadsAssigneds.size());
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return resp;
}
private CommonResult check(OwnOpportunityRecordSaveRequestVO requestVO) {
String noticeDate = requestVO.getNoticeDate();
if (CommonUtil.isNullOrBlank(noticeDate)){
......
package com.yd.api.practitioner.vo.opportunity;
import lombok.Data;
@Data
public class OpportunityStatisticsRequestVO {
private Long practitionerId;
}
package com.yd.api.practitioner.vo.opportunity;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class OpportunityStatisticsResponseVO {
private Integer scoreDay;
private Integer scoreWeek;
private Integer scoreMonth;
private Double achievementRate;
private Integer addOpportunityNum;
private CommonResult commonResult;
}
......@@ -16,4 +16,6 @@ public interface MktLeadsAssignedsMapper {
int updateByPrimaryKey(MktLeadsAssigneds record);
List<MktLeadsAssigneds> findByMktLeadsAssigneds(MktLeadsAssigneds mktLeadsAssigneds);
List<MktLeadsAssigneds> findByPractitionerIdAndThisWeek(Long practitionerId);
}
\ No newline at end of file
......@@ -32,4 +32,9 @@ public class MktLeadsAssignedsDALServiceImpl implements MktLeadsAssignedsDALServ
public void save(MktLeadsAssigneds assigneds) {
mktLeadsAssignedsMapper.insertSelective(assigneds);
}
@Override
public List<MktLeadsAssigneds> findByPractitionerIdAndThisWeek(Long practitionerId) {
return mktLeadsAssignedsMapper.findByPractitionerIdAndThisWeek(practitionerId);
}
}
......@@ -12,4 +12,6 @@ public interface MktLeadsAssignedsDALService {
void updateMktLeadsAssigneds(MktLeadsAssigneds mktLeadsAssigneds);
void save(MktLeadsAssigneds assigneds);
List<MktLeadsAssigneds> findByPractitionerIdAndThisWeek(Long practitionerId);
}
......@@ -235,4 +235,12 @@
</if>
</where>
</select>
<select id="findByPractitionerIdAndThisWeek" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_mkt_leads_assigneds
where
assigned_practitioner_id = #{practitionerId,jdbcType=BIGINT}
and YEARWEEK(date_format(created_at,'%Y-%m-%d')) = YEARWEEK(now())
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment