Commit 0af1b5f6 by Water Wang

resolve conflict

parents c7a4d49c 245471ab
/opt/
.idea/
opt/
yd-api/.idea/
yd-api/target/
yd-api/yd-api.iml
yd-api/src/main/resources/logback-spring.xml
\ No newline at end of file
...@@ -106,6 +106,11 @@ ...@@ -106,6 +106,11 @@
<version>2.8.0</version> <version>2.8.0</version>
</dependency> </dependency>
--> -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -9,10 +9,10 @@ import org.springframework.stereotype.Service; ...@@ -9,10 +9,10 @@ import org.springframework.stereotype.Service;
import com.yd.api.commission.vo.CommissionEGoldenVO; import com.yd.api.commission.vo.CommissionEGoldenVO;
import com.yd.api.commission.vo.CommissionVO; import com.yd.api.commission.vo.CommissionVO;
import com.yd.dataccess.entity.commission.Commission; import com.yd.dal.entity.commission.Commission;
import com.yd.dataccess.entity.commission.CommissionEGolden; import com.yd.dal.entity.commission.CommissionEGolden;
import com.yd.dataccess.service.commission.CommissionEGoldenDA; import com.yd.dal.service.commission.CommissionEGoldenDA;
import com.yd.dataccess.service.commission.CommissionServiceDA; import com.yd.dal.service.commission.CommissionServiceDA;
@Service("commissionServiceImpl") @Service("commissionServiceImpl")
public class CommissionServiceImpl implements CommissionService{ public class CommissionServiceImpl implements CommissionService{
......
...@@ -10,14 +10,13 @@ import org.springframework.stereotype.Service; ...@@ -10,14 +10,13 @@ import org.springframework.stereotype.Service;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.api.customer.vo.CustomerFortuneRequestVO; import com.yd.api.customer.vo.CustomerFortuneRequestVO;
import com.yd.api.customer.vo.CustomerFortuneResponseVO; import com.yd.api.customer.vo.CustomerFortuneResponseVO;
import com.yd.api.customer.vo.CustomerFortuneVO;
import com.yd.api.customer.vo.CustomerQueryRequestVO; import com.yd.api.customer.vo.CustomerQueryRequestVO;
import com.yd.api.customer.vo.CustomerQueryResponseVO; import com.yd.api.customer.vo.CustomerQueryResponseVO;
import com.yd.api.customer.vo.CustomerVO; import com.yd.api.customer.vo.CustomerVO;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.Customer;
import com.yd.dataccess.entity.customer.CustomerFortune; import com.yd.dal.entity.customer.CustomerFortune;
import com.yd.dataccess.mapper.customer.CustomerFortuneMapper; import com.yd.dal.mapper.customer.CustomerFortuneMapper;
import com.yd.dataccess.service.customer.CustomerDA; import com.yd.dal.service.customer.CustomerDA;
@Service("customerServiceImpl") @Service("customerServiceImpl")
public class CustomerServiceImpl implements CustomerService{ public class CustomerServiceImpl implements CustomerService{
......
package com.yd.api.customer.vo; package com.yd.api.customer.vo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.CustomerFortune;
import com.yd.dataccess.entity.customer.CustomerFortune;
public class CustomerFortuneRequestVO { public class CustomerFortuneRequestVO {
......
...@@ -2,8 +2,7 @@ package com.yd.api.customer.vo; ...@@ -2,8 +2,7 @@ package com.yd.api.customer.vo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.CustomerFortune;
import com.yd.dataccess.entity.customer.CustomerFortune;
public class CustomerFortuneResponseVO { public class CustomerFortuneResponseVO {
......
package com.yd.api.customer.vo; package com.yd.api.customer.vo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.Customer;
public class CustomerQueryRequestVO { public class CustomerQueryRequestVO {
......
...@@ -2,7 +2,7 @@ package com.yd.api.customer.vo; ...@@ -2,7 +2,7 @@ package com.yd.api.customer.vo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.Customer;
public class CustomerQueryResponseVO { public class CustomerQueryResponseVO {
......
package com.yd.api.market;
import com.yd.api.result.JsonResult;
/*import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
*/
import com.yd.api.market.service.MarketService;
import com.yd.api.market.vo.announcement.AnnouncementInfoVO;
import com.yd.api.market.vo.announcement.AnnouncementQueryRequestVO;
import com.yd.api.market.vo.announcement.AnnouncementQueryResponseVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//@Api(value="/market", tags="Market接口:")
@RestController
public class MarketController {
@Autowired
private MarketService marketService;
/**
* 市场公告查询接口
* @param requestVO
* @return AnnouncementQueryResponseVO
*/
//@ApiOperation(value="按分类查询市场公告", notes = "按分类查询市场公告", httpMethod = "POST",response = AnnouncementQueryRequestVO.class)
//@ApiImplicitParam(name="requestVO", value="AnnouncementQueryRequestVO", required = true, dataType = "AnnouncementQueryRequestVO")
@RequestMapping("/announcementQuery")
public Object announcementQuery(@RequestBody AnnouncementQueryRequestVO requestVO){
JsonResult result = new JsonResult();
AnnouncementQueryResponseVO responseVO = marketService.announcementQuery(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 添加案例,返回自增id,以建立关联
* @param announcementInfoVO
* @return
*/
//@ApiOperation(value="添加市场公告", notes = "添加市场公告", httpMethod = "POST",response = AnnouncementQueryRequestVO.class)
//@ApiImplicitParam(name="announcementInfoVO", value="AnnouncementInfoVO", required = true, dataType = "AnnouncementInfoVO")
@RequestMapping("/addannouncement")
public Object addAnnouncement(@RequestBody AnnouncementInfoVO announcementInfoVO){
JsonResult result = new JsonResult();
AnnouncementQueryResponseVO responseVO = marketService.addAnnouncement(announcementInfoVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 修改案例
* @param announcementInfoVO
* @return
*/
//@ApiOperation(value="修改市场公告", notes = "修改市场公告", httpMethod = "POST",response = AnnouncementQueryRequestVO.class)
//@ApiImplicitParam(name="announcementInfoVO", value="AnnouncementInfoVO", required = true, dataType = "AnnouncementInfoVO")
@RequestMapping("/updateannouncement")
public Object updateAnnouncement(@RequestBody AnnouncementInfoVO announcementInfoVO){
JsonResult result = new JsonResult();
int rows = marketService.update(announcementInfoVO);
result.setData(rows);
return result;
}
/**
* 删除案例
* @param announcementInfoVO
* @return
*/
//@ApiOperation(value="删除市场公告", notes = "删除市场公告", httpMethod = "POST",response = AnnouncementQueryRequestVO.class)
//@ApiImplicitParam(name="announcementInfoVO", value="AnnouncementInfoVO", required = true, dataType = "AnnouncementInfoVO")
@RequestMapping("/deleteannouncement")
public Object deleteAnnouncement(@RequestBody AnnouncementInfoVO announcementInfoVO){
JsonResult result = new JsonResult();
int rows = marketService.delete(announcementInfoVO.getAnnouncementType());
result.setData(rows);
return result;
}
}
package com.yd.api.market.service;
import com.yd.api.market.vo.announcement.AnnouncementInfoVO;
import com.yd.api.market.vo.announcement.AnnouncementQueryRequestVO;
import com.yd.api.market.vo.announcement.AnnouncementQueryResponseVO;
import com.yd.dataccess.entity.mkt.MktAnnouncement;
public interface MarketService {
AnnouncementQueryResponseVO announcementQuery(AnnouncementQueryRequestVO requestVO);
AnnouncementQueryResponseVO addAnnouncement(AnnouncementInfoVO announcementInfoVO);
Integer update(AnnouncementInfoVO mktAnnouncement);
Integer delete(Long announcementType);
}
package com.yd.api.market.service;
import com.yd.api.commission.vo.CommissionVO;
import com.yd.api.market.service.MarketService;
import com.yd.api.market.vo.announcement.AnnouncementInfoVO;
import com.yd.api.market.vo.announcement.AnnouncementQueryRequestVO;
import com.yd.api.market.vo.announcement.AnnouncementQueryResponseVO;
import com.yd.api.result.CommonResult;
import com.yd.dataccess.entity.mkt.MktAnnouncement;
import com.yd.dataccess.service.mkt.MktAnnouncementServiceDA;
import com.yd.util.config.ZHBErrorConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@Service("marketService")
public class MarketServiceImpl implements MarketService {
@Autowired
private MktAnnouncementServiceDA mktAnnouncementServiceDA;
@Override
public AnnouncementQueryResponseVO announcementQuery(AnnouncementQueryRequestVO requestVO) {
AnnouncementQueryResponseVO responseVO = new AnnouncementQueryResponseVO();
List<AnnouncementInfoVO> listTo =new ArrayList<AnnouncementInfoVO>();
List<MktAnnouncement> list = new ArrayList<MktAnnouncement>();
list = mktAnnouncementServiceDA.findByIsActiveAndAnnouncementAtBefore(1,new Date());
AnnouncementInfoVO oneDestVO;
for(MktAnnouncement oneSrc:list)
{
oneDestVO = new AnnouncementInfoVO();
BeanUtils.copyProperties(oneSrc, oneDestVO);
listTo.add(oneDestVO);
}
responseVO.setAnnouncementInfoList(listTo);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
@Override
public AnnouncementQueryResponseVO addAnnouncement(AnnouncementInfoVO announcementInfoVO) {
AnnouncementQueryResponseVO announcementQueryResponseVO = new AnnouncementQueryResponseVO();
MktAnnouncement oneDest = new MktAnnouncement();
BeanUtils.copyProperties(announcementInfoVO, oneDest);
MktAnnouncement one = mktAnnouncementServiceDA.insert(oneDest);
List<AnnouncementInfoVO> announcementInfoList = new ArrayList<AnnouncementInfoVO>();
AnnouncementInfoVO oneVO = new AnnouncementInfoVO();
BeanUtils.copyProperties(one, oneVO);
announcementInfoList.add(oneVO);
announcementQueryResponseVO.setAnnouncementInfoList(announcementInfoList);
return announcementQueryResponseVO;
}
@Override
public Integer update(AnnouncementInfoVO mktAnnouncement) {
MktAnnouncement oneDest = new MktAnnouncement();
BeanUtils.copyProperties(mktAnnouncement, oneDest);
Integer result = mktAnnouncementServiceDA.update(oneDest);
return result;
}
@Override
public Integer delete(Long announcementType) {
return mktAnnouncementServiceDA.delete(announcementType);
}
}
package com.yd.api.market.vo.announcement;
public class AnnouncementInfoVO {
private Long id;
private Long insurerId;
private Long insurerBranchId;
private String title;
private String content;
private Long announcementType;
private String announcementTypeName;
private String announcementAt;
private Integer seq;
private Integer isActive;
private String createdAt;
private Long createdBy;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getInsurerId() {
return insurerId;
}
public void setInsurerId(Long insurerId) {
this.insurerId = insurerId;
}
public Long getInsurerBranchId() {
return insurerBranchId;
}
public void setInsurerBranchId(Long insurerBranchId) {
this.insurerBranchId = insurerBranchId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Long getAnnouncementType() {
return announcementType;
}
public void setAnnouncementType(Long announcementType) {
this.announcementType = announcementType;
}
public String getAnnouncementTypeName() {
return announcementTypeName;
}
public void setAnnouncementTypeName(String announcementTypeName) {
this.announcementTypeName = announcementTypeName;
}
public String getAnnouncementAt() {
return announcementAt;
}
public void setAnnouncementAt(String announcementAt) {
this.announcementAt = announcementAt;
}
public Integer getSeq() {
return seq;
}
public void setSeq(Integer seq) {
this.seq = seq;
}
public Integer getIsActive() {
return isActive;
}
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
public String getCreatedAt() {
return createdAt;
}
public void setCreatedAt(String createdAt) {
this.createdAt = createdAt;
}
public Long getCreatedBy() {
return createdBy;
}
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
}
package com.yd.api.market.vo.announcement;
public class AnnouncementQueryRequestVO {
private Long id;
private Long announcementTypeId;//37(1=运营公告),38( 2=市场喜讯),39( 3=重要通知),40(4=新品上架),41(5=竞赛奖励)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getAnnouncementTypeId() {
return announcementTypeId;
}
public void setAnnouncementTypeId(Long announcementTypeId) {
this.announcementTypeId = announcementTypeId;
}
}
package com.yd.api.market.vo.poster;
public class OwnOpportunityInfoVO {
private Long opportunityId;
private Long orderId;
private String name;
private String mobileNo;
private String opportunityFrom;//商机来源
private String opportunityDate;//商机时间
private Long mdDropOptionId;
private Long leadsAssignedId;
public Long getMdDropOptionId() {
return mdDropOptionId;
}
public void setMdDropOptionId(Long mdDropOptionId) {
this.mdDropOptionId = mdDropOptionId;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public Long getOpportunityId() {
return opportunityId;
}
public void setOpportunityId(Long opportunityId) {
this.opportunityId = opportunityId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobileNo() {
return mobileNo;
}
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
public String getOpportunityFrom() {
return opportunityFrom;
}
public void setOpportunityFrom(String opportunityFrom) {
this.opportunityFrom = opportunityFrom;
}
public String getOpportunityDate() {
return opportunityDate;
}
public void setOpportunityDate(String opportunityDate) {
this.opportunityDate = opportunityDate;
}
public Long getLeadsAssignedId() {
return leadsAssignedId;
}
public void setLeadsAssignedId(Long leadsAssignedId) {
this.leadsAssignedId = leadsAssignedId;
}
}
package com.yd.api.market.vo.poster;
public class PosterInfoVO {
private Long id;
private Long itemType;
private Long itemId;
private String title;
private Long productCategoryId;
private String thumbnailPath;
private String productPosterPath;
private String isPlan;
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the itemId
*/
public Long getItemId() {
return itemId;
}
/**
* @param itemId the itemId to set
*/
public void setItemId(Long itemId) {
this.itemId = itemId;
}
/**
* @return the title
*/
public String getTitle() {
return title;
}
/**
* @param title the title to set
*/
public void setTitle(String title) {
this.title = title;
}
/**
* @return the productCategoryId
*/
public Long getProductCategoryId() {
return productCategoryId;
}
/**
* @param productCategoryId the productCategoryId to set
*/
public void setProductCategoryId(Long productCategoryId) {
this.productCategoryId = productCategoryId;
}
/**
* @return the thumbnailPath
*/
public String getThumbnailPath() {
return thumbnailPath;
}
/**
* @param thumbnailPath the thumbnailPath to set
*/
public void setThumbnailPath(String thumbnailPath) {
this.thumbnailPath = thumbnailPath;
}
/**
* @return the productPosterPath
*/
public String getProductPosterPath() {
return productPosterPath;
}
/**
* @param productPosterPath the productPosterPath to set
*/
public void setProductPosterPath(String productPosterPath) {
this.productPosterPath = productPosterPath;
}
/**
* @return the itemType
*/
public Long getItemType() {
return itemType;
}
/**
* @param itemType the itemType to set
*/
public void setItemType(Long itemType) {
this.itemType = itemType;
}
/**
* @return the isPlan
*/
public String getIsPlan() {
return isPlan;
}
/**
* @param isPlan the isPlan to set
*/
public void setIsPlan(String isPlan) {
this.isPlan = isPlan;
}
}
package com.yd.api.market.vo.poster;
import com.yd.util.page.PaginationInfo;
public class PosterQueryRequestVO {
private Long mdDropOptionId;
/**
* @return the mdDropOptionId
*/
public Long getMdDropOptionId() {
return mdDropOptionId;
}
/**
* @param mdDropOptionId the mdDropOptionId to set
*/
public void setMdDropOptionId(Long mdDropOptionId) {
this.mdDropOptionId = mdDropOptionId;
}
private PaginationInfo paginationInfo;
/**
* @return the paginationInfo
*/
public PaginationInfo getPaginationInfo() {
return paginationInfo;
}
/**
* @param paginationInfo the paginationInfo to set
*/
public void setPaginationInfo(PaginationInfo paginationInfo) {
this.paginationInfo = paginationInfo;
}
}
package com.yd.api.market.vo.poster;
import java.util.List;
import com.yd.api.result.CommonResult;
import com.yd.util.page.PaginationInfo;
/**
* @author xxy
*
*/
public class PosterQueryResponseVO {
private List<PosterInfoVO> posterInfos;
private PaginationInfo paginationInfo;
private CommonResult commonResult;
/**
* 获取属性 commonResult
* @return commonResult
*/
public CommonResult getCommonResult() {
return commonResult;
}
/**
* 获取属性 commonResult
* @param commonResult
*/
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
/**
* 获取属性 posterInfos
* @return posterInfos
*/
public List<PosterInfoVO> getPosterInfos() {
return posterInfos;
}
/**
* 获取属性 posterInfos
* @param posterInfos
*/
public void setPosterInfos(List<PosterInfoVO> posterInfos) {
this.posterInfos = posterInfos;
}
/**
* 获取属性 paginationInfo
* @return paginationInfo
*/
public PaginationInfo getPaginationInfo() {
return paginationInfo;
}
/**
* 获取属性 paginationInfo
* @param paginationInfo
*/
public void setPaginationInfo(PaginationInfo paginationInfo) {
this.paginationInfo = paginationInfo;
}
}
package com.yd.api.practitioner;
import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Controller
@RestController
public class PractitionerController {
@Autowired
private PractitionerService practitionerService;
/**
* 线下经纪人排行榜
* @param requestVO
* @return
*/
@RequestMapping("/practitionerRank")
public Object practitionerRank(@RequestBody PractitionerRankRequestVO requestVO){
JsonResult result = new JsonResult();
PractitionerRankResponseVO responseVO = practitionerService.practitionerRank(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
package com.yd.api.practitioner.service;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import org.springframework.stereotype.Service;
@Service("practitionerService")
public interface PractitionerService {
/**
* 线下经纪人排行榜查询
* @param requestVO
* @return
*/
PractitionerRankResponseVO practitionerRank(PractitionerRankRequestVO requestVO);
}
package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.practitioner.vo.rank.PractitionerInfoForAchievement;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.practitioner.PractitionerRankInfo;
import com.yd.dal.service.practitioner.PractitionerServiceDAL;
import com.yd.util.config.ZHBErrorConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.google.common.base.Strings;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@Service("practitionerService")
public class PractitionerServiceImpl implements com.yd.api.practitioner.service.PractitionerService {
@Autowired
private PractitionerServiceDAL practitionerServiceDAL;
@Override
public PractitionerRankResponseVO practitionerRank(PractitionerRankRequestVO requestVO) {
PractitionerRankResponseVO responseVO = new PractitionerRankResponseVO();
String mobileNo = requestVO.getMobileNo();
Integer type = requestVO.getType();
Integer time = requestVO.getTime();
Integer platform = requestVO.getPlatform();
type = (type == null) ? 1 : type;//默认:保费
time = (time == null) ? 1 : time;//默认:本月
platform = (platform == null) ? 1 : platform;
if(!Strings.isNullOrEmpty(mobileNo)){
//查询该手机号码的经纪人id,是否存在
PractitionerBasicInfo practitionerBasicInfo = getPractitionerBasicInfo(mobileNo,platform);
if(practitionerBasicInfo != null){
String practitionerId = practitionerBasicInfo.getPractitionerId();
if(!Strings.isNullOrEmpty(practitionerId)){
List<PractitionerRankInfo> rankInfoList = getPractitionerRankInfo(time,platform);
//按照指定类型排序
getPractitionerRankResult(responseVO,rankInfoList,type,practitionerId);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
}
}else{
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("820001"))); //该经纪人不存在
}
}else{
String [] param = {"mobileNo"};
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("610001", param)));
}
return responseVO;
}
private List<PractitionerRankInfo> getPractitionerRankInfo(Integer time, Integer platform) {
List<PractitionerRankInfo> rankInfoList;
if(platform == 1){
rankInfoList = practitionerServiceDAL.getPractitionerRankInfoForOnline(time);
}else{
rankInfoList = practitionerServiceDAL.getPractitionerRankInfoForOffline(time);
}
return rankInfoList;
}
private PractitionerBasicInfo getPractitionerBasicInfo(String mobileNo, Integer platform) {
PractitionerBasicInfo practitionerBasicInfo;
if(platform == 1){
practitionerBasicInfo = practitionerServiceDAL.getPractitionerBasicInfoForOnline(mobileNo);
if(practitionerBasicInfo != null){
Long practitionerId = practitionerBasicInfo.getPractitionerIdForOnline();
if(practitionerId != null){
practitionerBasicInfo.setPractitionerId(practitionerId.toString());
}
}
}else{
practitionerBasicInfo = practitionerServiceDAL.getPractitionerBasicInfoForOffline(mobileNo);
}
return practitionerBasicInfo;
}
private void getPractitionerRankResult(PractitionerRankResponseVO responseVO, List<PractitionerRankInfo> rankInfoList, Integer type, String practitionerId) {
PractitionerInfoForAchievement practitionerInfo = new PractitionerInfoForAchievement();
List<AclCustomerFortuneStatistics> rankList = new ArrayList<>();
if(!rankInfoList.isEmpty()){
//1-保费,2-佣金,3-件数
if(2 == type){
rankInfoList.sort(Comparator.comparingDouble(PractitionerRankInfo::getFyc).reversed());
}else if(3 == type){
rankInfoList.sort(Comparator.comparingInt(PractitionerRankInfo::getCount).reversed());
}else{
rankInfoList.sort(Comparator.comparingDouble(PractitionerRankInfo::getFyp).reversed());
}
AclCustomerFortuneStatistics fortuneStatistics;
int rank = 1;
boolean rank10 ,getSelf = false;
for(PractitionerRankInfo practitionerItem : rankInfoList){
Long practitionerIdForOnLine = practitionerItem.getPractitionerIdForOnLine();
if(practitionerIdForOnLine != null){
practitionerItem.setPractitionerId(practitionerIdForOnLine.toString());
}
rank10 = (rank > 10);
if(!rank10){
fortuneStatistics = new AclCustomerFortuneStatistics();
BeanUtils.copyProperties(practitionerItem,fortuneStatistics);
fortuneStatistics.setSubordinateSystemName(practitionerItem.getSpcDivName());
fortuneStatistics.setRank(rank);
rankList.add(fortuneStatistics);
}
if(!getSelf){
String practitionerIdItem = practitionerItem.getPractitionerId();
if(practitionerId.equals(practitionerIdItem)){
BeanUtils.copyProperties(practitionerItem,practitionerInfo);
practitionerInfo.setRank(rank);
getSelf = true;
}
}
if(rank10 && getSelf){
break;
}
rank ++;
}
if(!getSelf){
practitionerInfo.setCount(0);
practitionerInfo.setFyc(0D);
practitionerInfo.setFyp(0D);
}
}else{
practitionerInfo.setCount(0);
practitionerInfo.setFyc(0D);
practitionerInfo.setFyp(0D);
}
responseVO.setPractitionerInfo(practitionerInfo);
responseVO.setRank(rankList);
}
}
package com.yd.api.practitioner.vo.rank;
import java.io.Serializable;
public class AclCustomerFortuneStatistics implements Serializable {
private Integer rank;
private Long customerId;
private String practitionerId;
private String name;
private Long subordinateSystemId;//所属体系id
private String subordinateSystemName;//所属体系名称
private Long practitionerLevelId;
private Integer count;
private Double fyp;
private Double fyc;
public Integer getRank() {
return rank;
}
public void setRank(Integer rank) {
this.rank = rank;
}
public Long getCustomerId() {
return customerId;
}
public void setCustomerId(Long customerId) {
this.customerId = customerId;
}
public String getPractitionerId() {
return practitionerId;
}
public void setPractitionerId(String practitionerId) {
this.practitionerId = practitionerId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getSubordinateSystemId() {
return subordinateSystemId;
}
public void setSubordinateSystemId(Long subordinateSystemId) {
this.subordinateSystemId = subordinateSystemId;
}
public String getSubordinateSystemName() {
return subordinateSystemName;
}
public void setSubordinateSystemName(String subordinateSystemName) {
this.subordinateSystemName = subordinateSystemName;
}
public Long getPractitionerLevelId() {
return practitionerLevelId;
}
public void setPractitionerLevelId(Long practitionerLevelId) {
this.practitionerLevelId = practitionerLevelId;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Double getFyp() {
return fyp;
}
public void setFyp(Double fyp) {
this.fyp = fyp;
}
public Double getFyc() {
return fyc;
}
public void setFyc(Double fyc) {
this.fyc = fyc;
}
private static final long serialVersionUID = 1L;
}
package com.yd.api.practitioner.vo.rank;
import java.io.Serializable;
public class PractitionerInfoForAchievement implements Serializable {
private Double fyp;
private Double fyc;
private Integer count;
private Double completionRate;
private Integer rank;
public Double getFyp() {
return fyp;
}
public void setFyp(Double fyp) {
this.fyp = fyp;
}
public Double getFyc() {
return fyc;
}
public void setFyc(Double fyc) {
this.fyc = fyc;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Double getCompletionRate() {
return completionRate;
}
public void setCompletionRate(Double completionRate) {
this.completionRate = completionRate;
}
public Integer getRank() {
return rank;
}
public void setRank(Integer rank) {
this.rank = rank;
}
private static final long serialVersionUID = 1L;
}
package com.yd.api.practitioner.vo.rank;
import java.util.List;
public class PractitionerRankInfo {
private PractitionerInfoForAchievement practitionerInfo;
private List<AclCustomerFortuneStatistics> rank;
public PractitionerInfoForAchievement getPractitionerInfo() {
return practitionerInfo;
}
public void setPractitionerInfo(PractitionerInfoForAchievement practitionerInfo) {
this.practitionerInfo = practitionerInfo;
}
public List<AclCustomerFortuneStatistics> getRank() {
return rank;
}
public void setRank(List<AclCustomerFortuneStatistics> rank) {
this.rank = rank;
}
}
package com.yd.api.practitioner.vo.rank;
public class PractitionerRankRequestVO {
private String mobileNo;
private Integer platform;//1-online,2-offline
private Integer time;//1-month,2-year
private Integer type;//1-保费,2-佣金,3-件数
public String getMobileNo() {
return mobileNo;
}
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
public Integer getPlatform() {
return platform;
}
public void setPlatform(Integer platform) {
this.platform = platform;
}
public Integer getTime() {
return time;
}
public void setTime(Integer time) {
this.time = time;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}
package com.yd.api.market.vo.announcement; package com.yd.api.practitioner.vo.rank;
import com.yd.api.result.CommonResult;
import java.io.Serializable;
import java.util.List; import java.util.List;
import com.yd.api.result.CommonResult; public class PractitionerRankResponseVO implements Serializable {
public class AnnouncementQueryResponseVO { private PractitionerInfoForAchievement practitionerInfo;
private List<AnnouncementInfoVO> announcementInfoList; private List<AclCustomerFortuneStatistics> rank;
private CommonResult commonResult; private CommonResult commonResult;
public List<AnnouncementInfoVO> getAnnouncementInfoList() { public PractitionerInfoForAchievement getPractitionerInfo() {
return announcementInfoList; return practitionerInfo;
}
public void setPractitionerInfo(PractitionerInfoForAchievement practitionerInfo) {
this.practitionerInfo = practitionerInfo;
}
public List<AclCustomerFortuneStatistics> getRank() {
return rank;
} }
public void setAnnouncementInfoList(List<AnnouncementInfoVO> announcementInfoList) { public void setRank(List<AclCustomerFortuneStatistics> rank) {
this.announcementInfoList = announcementInfoList; this.rank = rank;
} }
public CommonResult getCommonResult() { public CommonResult getCommonResult() {
......
package com.yd.dataccess.entity.commission; package com.yd.dal.entity.commission;
/** /**
* @author Simon * @author Simon
......
package com.yd.dataccess.entity.commission; package com.yd.dal.entity.commission;
public class CommissionEGolden { public class CommissionEGolden {
private String login; private String login;
......
package com.yd.dataccess.entity.customer; package com.yd.dal.entity.customer;
import java.util.Date; import java.util.Date;
......
package com.yd.dataccess.entity.customer; package com.yd.dal.entity.customer;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
......
package com.yd.dal.entity.practitioner;
public class PractitionerBasicInfo {
private Long customerId;
private Long practitionerIdForOnline;
private String practitionerId;
private String name;
private String titleCode;
private String titleName;
private String gender;
public Long getCustomerId() {
return customerId;
}
public void setCustomerId(Long customerId) {
this.customerId = customerId;
}
public Long getPractitionerIdForOnline() {
return practitionerIdForOnline;
}
public void setPractitionerIdForOnline(Long practitionerIdForOnline) {
this.practitionerIdForOnline = practitionerIdForOnline;
}
public String getPractitionerId() {
return practitionerId;
}
public void setPractitionerId(String practitionerId) {
this.practitionerId = practitionerId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitleCode() {
return titleCode;
}
public void setTitleCode(String titleCode) {
this.titleCode = titleCode;
}
public String getTitleName() {
return titleName;
}
public void setTitleName(String titleName) {
this.titleName = titleName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
package com.yd.dal.entity.practitioner;
public class PractitionerRankInfo {
private Long practitionerIdForOnLine;
private String practitionerId;
private String name;
private String spcDivName;//所属体系名称
private String titleCode;//职称code
private String titleName;//职称名称
private Integer count;
private Double fyp;
private Double fyc;
public Long getPractitionerIdForOnLine() {
return practitionerIdForOnLine;
}
public void setPractitionerIdForOnLine(Long practitionerIdForOnLine) {
this.practitionerIdForOnLine = practitionerIdForOnLine;
}
public String getPractitionerId() {
return practitionerId;
}
public void setPractitionerId(String practitionerId) {
this.practitionerId = practitionerId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSpcDivName() {
return spcDivName;
}
public void setSpcDivName(String spcDivName) {
this.spcDivName = spcDivName;
}
public String getTitleCode() {
return titleCode;
}
public void setTitleCode(String titleCode) {
this.titleCode = titleCode;
}
public String getTitleName() {
return titleName;
}
public void setTitleName(String titleName) {
this.titleName = titleName;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Double getFyp() {
return fyp;
}
public void setFyp(Double fyp) {
this.fyp = fyp;
}
public Double getFyc() {
return fyc;
}
public void setFyc(Double fyc) {
this.fyc = fyc;
}
}
package com.yd.dataccess.mapper.commission; package com.yd.dal.mapper.commission;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.yd.dataccess.entity.commission.CommissionEGolden; import com.yd.dal.entity.commission.CommissionEGolden;
/** /**
* @author Simon * @author Simon
......
package com.yd.dataccess.mapper.commission; package com.yd.dal.mapper.commission;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.yd.dataccess.entity.commission.Commission; import com.yd.dal.entity.commission.Commission;
/** /**
* @author Simon * @author Simon
......
package com.yd.dataccess.mapper.customer; package com.yd.dal.mapper.customer;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.yd.dataccess.entity.customer.CustomerFortune; import com.yd.dal.entity.customer.CustomerFortune;
public interface CustomerFortuneMapper { public interface CustomerFortuneMapper {
int deleteByPrimaryKey(Long id); int deleteByPrimaryKey(Long id);
......
package com.yd.dataccess.mapper.customer; package com.yd.dal.mapper.customer;
import java.util.List; import java.util.List;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.Customer;
/** /**
* @author Simon * @author Simon
......
package com.yd.dal.mapper.practitioner;
import com.yd.dal.entity.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.practitioner.PractitionerRankInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface PractitionerMapper {
PractitionerBasicInfo getPractitionerInfoByMobileNoForOffline(String mobileNo);
List<PractitionerRankInfo> getPractitionerRankInfoForOffline(@Param("time") Integer time);
PractitionerBasicInfo getPractitionerInfoByMobileNoForOnline(String mobileNo);
List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time);
}
package com.yd.dataccess.service.commission; package com.yd.dal.service.commission;
import java.util.List; import java.util.List;
import com.yd.dataccess.entity.commission.CommissionEGolden; import com.yd.dal.entity.commission.CommissionEGolden;
/** /**
* @author Simon * @author Simon
......
package com.yd.dataccess.service.commission; package com.yd.dal.service.commission;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yd.dataccess.entity.commission.CommissionEGolden; import com.yd.dal.entity.commission.CommissionEGolden;
import com.yd.dataccess.mapper.commission.CommissionEGoldenMapper; import com.yd.dal.mapper.commission.CommissionEGoldenMapper;
import com.yd.util.intercept.annotation.TargetDataSource; import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey; import com.yd.util.intercept.commons.DataSourceKey;
......
package com.yd.dataccess.service.commission; package com.yd.dal.service.commission;
import java.util.List; import java.util.List;
import com.yd.dataccess.entity.commission.Commission; import com.yd.dal.entity.commission.Commission;
/** /**
* @author Simon * @author Simon
......
package com.yd.dataccess.service.commission; package com.yd.dal.service.commission;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.yd.dataccess.entity.commission.Commission; import com.yd.dal.entity.commission.Commission;
import com.yd.dataccess.mapper.commission.CommissionMapper; import com.yd.dal.mapper.commission.CommissionMapper;
import com.yd.util.intercept.annotation.TargetDataSource; import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey; import com.yd.util.intercept.commons.DataSourceKey;
......
package com.yd.dataccess.service.customer; package com.yd.dal.service.customer;
import java.util.List; import java.util.List;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.Customer;
import com.yd.dataccess.entity.customer.CustomerFortune; import com.yd.dal.entity.customer.CustomerFortune;
/** /**
* @author Simon * @author Simon
......
package com.yd.dataccess.service.customer; package com.yd.dal.service.customer;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -6,10 +6,10 @@ import org.springframework.stereotype.Service; ...@@ -6,10 +6,10 @@ import org.springframework.stereotype.Service;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.yd.dataccess.entity.customer.Customer; import com.yd.dal.entity.customer.Customer;
import com.yd.dataccess.entity.customer.CustomerFortune; import com.yd.dal.entity.customer.CustomerFortune;
import com.yd.dataccess.mapper.customer.CustomerFortuneMapper; import com.yd.dal.mapper.customer.CustomerFortuneMapper;
import com.yd.dataccess.mapper.customer.CustomerMapper; import com.yd.dal.mapper.customer.CustomerMapper;
import com.yd.util.intercept.annotation.TargetDataSource; import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey; import com.yd.util.intercept.commons.DataSourceKey;
......
package com.yd.dal.service.practitioner;
import com.yd.dal.entity.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.practitioner.PractitionerRankInfo;
import java.util.List;
public interface PractitionerServiceDAL {
/**
* 线下--通过手机号码获取经纪人的基础信息
* @param mobileNo
* @return
*/
PractitionerBasicInfo getPractitionerBasicInfoForOffline(String mobileNo);
/**
* 线上--通过手机号码获取经纪人的基础信息
* @param mobileNo
* @return
*/
PractitionerBasicInfo getPractitionerBasicInfoForOnline(String mobileNo);
/**
* 线下--按照时间进行查询经纪人的排名统计信息
* @param time 1-month,2-year
* @return
*/
List<PractitionerRankInfo> getPractitionerRankInfoForOffline(Integer time);
/**
* 线上--按照时间进行查询经纪人的排名统计信息
* @param time 1-month,2-year
* @return
*/
List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time);
}
package com.yd.dal.service.practitioner.impl;
import com.google.common.base.Strings;
import com.yd.dal.entity.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.practitioner.PractitionerRankInfo;
import com.yd.dal.mapper.practitioner.PractitionerMapper;
import com.yd.dal.service.customer.CustomerDAImpl;
import com.yd.dal.service.practitioner.PractitionerServiceDAL;
import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service("practitionerServiceDAL")
public class PractitionerServiceImplDAL implements PractitionerServiceDAL {
private static final Logger LOG = Logger.getLogger(CustomerDAImpl.class);
@Resource
private PractitionerMapper practitionerMapper;
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public PractitionerBasicInfo getPractitionerBasicInfoForOffline(String mobileNo) {
if(!Strings.isNullOrEmpty(mobileNo)){
return practitionerMapper.getPractitionerInfoByMobileNoForOffline(mobileNo);
}else{
LOG.error("mobileNo is null!");
}
return null;
}
@Override
public PractitionerBasicInfo getPractitionerBasicInfoForOnline(String mobileNo) {
if(!Strings.isNullOrEmpty(mobileNo)){
return practitionerMapper.getPractitionerInfoByMobileNoForOnline(mobileNo);
}else{
LOG.error("mobileNo is null!");
}
return null;
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<PractitionerRankInfo> getPractitionerRankInfoForOffline(Integer time) {
return practitionerMapper.getPractitionerRankInfoForOffline(time);
}
@Override
public List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time) {
return practitionerMapper.getPractitionerRankInfoForOnline(time);
}
}
package com.yd.dataccess.entity.mkt;
import java.io.Serializable;
import java.util.Date;
public class MktAnnouncement implements Serializable{
private static final long serialVersionUID = 1L;
private Long id;//serial idPRIauto_increment
private Long insurerId;//保险公司ID, FK ag_acl_insurer.id
private Long insurerBranchId;//保险分支机构ID, FK ag_acl_insurer_branch.id
private String title;//公告标题
private String content;//公告内容
private Long announcementType;//FK ag_md_drop_options.id 1=运营公告 2=市场喜讯 3重要通知,4新品上架,5竞赛奖励
private Date announcementAt;//发布时间
private Integer seq;//listed sequence
private Integer isActive;//0=No, 1=Yes
private Date createdAt;//""
private Long createdBy;//""
/**
* 获取属性 id serial idPRIauto_increment
* @return id
*/
public Long getId() {
return id;
}
/**
* 属性赋值 id serial idPRIauto_increment
* @param id
*/
public void setId(Long id) {
this.id = id;
}
/**
* 获取属性 insurerId 保险公司ID, FK ag_acl_insurer.id
* @return insurerId
*/
public Long getInsurerId() {
return insurerId;
}
/**
* 属性赋值 insurerId 保险公司ID, FK ag_acl_insurer.id
* @param insurerId
*/
public void setInsurerId(Long insurerId) {
this.insurerId = insurerId;
}
/**
* 获取属性 insurerBranchId 保险分支机构ID, FK ag_acl_insurer_branch.id
* @return insurerBranchId
*/
public Long getInsurerBranchId() {
return insurerBranchId;
}
/**
* 属性赋值 insurerBranchId 保险分支机构ID, FK ag_acl_insurer_branch.id
* @param insurerBranchId
*/
public void setInsurerBranchId(Long insurerBranchId) {
this.insurerBranchId = insurerBranchId;
}
/**
* 获取属性 title 公告标题
* @return title
*/
public String getTitle() {
return title;
}
/**
* 属性赋值 title 公告标题
* @param title
*/
public void setTitle(String title) {
this.title = title;
}
/**
* 获取属性 content 公告内容
* @return content
*/
public String getContent() {
return content;
}
/**
* 属性赋值 content 公告内容
* @param content
*/
public void setContent(String content) {
this.content = content;
}
/**
* 获取属性 announcementType FK ag_md_drop_options.id 1=运营公告 2=市场喜讯 3重要通知,4新品上架,5竞赛奖励
* @return announcementType
*/
public Long getAnnouncementType() {
return announcementType;
}
/**
* 属性赋值 announcementType FK ag_md_drop_options.id 1=运营公告 2=市场喜讯 3重要通知,4新品上架,5竞赛奖励
* @param announcementType
*/
public void setAnnouncementType(Long announcementType) {
this.announcementType = announcementType;
}
/**
* 获取属性 announcementAt 发布时间
* @return announcementAt
*/
public Date getAnnouncementAt() {
return announcementAt;
}
/**
* 属性赋值 announcementAt 发布时间
* @param announcementAt
*/
public void setAnnouncementAt(Date announcementAt) {
this.announcementAt = announcementAt;
}
/**
* 获取属性 seq listed sequence
* @return seq
*/
public Integer getSeq() {
return seq;
}
/**
* 属性赋值 seq listed sequence
* @param seq
*/
public void setSeq(Integer seq) {
this.seq = seq;
}
/**
* 获取属性 isActive 0=No, 1=Yes
* @return isActive
*/
public Integer getIsActive() {
return isActive;
}
/**
* 属性赋值 isActive 0=No, 1=Yes
* @param isActive
*/
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
/**
* 获取属性 createdAt ""
* @return createdAt
*/
public Date getCreatedAt() {
return createdAt;
}
/**
* 属性赋值 createdAt ""
* @param createdAt
*/
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
/**
* 获取属性 createdBy ""
* @return createdBy
*/
public Long getCreatedBy() {
return createdBy;
}
/**
* 属性赋值 createdBy ""
* @param createdBy
*/
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
}
\ No newline at end of file
package com.yd.dataccess.mapper.mkt;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.yd.dataccess.entity.mkt.MktAnnouncement;
@Repository
public interface MktAnnouncementMapper{
/**
* 通过公告类型查询公告
* @param announcementType
* @return
*/
void insert(MktAnnouncement mktAnnouncement);
Integer update(MktAnnouncement mktAnnouncement);
Integer delete(@Param("announcementType")Long announcementType);
List<MktAnnouncement> findByType(@Param("announcementType")Long announcementType);
List<MktAnnouncement> findByIsActive(@Param("isActive")Integer isActive);
List<MktAnnouncement> findByIsActiveAndAnnouncementAtBefore(@Param("isActive")Integer isActive, @Param("announcementAt")Date announcementAt);
List<MktAnnouncement> findBySeqAndIsActive(@Param("seq")Integer seq, @Param("isActive")Integer isActive);
}
\ No newline at end of file
package com.yd.dataccess.service.mkt;
import com.yd.dataccess.entity.mkt.MktAnnouncement;
import java.util.Date;
import java.util.List;
public interface MktAnnouncementServiceDA {
/**** 下面是自定义方法 ****/
/**
* 通过公告类型查询公告
* @param announcementType
* @return
*/
MktAnnouncement insert(MktAnnouncement mktAnnouncement);
int update(MktAnnouncement mktAnnouncement);
int delete(Long announcementType);
List<MktAnnouncement> findByType(Long announcementType);
/**
* 查询所有有效的公告
* @param isActive
* @return
*/
List<MktAnnouncement> findByIsActive(Integer isActive);
List<MktAnnouncement> findByIsActiveAndAnnouncementAtBefore(int isActive, Date announcementAt);
List<MktAnnouncement> findBySeqAndIsActive(Integer seq, Integer isActive);
}
\ No newline at end of file
package com.yd.dataccess.service.mkt;
import com.yd.dataccess.entity.mkt.MktAnnouncement;
import com.yd.dataccess.mapper.mkt.MktAnnouncementMapper;
import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Transactional class level transaction管理
* @author Simon
* @version 1.0
*/
@Service("mktAnnouncementServiceDAImpl")
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class MktAnnouncementServiceDAImpl implements MktAnnouncementServiceDA {
@Resource
private MktAnnouncementMapper mktAnnouncementMapper;
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_MASTER)
public List<MktAnnouncement> findByType(Long announcementType) {
List<MktAnnouncement> destList = new ArrayList<MktAnnouncement>();
destList = mktAnnouncementMapper.findByType(announcementType);
return destList;
}
@Override
public List<MktAnnouncement> findByIsActive(Integer isActive) {
List<MktAnnouncement> destList = new ArrayList<MktAnnouncement>();
destList = mktAnnouncementMapper.findByIsActive(isActive);
return destList;
}
@Override
public List<MktAnnouncement> findByIsActiveAndAnnouncementAtBefore(int isActive, Date announcementAt) {
List<MktAnnouncement> destList = new ArrayList<MktAnnouncement>();
destList = mktAnnouncementMapper.findByIsActiveAndAnnouncementAtBefore(isActive,announcementAt);
return destList;
}
/*
* 查询记录
* (non-Javadoc)
* @see com.yd.dataccess.service.mkt.MktAnnouncementServiceDA#findBySeqAndIsActive(java.lang.Integer, java.lang.Integer)
*/
@Override
public List<MktAnnouncement> findBySeqAndIsActive(Integer seq, Integer isActive) {
List<MktAnnouncement> destList = new ArrayList<MktAnnouncement>();
destList = mktAnnouncementMapper.findBySeqAndIsActive(seq,isActive);
return destList;
}
/*
* add添加一条记录
* @Transactional method level transaction管理
* (non-Javadoc)
* @see com.yd.dataccess.service.mkt.MktAnnouncementServiceDA#insert(com.yd.dataccess.entity.mkt.MktAnnouncement)
*/
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public MktAnnouncement insert(MktAnnouncement mktAnnouncement) {
mktAnnouncementMapper.insert(mktAnnouncement);
return mktAnnouncement;
}
/*
* update修改一条记录
* (non-Javadoc)
* @see com.yd.dataccess.service.mkt.MktAnnouncementServiceDA#update(com.yd.dataccess.entity.mkt.MktAnnouncement)
*/
@Override
public int update(MktAnnouncement mktAnnouncement) {
int result = mktAnnouncementMapper.update(mktAnnouncement);
return result;
}
/*
* delete删除一条记录
* (non-Javadoc)
* @see com.yd.dataccess.service.mkt.MktAnnouncementServiceDA#delete(java.lang.Long)
*/
@Override
public int delete(Long announcementType) {
int result = mktAnnouncementMapper.delete(announcementType);
return result;
}
}
\ No newline at end of file
...@@ -19,7 +19,7 @@ import com.yd.util.intercept.annotation.TargetDataSource; ...@@ -19,7 +19,7 @@ import com.yd.util.intercept.annotation.TargetDataSource;
public class DynamicDataSourceAspect { public class DynamicDataSourceAspect {
private static final Logger LOG = Logger.getLogger(DynamicDataSourceAspect.class); private static final Logger LOG = Logger.getLogger(DynamicDataSourceAspect.class);
@Pointcut("execution(* com.yd.dataccess.service.*.*(..))") @Pointcut("execution(* com.yd.dal.service.*.*(..))")
public void pointCut() { public void pointCut() {
} }
......
...@@ -19,7 +19,7 @@ import javax.sql.DataSource; ...@@ -19,7 +19,7 @@ import javax.sql.DataSource;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@MapperScan(basePackages = "com.yd.dataccess.mapper.*") @MapperScan(basePackages = "com.yd.dal.mapper.*")
@Configuration @Configuration
public class DynamicDataSourceConfiguration { public class DynamicDataSourceConfiguration {
@Bean @Bean
......
## 暂时不用更新2019/10/10-water ## ## 暂时不用更新2019/10/10-water ##
######################参数信息校验######################## ######################参数信息校验########################
600000=参数检验成功! 600000=参数检验成功!
600001=参数信息不能为空! 610001=入参中[{0}]不能为空!
600002=参数校验失败 610002=入参中[{0}]不能同时为空
800000=执行成功! 800000=执行成功!
##系统提示信息 ##系统提示信息
810001=token无效或者错误! 810001=token无效或者错误!
\ No newline at end of file
820001=该用户还是不是寿险经纪人。
\ No newline at end of file
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/yd/yd-api.%d{yyyy-MM-dd}.log</FileNamePattern> <FileNamePattern>opt/log/yd/yd-api.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory> <MaxHistory>30</MaxHistory>
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<appender name="accurateQuotationFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="accurateQuotationFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/yd/accurate.%d{yyyy-MM-dd}.log</FileNamePattern> <FileNamePattern>opt/log/yd/accurate.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/yd/yd-api.%d{yyyy-MM-dd}.log</FileNamePattern> <FileNamePattern>opt/log/yd/yd-api.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory> <MaxHistory>30</MaxHistory>
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
<appender name="accurateQuotationFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="accurateQuotationFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/yd/accurate.%d{yyyy-MM-dd}.log</FileNamePattern> <FileNamePattern>opt/log/yd/accurate.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory><!--日志文件保留天数 --> <MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy> </rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
......
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yd.dataccess.mapper.commission.CommissionEGoldenMapper"> <mapper namespace="com.yd.dal.mapper.commission.CommissionEGoldenMapper">
<resultMap id="base_result_mapegolden" type="com.yd.dataccess.entity.commission.CommissionEGolden"> <resultMap id="base_result_mapegolden" type="com.yd.dal.entity.commission.CommissionEGolden">
<result column="SAL_MST_MOBILE" property="login"/> <result column="SAL_MST_MOBILE" property="login"/>
<result column="SAL_MST_NAME" property="name"/> <result column="SAL_MST_NAME" property="name"/>
<result column="INS_MST_ID" property="policyNo"/> <result column="INS_MST_ID" property="policyNo"/>
......
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yd.dataccess.mapper.commission.CommissionMapper"> <mapper namespace="com.yd.dal.mapper.commission.CommissionMapper">
<resultMap id="base_result_map" type="com.yd.dataccess.entity.commission.Commission"> <resultMap id="base_result_map" type="com.yd.dal.entity.commission.Commission">
<result column="login" property="login"/> <result column="login" property="login"/>
<result column="name" property="name"/> <result column="name" property="name"/>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dataccess.mapper.customer.CustomerFortuneMapper"> <mapper namespace="com.yd.dal.mapper.customer.CustomerFortuneMapper">
<resultMap id="BaseResultMap" type="com.yd.dataccess.entity.customer.CustomerFortune"> <resultMap id="BaseResultMap" type="com.yd.dal.entity.customer.CustomerFortune">
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="share_id" jdbcType="BIGINT" property="shareId" /> <result column="share_id" jdbcType="BIGINT" property="shareId" />
<result column="customer_id" jdbcType="BIGINT" property="customerId" /> <result column="customer_id" jdbcType="BIGINT" property="customerId" />
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
delete from ag_acl_customer_fortune delete from ag_acl_customer_fortune
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</delete> </delete>
<insert id="insert" parameterType="com.yd.dataccess.entity.customer.CustomerFortune"> <insert id="insert" parameterType="com.yd.dal.entity.customer.CustomerFortune">
insert into ag_acl_customer_fortune (id, share_id, customer_id, insert into ag_acl_customer_fortune (id, share_id, customer_id,
order_id, order_date, order_price, order_id, order_date, order_price,
referral_rate, referral_amount, referral_amount_after_valueadded, referral_rate, referral_amount, referral_amount_after_valueadded,
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
#{fortunePayedId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT} #{fortunePayedId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}
) )
</insert> </insert>
<insert id="insertSelective" parameterType="com.yd.dataccess.entity.customer.CustomerFortune"> <insert id="insertSelective" parameterType="com.yd.dal.entity.customer.CustomerFortune">
insert into ag_acl_customer_fortune insert into ag_acl_customer_fortune
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
</if> </if>
</trim> </trim>
</insert> </insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dataccess.entity.customer.CustomerFortune"> <update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.customer.CustomerFortune">
update ag_acl_customer_fortune update ag_acl_customer_fortune
<set> <set>
<if test="shareId != null"> <if test="shareId != null">
...@@ -230,7 +230,7 @@ ...@@ -230,7 +230,7 @@
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.yd.dataccess.entity.customer.CustomerFortune"> <update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.CustomerFortune">
update ag_acl_customer_fortune update ag_acl_customer_fortune
set share_id = #{shareId,jdbcType=BIGINT}, set share_id = #{shareId,jdbcType=BIGINT},
customer_id = #{customerId,jdbcType=BIGINT}, customer_id = #{customerId,jdbcType=BIGINT},
......
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yd.dataccess.mapper.customer.CustomerMapper"> <mapper namespace="com.yd.dal.mapper.customer.CustomerMapper">
<resultMap id="base_result_map" type="com.yd.dataccess.entity.customer.Customer"> <resultMap id="base_result_map" type="com.yd.dal.entity.customer.Customer">
<result column="login" property="login"/> <result column="login" property="login"/>
<result column="password" property="password"/> <result column="password" property="password"/>
<result column="mobile_no" property="mobileNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/> <result column="mobile_no" property="mobileNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="created_at" property="createdAt"/> <result column="created_at" property="createdAt"/>
<result column="updated_at" property="updatedAt"/> <result column="updated_at" property="updatedAt"/>
</resultMap> </resultMap>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<select id="listAllCustomer" resultMap="base_result_map"> <select id="listAllCustomer" resultMap="base_result_map">
SELECT SELECT
<include refid="base_sql"/> <include refid="base_sql"/>
FROM ag_acl_customer limit 100 FROM ag_acl_customer
</select> </select>
<select id="queryByPage" resultMap="base_result_map"> <select id="queryByPage" resultMap="base_result_map">
SELECT SELECT
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yd.dataccess.mapper.mkt.MktAnnouncementMapper">
<resultMap id="base_result_map" type="com.yd.dataccess.entity.mkt.MktAnnouncement">
<id property="id" column="id"/>
<result column="insurerId" property="insurerId"/>
<result column="insurer_branch_id" property="insurerBranchId"/>
<result column="title" property="title"/>
<result column="content" property="content"/>
<result column="announcement_type" property="announcementType"/>
<result column="announcement_at" property="announcementAt"/>
<result column="seq" property="seq"/>
<result column="is_active" property="isActive"/>
<result column="created_at" property="createdAt"/>
<result column="created_by" property="createdBy"/>
</resultMap>
<insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.yd.dataccess.entity.mkt.MktAnnouncement">
INSERT INTO yd_mkt_announcement
(insurer_id,insurer_branch_id,title,content,announcement_type,announcement_at,seq,is_active,created_at,created_by)
VALUES
(#{insurerId},#{insurerBranchId},#{title},#{content},#{announcementType},#{announcementAt},#{seq},#{isActive},#{createdAt},#{createdBy})
</insert>
<update id="update" parameterType="com.yd.dataccess.entity.mkt.MktAnnouncement">
UPDATE yd_mkt_announcement SET
<if test="insurerId != null">insurer_id = #{insurerId},</if>
<if test="insurerBranchId != null">insurer_branch_id = #{insurerBranchId},</if>
<if test="title != null">title = #{title},</if>
<if test="content != null">content = #{content},</if>
<if test="announcementType != null">announcement_type = #{announcementType},</if>
<if test="announcementAt != null">announcement_at = #{announcementAt},</if>
<if test="seq != null">seq = #{seq},</if>
<if test="isActive != null">is_active = #{isActive},</if>
<if test="createdAt != null">created_at = #{createdAt},</if>
<if test="createdBy != null">created_by = #{createdBy},</if>
id = #{id}
WHERE id = #{id}
</update>
<delete id="delete">
delete from yd_mkt_announcement
WHERE announcement_type = #{announcementType}
</delete>
<sql id="base_sql">
id,insurer_id,insurer_branch_id,title,content,announcement_type,announcement_at,seq,is_active,created_at,created_by
</sql>
<select id="findByType" resultMap="base_result_map">
SELECT
<include refid="base_sql"/>
FROM yd_mkt_announcement t WHERE t.announcement_type = #{announcementType} and t.is_active = 1 order by t.seq asc , t.created_at desc
</select>
<select id="findByIsActive" resultMap="base_result_map">
SELECT
<include refid="base_sql"/>
From yd_mkt_announcement t WHERE t.is_active = #{isActive} order by t.seq asc , t.created_at desc
</select>
<select id="findByIsActiveAndAnnouncementAtBefore" resultMap="base_result_map">
SELECT
<include refid="base_sql"/>
From yd_mkt_announcement t WHERE 1= 1
and t.is_active = #{isActive}
and t.announcement_at &lt;= #{announcementAt} order by t.seq asc , t.created_at desc
</select>
<select id="findBySeqAndIsActive" resultMap="base_result_map">
SELECT
<include refid="base_sql"/>
From yd_mkt_announcement t WHERE t.is_active = #{isActive} and t.seq = #{seq} order by t.announcement_at desc ;
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yd.dal.mapper.practitioner.PractitionerMapper">
<resultMap id="base_result_map_practitioner_info" type="com.yd.dal.entity.practitioner.PractitionerBasicInfo">
<result column="customerId" property="customerId"/>
<result column="practitionerIdForOnline" property="practitionerIdForOnline"/>
<result column="practitionerId" property="practitionerId"/>
<result column="name" property="name"/>
<result column="titleCode" property="titleCode" />
<!-- <result column="mobile_no" property="titleCode" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>-->
<result column="titleName" property="titleName"/>
<result column="gender" property="gender"/>
</resultMap>
<select id="getPractitionerInfoByMobileNoForOffline" resultMap="base_result_map_practitioner_info">
SELECT
p.SAL_MST_ID as practitionerId,
p.SAL_MST_NAME as name,
p.SAL_MST_GENDER as gender,
md.DRP_TITLE_LEVEL as titleCode,
md.DRP_TITLE_NAME as titleName
FROM sal001 p left join DRP003 md on md.DRP_TITLE_CODE = p.FK_DRP_TITLE_CODE
where p.SAL_MST_MOBILE = #{mobileNo}
</select>
<select id="getPractitionerInfoByMobileNoForOnline" resultMap="base_result_map_practitioner_info">
select
p.customer_id as customerId,
p.id as practitionerIdForOnline,
p.name as name,
o.drop_option_code as titleCode,
o.drop_option_name as titleName,
p.gender as gender
from ag_acl_practitioner p left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.mobile_no = #{mobileNo};
</select>
<resultMap id="practitioner_rank_map" type="com.yd.dal.entity.practitioner.PractitionerRankInfo">
<result column="practitionerIdForOnLine" property="practitionerIdForOnLine"/>
<result column="practitionerId" property="practitionerId"/>
<result column="name" property="name"/>
<result column="titleCode" property="titleCode" />
<result column="titleName" property="titleName"/>
<result column="count" property="count"/>
<result column="fyp" property="fyp"/>
<result column="fyc" property="fyc"/>
</resultMap>
<select id="getPractitionerRankInfoForOffline" resultMap="practitioner_rank_map" resultType="java.lang.Integer">
SELECT
p.SAL_MST_ID as practitionerId ,
p.SAL_MST_NAME as name ,-- 姓名
md.DRP_TITLE_LEVEL as titleCode,-- 职称code
md.DRP_TITLE_NAME as titleName,-- 职称名称
spc.SPC_DIV_NAME as spcDivName,-- 体系id
count(m.MON025_002) as count,-- 保单id
sum(m.MON025_401) as fyp,-- 保费
sum(m.MON025_405) as fyc -- 应发佣金
FROM MON025 m INNER JOIN sal001 p on m.MON025_007 = p.SAL_MST_ID -- 业务员id
left join DRP003 md on p.FK_DRP_TITLE_CODE = md.DRP_TITLE_CODE
inner JOIN ins001 policy on m.MON025_002 = policy.INS_MST_ID -- 保单id
inner join spc004 spc on m.MON025_006 = spc.SPC_DIV_ID -- 体系
WHERE m.MON025_109 IN (1,2,3) AND m.MON025_303 = 1
<choose>
<when test="time == 1">
and DATE_FORMAT(policy.INS_MST_ACCEPT_DATE, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
</when>
<otherwise>
and YEAR(policy.INS_MST_ACCEPT_DATE) = YEAR(now())
</otherwise>
</choose>
group by p.SAL_MST_ID;
</select>
<select id="getPractitionerRankInfoForOnline" resultMap="practitioner_rank_map" resultType="java.lang.Integer">
SELECT
p.id as practitionerIdForOnLine ,
p.name as name ,-- 姓名
<!-- o.drop_option_code as titleCode,&#45;&#45; 职称code-->
<!-- o.drop_option_name as titleName,&#45;&#45; 职称名称-->
ss.name as spcDivName,-- 体系id
count(f.id) as count,-- 保单id
sum(f.order_price) as fyp,-- 保费
sum(f.referral_amount) as fyc -- 应发佣金
FROM ag_acl_customer_fortune f INNER JOIN ag_po_order o ON f.order_id = o.id
left JOIN ag_acl_practitioner p ON f.customer_id = p.customer_id
<!-- left join ag_acl_practitioner_setting s on p.id = s.practitioner_id-->
<!-- left join ag_md_drop_options o on s.practitioner_level = o.id-->
inner join ag_acl_practitioner_subordinate_system ss on p.subordinate_system_id = ss.id
WHERE o.status = 3 and o.order_price > 0
<choose>
<when test="time == 1">
and DATE_FORMAT(f.order_date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
</when>
<otherwise>
and YEAR(f.order_date) = YEAR(now())
</otherwise>
</choose>
group by p.id;
</select>
</mapper>
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