Commit 5791b5bd by jianan

Merge branch 'dev_20221018' into dev

parents fee41887 c8985adb
...@@ -18,6 +18,7 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -18,6 +18,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
...@@ -44,6 +45,9 @@ public class AgmsPractitionerServiceImpl implements AgmsPractitionerService { ...@@ -44,6 +45,9 @@ public class AgmsPractitionerServiceImpl implements AgmsPractitionerService {
AclPractitionerFileSharing fileSharing = new AclPractitionerFileSharing(); AclPractitionerFileSharing fileSharing = new AclPractitionerFileSharing();
BeanUtils.copyProperties(requestVO, fileSharing); BeanUtils.copyProperties(requestVO, fileSharing);
fileSharing.setUpdatedBy(requestVO.getLoginId()); fileSharing.setUpdatedBy(requestVO.getLoginId());
if(StringUtils.isEmpty(fileSharing.getItemType())){
fileSharing.setItemType("1");
}
Long id = aclPractitionerFileSharingDalService.saveOrUpdate(fileSharing); Long id = aclPractitionerFileSharingDalService.saveOrUpdate(fileSharing);
responseVO.setId(id); responseVO.setId(id);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000"))); responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
...@@ -66,8 +70,13 @@ public class AgmsPractitionerServiceImpl implements AgmsPractitionerService { ...@@ -66,8 +70,13 @@ public class AgmsPractitionerServiceImpl implements AgmsPractitionerService {
} }
} }
if(StringUtils.isEmpty(requestVO.getItemType())){
requestVO.setItemType("1");
}
PageInfo<PractitionerFileSharing> practitionerFileShares = agmsPractitionerDALService.practitionerFileSharingList(requestVO.getId(), PageInfo<PractitionerFileSharing> practitionerFileShares = agmsPractitionerDALService.practitionerFileSharingList(requestVO.getId(),
requestVO.getPractitionerId(), requestVO.getPractitionerId(),
requestVO.getItemType(),
requestVO.getShareCode(), requestVO.getShareCode(),
mdDropOptionIds, mdDropOptionIds,
requestVO.getIsActive(), requestVO.getIsActive(),
......
package com.yd.api.agms.vo.practitioner; package com.yd.api.agms.vo.practitioner;
import java.util.Date;
/** /**
* @author xxy * @author xxy
*/ */
...@@ -11,6 +9,8 @@ public class PractitionerFileSharing { ...@@ -11,6 +9,8 @@ public class PractitionerFileSharing {
*/ */
private Long id; private Long id;
private String itemType;
/** /**
* FK ag_md_drop_options_id文章分类 * FK ag_md_drop_options_id文章分类
*/ */
...@@ -88,6 +88,20 @@ public class PractitionerFileSharing { ...@@ -88,6 +88,20 @@ public class PractitionerFileSharing {
} }
/** /**
* @return the itemType
*/
public String getItemType() {
return itemType;
}
/**
* @param itemType the itemType to set
*/
public void setItemType(String itemType) {
this.itemType = itemType;
}
/**
* 获取 FK ag_md_drop_options_id文章分类 * 获取 FK ag_md_drop_options_id文章分类
* *
* @return the mdDropOptionId FK ag_md_drop_options_id文章分类 * @return the mdDropOptionId FK ag_md_drop_options_id文章分类
......
...@@ -9,6 +9,8 @@ public class PractitionerFileSharingListRequestVO { ...@@ -9,6 +9,8 @@ public class PractitionerFileSharingListRequestVO {
private Long id; private Long id;
private String itemType;
private String shareCode; private String shareCode;
private String mdDropOptionId; private String mdDropOptionId;
...@@ -20,6 +22,20 @@ public class PractitionerFileSharingListRequestVO { ...@@ -20,6 +22,20 @@ public class PractitionerFileSharingListRequestVO {
private PageInfo<PractitionerFileSharing> practitionerFileShares; private PageInfo<PractitionerFileSharing> practitionerFileShares;
/** /**
* @return the itemType
*/
public String getItemType() {
return itemType;
}
/**
* @param itemType the itemType to set
*/
public void setItemType(String itemType) {
this.itemType = itemType;
}
/**
* 获取 * 获取
* *
* @return the mdDropOptionId * @return the mdDropOptionId
......
package com.yd.api.agms.vo.practitioner; package com.yd.api.agms.vo.practitioner;
import java.util.Date;
/** /**
* @author xxy * @author xxy
*/ */
...@@ -11,6 +9,8 @@ public class PractitionerFileSharingSaveRequestVO { ...@@ -11,6 +9,8 @@ public class PractitionerFileSharingSaveRequestVO {
*/ */
private Long id; private Long id;
private String itemType;
/** /**
* FK ag_md_drop_options_id文章分类 * FK ag_md_drop_options_id文章分类
*/ */
...@@ -68,6 +68,20 @@ public class PractitionerFileSharingSaveRequestVO { ...@@ -68,6 +68,20 @@ public class PractitionerFileSharingSaveRequestVO {
} }
/** /**
* @return the itemType
*/
public String getItemType() {
return itemType;
}
/**
* @param itemType the itemType to set
*/
public void setItemType(String itemType) {
this.itemType = itemType;
}
/**
* 获取 FK ag_md_drop_options_id文章分类 * 获取 FK ag_md_drop_options_id文章分类
* *
* @return the mdDropOptionId FK ag_md_drop_options_id文章分类 * @return the mdDropOptionId FK ag_md_drop_options_id文章分类
......
package com.yd.api.practitioner; package com.yd.api.practitioner;
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.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.yd.api.practitioner.service.PractitionerArticleService; import com.yd.api.practitioner.service.PractitionerArticleService;
import com.yd.api.practitioner.vo.ArticleTrackSaveResponseVO; import com.yd.api.practitioner.vo.ArticleTrackSaveResponseVO;
import com.yd.api.practitioner.vo.article.ArticleShareCodeSaveRequestVO; import com.yd.api.practitioner.vo.article.ArticleShareCodeSaveRequestVO;
...@@ -7,11 +14,6 @@ import com.yd.api.practitioner.vo.article.ArticleShareCodeSaveResponseVO; ...@@ -7,11 +14,6 @@ import com.yd.api.practitioner.vo.article.ArticleShareCodeSaveResponseVO;
import com.yd.api.practitioner.vo.article.ArticleTrackQueryResponseVO; import com.yd.api.practitioner.vo.article.ArticleTrackQueryResponseVO;
import com.yd.api.practitioner.vo.article.ArticleTrackSaveRequestVO; import com.yd.api.practitioner.vo.article.ArticleTrackSaveRequestVO;
import com.yd.api.result.JsonResult; import com.yd.api.result.JsonResult;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController @RestController
@RequestMapping("/practitionerArticle") @RequestMapping("/practitionerArticle")
...@@ -25,8 +27,8 @@ public class PractitionerArticleController { ...@@ -25,8 +27,8 @@ public class PractitionerArticleController {
@RequestMapping("/articleShareCodeSave") @RequestMapping("/articleShareCodeSave")
public Object articleShareCodeSave(@RequestBody ArticleShareCodeSaveRequestVO requestVO){ public Object articleShareCodeSave(@RequestBody ArticleShareCodeSaveRequestVO requestVO){
JsonResult result = new JsonResult(); JsonResult result = new JsonResult();
System.out.println("分享文章保存"); // System.out.println("分享文章保存");
System.out.println(requestVO.toString()); // System.out.println(requestVO.toString());
ArticleShareCodeSaveResponseVO responseVO = practitionerArticleService.articleShareCodeSave(requestVO); ArticleShareCodeSaveResponseVO responseVO = practitionerArticleService.articleShareCodeSave(requestVO);
result.addResult(responseVO); result.addResult(responseVO);
result.setData(responseVO); result.setData(responseVO);
...@@ -38,8 +40,8 @@ public class PractitionerArticleController { ...@@ -38,8 +40,8 @@ public class PractitionerArticleController {
*/ */
@RequestMapping("/articleTrackSave") @RequestMapping("/articleTrackSave")
public Object articleTrackSave(@RequestBody ArticleTrackSaveRequestVO requestVO){ public Object articleTrackSave(@RequestBody ArticleTrackSaveRequestVO requestVO){
System.out.println("客户文章跟踪信息保存"); // System.out.println("客户文章跟踪信息保存");
System.out.println(requestVO.toString()); // System.out.println(requestVO.toString());
JsonResult result = new JsonResult(); JsonResult result = new JsonResult();
ArticleTrackSaveResponseVO responseVO = practitionerArticleService.articleTrackSave(requestVO); ArticleTrackSaveResponseVO responseVO = practitionerArticleService.articleTrackSave(requestVO);
result.addResult(responseVO); result.addResult(responseVO);
...@@ -53,7 +55,7 @@ public class PractitionerArticleController { ...@@ -53,7 +55,7 @@ public class PractitionerArticleController {
@RequestMapping(value = "/articleTrackQuery",method = RequestMethod.GET) @RequestMapping(value = "/articleTrackQuery",method = RequestMethod.GET)
public Object articleTrackQuery(@RequestParam("practitionerId") Long practitionerId, public Object articleTrackQuery(@RequestParam("practitionerId") Long practitionerId,
@RequestParam("sharingId") Long sharingId ){ @RequestParam("sharingId") Long sharingId ){
System.out.println("客户文章跟踪信息查询"); // System.out.println("客户文章跟踪信息查询");
JsonResult result = new JsonResult(); JsonResult result = new JsonResult();
ArticleTrackQueryResponseVO responseVO = practitionerArticleService.articleTrackQuery(practitionerId,sharingId); ArticleTrackQueryResponseVO responseVO = practitionerArticleService.articleTrackQuery(practitionerId,sharingId);
result.addResult(responseVO); result.addResult(responseVO);
......
package com.yd.api.practitioner; package com.yd.api.practitioner;
import com.yd.api.practitioner.vo.QueryCanSeeResponseVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -13,6 +12,7 @@ import com.yd.api.practitioner.service.PractitionerBasicInfoService; ...@@ -13,6 +12,7 @@ import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.service.PractitionerService; import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.service.ScheduleTrackService; import com.yd.api.practitioner.service.ScheduleTrackService;
import com.yd.api.practitioner.vo.PractitionerIdRequestVO; import com.yd.api.practitioner.vo.PractitionerIdRequestVO;
import com.yd.api.practitioner.vo.QueryCanSeeResponseVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerApplyEmailRequestVO; import com.yd.api.practitioner.vo.businessCard.PractitionerApplyEmailRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO; import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO; import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO;
...@@ -118,10 +118,8 @@ import com.yd.api.result.CommonResultIDResponseVO; ...@@ -118,10 +118,8 @@ import com.yd.api.result.CommonResultIDResponseVO;
import com.yd.api.result.CommonResultResponseVO; import com.yd.api.result.CommonResultResponseVO;
import com.yd.api.result.IDRequestVO; import com.yd.api.result.IDRequestVO;
import com.yd.api.result.JsonResult; import com.yd.api.result.JsonResult;
import com.yd.rmi.n22.policy.service.N22PolicyService;
import com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsRequestBody; import com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsRequestBody;
import com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsResponseBody; import com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsResponseBody;
import com.yd.rmi.n22.staff.service.N22StaffService;
@Controller @Controller
...@@ -135,10 +133,10 @@ public class PractitionerController { ...@@ -135,10 +133,10 @@ public class PractitionerController {
private PractitionerBasicInfoService practitionerBasicInfoService; private PractitionerBasicInfoService practitionerBasicInfoService;
@Autowired @Autowired
private ScheduleTrackService scheduleTrackService; private ScheduleTrackService scheduleTrackService;
@Autowired // @Autowired
private N22PolicyService n22PolicyService; // private N22PolicyService n22PolicyService;
@Autowired // @Autowired
private N22StaffService n22StaffService; // private N22StaffService n22StaffService;
/** /**
* 经纪人登录 * 经纪人登录
* @param requestVO 请求数据 * @param requestVO 请求数据
...@@ -261,7 +259,19 @@ public class PractitionerController { ...@@ -261,7 +259,19 @@ public class PractitionerController {
result.setData(responseVO); result.setData(responseVO);
return result; return result;
} }
/**
* 微信链接邀请--新增增员
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/wxUrlRecruit")
public Object wxUrlRecruit(@RequestBody RecruitRequestVO requestVO){
JsonResult result = new JsonResult();
RecruitResponseVO responseVO = practitionerService.wxUrlRecruit(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/*** /***
* 经纪人-经纪人查询自己的商机详情查询 * 经纪人-经纪人查询自己的商机详情查询
* @param requestVO 请求数据 * @param requestVO 请求数据
......
...@@ -95,6 +95,12 @@ public interface PractitionerService { ...@@ -95,6 +95,12 @@ public interface PractitionerService {
*/ */
RecruitResponseVO recruit(RecruitRequestVO requestVO); RecruitResponseVO recruit(RecruitRequestVO requestVO);
/** /**
* 微信链接邀请--新增增员
* @param requestVO 请求信息
* @return responseVO
*/
RecruitResponseVO wxUrlRecruit(RecruitRequestVO requestVO);
/**
* 团队长--新增增员记录 * 团队长--新增增员记录
* @param requestVO 请求信息 * @param requestVO 请求信息
* @return responseVO * @return responseVO
......
package com.yd.api.practitioner.service.impl; package com.yd.api.practitioner.service.impl;
import static java.util.stream.Collectors.toList;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import javax.imageio.ImageIO;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPageTree;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.itextpdf.text.*; import com.itextpdf.text.BaseColor;
import com.itextpdf.text.pdf.*; import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.draw.LineSeparator; import com.itextpdf.text.pdf.draw.LineSeparator;
import com.libs.pdf.PDFTemplate; import com.libs.pdf.PDFTemplate;
import com.yd.api.customer.service.CustomerService; import com.yd.api.customer.service.CustomerService;
...@@ -20,24 +83,97 @@ import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO ...@@ -20,24 +83,97 @@ import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO; import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO;
import com.yd.api.practitioner.vo.commitment.QueryCommitmentByPractitionerIdResponseVO; import com.yd.api.practitioner.vo.commitment.QueryCommitmentByPractitionerIdResponseVO;
import com.yd.api.practitioner.vo.commitment.SignCommitmentRequestVO; import com.yd.api.practitioner.vo.commitment.SignCommitmentRequestVO;
import com.yd.api.practitioner.vo.informed.*; import com.yd.api.practitioner.vo.informed.QueryInformedSheetByIdResponseVO;
import com.yd.api.practitioner.vo.informed.QueryInformedSheetListRequestVO;
import com.yd.api.practitioner.vo.informed.QueryInformedSheetListResponseVO;
import com.yd.api.practitioner.vo.informed.SaveInformedSheetRequestVO;
import com.yd.api.practitioner.vo.informed.SignInformedSheetRequestVO;
import com.yd.api.practitioner.vo.informed.UpdateInformedSheetByIdRequestVO;
import com.yd.api.practitioner.vo.login.CanSeeSalaryListResponseVO; import com.yd.api.practitioner.vo.login.CanSeeSalaryListResponseVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginBasicInfo; import com.yd.api.practitioner.vo.login.PractitionerLoginBasicInfo;
import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO; import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO; import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO; import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO; import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.opportunity.*; import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportRequestVO;
import com.yd.api.practitioner.vo.practitionerCustomer.*; import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportResponseVO;
import com.yd.api.practitioner.vo.opportunity.OpportunityBasicInformationInfo;
import com.yd.api.practitioner.vo.opportunity.OpportunityConsultationInfo;
import com.yd.api.practitioner.vo.opportunity.OpportunityCustomerTag;
import com.yd.api.practitioner.vo.opportunity.OpportunityDeleteRequestVO;
import com.yd.api.practitioner.vo.opportunity.OpportunityRecordInfo;
import com.yd.api.practitioner.vo.opportunity.OpportunityRecordSituationInfo;
import com.yd.api.practitioner.vo.opportunity.OpportunityScore;
import com.yd.api.practitioner.vo.opportunity.OpportunityStatisticsRequestVO;
import com.yd.api.practitioner.vo.opportunity.OpportunityStatisticsResponseVO;
import com.yd.api.practitioner.vo.opportunity.OpportunitySurveyAnswers;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityBasicInformationSaveRequestVO;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityBasicInformationSaveResponseVO;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityDetailQueryRequestVO;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityDetailQueryResponseVO;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityQueryRequestVO;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityQueryResponseVO;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityRecordSaveRequestVO;
import com.yd.api.practitioner.vo.opportunity.OwnOpportunityRecordSaveResponseVO;
import com.yd.api.practitioner.vo.opportunity.PlayerSalesActivityQueryRequestVO;
import com.yd.api.practitioner.vo.opportunity.PlayerSalesActivityQueryResponseVO;
import com.yd.api.practitioner.vo.opportunity.SalesPerformanceForecastInfo;
import com.yd.api.practitioner.vo.opportunity.SalesPerformanceForecastListQueryRequestVO;
import com.yd.api.practitioner.vo.opportunity.SalesPerformanceForecastListQueryResponseVO;
import com.yd.api.practitioner.vo.opportunity.SalesScoreDetail;
import com.yd.api.practitioner.vo.opportunity.SalesScoreDetailQueryRequestVO;
import com.yd.api.practitioner.vo.opportunity.SalesScoreDetailQueryResponseVO;
import com.yd.api.practitioner.vo.practitionerCustomer.CustomerHolder;
import com.yd.api.practitioner.vo.practitionerCustomer.QueryCustomerHolderListResponesVO;
import com.yd.api.practitioner.vo.practitionerCustomer.QueryCustomerInsuredListRequestVO;
import com.yd.api.practitioner.vo.practitionerCustomer.QueryCustomerInsuredListResponesVO;
import com.yd.api.practitioner.vo.practitionerCustomer.QueryPolicyListByHolderCustomerIdRequestVO;
import com.yd.api.practitioner.vo.practitionerCustomer.QueryPolicyListByHolderCustomerIdResponesVO;
import com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics; import com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics;
import com.yd.api.practitioner.vo.rank.PractitionerInfoForAchievement; import com.yd.api.practitioner.vo.rank.PractitionerInfoForAchievement;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO; import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO; import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.practitioner.vo.recruit.*; import com.yd.api.practitioner.vo.recruit.AddRecruitTrackRequestVO;
import com.yd.api.practitioner.vo.salestarget.*; import com.yd.api.practitioner.vo.recruit.AddRecruitTrackResponseVO;
import com.yd.api.practitioner.vo.recruit.PotentialActivityQueryRequestVO;
import com.yd.api.practitioner.vo.recruit.PotentialActivityQueryResponseVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsInfo;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsQueryRequestVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsQueryResponseVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsUpdateRequestVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsUpdateResponseVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsQueryRequestVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsQueryResponseVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsSettingRequestVO;
import com.yd.api.practitioner.vo.recruit.PotentialGoalsSettingResponseVO;
import com.yd.api.practitioner.vo.recruit.PractitionerPotentialInfo;
import com.yd.api.practitioner.vo.recruit.RecruitGoalForMonth;
import com.yd.api.practitioner.vo.recruit.RecruitListRequestVO;
import com.yd.api.practitioner.vo.recruit.RecruitListResponseVO;
import com.yd.api.practitioner.vo.recruit.RecruitRequestVO;
import com.yd.api.practitioner.vo.recruit.RecruitResponseVO;
import com.yd.api.practitioner.vo.recruit.RecruitTrackInfo;
import com.yd.api.practitioner.vo.recruit.RecruitTrackQueryRequestVO;
import com.yd.api.practitioner.vo.recruit.RecruitTrackQueryResponseVO;
import com.yd.api.practitioner.vo.salestarget.SalesTargetActions;
import com.yd.api.practitioner.vo.salestarget.SalesTargetMonth;
import com.yd.api.practitioner.vo.salestarget.SalesTargetMonthSaveRequestVO;
import com.yd.api.practitioner.vo.salestarget.SalesTargetMonthSaveResponseVO;
import com.yd.api.practitioner.vo.salestarget.SalesTargetQueryRequestVO;
import com.yd.api.practitioner.vo.salestarget.SalesTargetQueryResponseVO;
import com.yd.api.practitioner.vo.salestarget.SalesTargetSaveRequestVO;
import com.yd.api.practitioner.vo.salestarget.SalesTargetSaveResponseVO;
import com.yd.api.practitioner.vo.salestarget.TeamActionsAverageQueryRequestVO;
import com.yd.api.practitioner.vo.salestarget.TeamActionsAverageQueryResponseVO;
import com.yd.api.practitioner.vo.sechedule.AddScheduleTrackRequestVO; import com.yd.api.practitioner.vo.sechedule.AddScheduleTrackRequestVO;
import com.yd.api.practitioner.vo.sechedule.AddScheduleTrackResponseVO; import com.yd.api.practitioner.vo.sechedule.AddScheduleTrackResponseVO;
import com.yd.api.practitioner.vo.setting.*; import com.yd.api.practitioner.vo.setting.ImgDeleteRequestVO;
import com.yd.api.practitioner.vo.setting.ImgDeleteResponseVO;
import com.yd.api.practitioner.vo.setting.LifeImg;
import com.yd.api.practitioner.vo.setting.SettingQueryRequestVO;
import com.yd.api.practitioner.vo.setting.SettingQueryResponseVO;
import com.yd.api.practitioner.vo.setting.SettingSaveRequestVO;
import com.yd.api.practitioner.vo.setting.SettingSaveResponseVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberInfo; import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberInfo;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO; import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO; import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
...@@ -48,26 +184,83 @@ import com.yd.api.result.CommonResult; ...@@ -48,26 +184,83 @@ import com.yd.api.result.CommonResult;
import com.yd.api.result.CommonResultIDResponseVO; import com.yd.api.result.CommonResultIDResponseVO;
import com.yd.api.result.CommonResultResponseVO; import com.yd.api.result.CommonResultResponseVO;
import com.yd.api.result.IDRequestVO; import com.yd.api.result.IDRequestVO;
import com.yd.dal.entity.customer.*; import com.yd.dal.entity.customer.AclCustomer;
import com.yd.dal.entity.customer.practitioner.*; import com.yd.dal.entity.customer.AclCustomerLog;
import com.yd.dal.entity.marketing.*; import com.yd.dal.entity.customer.AclCustomerMembership;
import com.yd.dal.entity.meta.*; import com.yd.dal.entity.customer.AclCustomerShare;
import com.yd.dal.entity.customer.AclFileUpload;
import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.AclPractitionerPotential;
import com.yd.dal.entity.customer.AclPractitionerPotentialAssignedTrack;
import com.yd.dal.entity.customer.AclPractitionerPotentialAssigneds;
import com.yd.dal.entity.customer.AclPractitionerPotentialGoals;
import com.yd.dal.entity.customer.AclPractitionerPotentialGoalsActions;
import com.yd.dal.entity.customer.AclPractitionerSetting;
import com.yd.dal.entity.customer.AclPractitionerSubordinateSystem;
import com.yd.dal.entity.customer.AgPoInformed;
import com.yd.dal.entity.customer.CustomerFileUpload;
import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerSubordinateInfo;
import com.yd.dal.entity.customer.practitioner.SubordinateSystemMemberInfoE;
import com.yd.dal.entity.marketing.AgSfpAppointmentRecord;
import com.yd.dal.entity.marketing.MktLeadsAssignedTrack;
import com.yd.dal.entity.marketing.MktLeadsAssigneds;
import com.yd.dal.entity.marketing.MktLeadsExpertAssign;
import com.yd.dal.entity.marketing.MktLeadsExpertRequest;
import com.yd.dal.entity.marketing.MktLeadsGoals;
import com.yd.dal.entity.marketing.MktLeadsGoalsActions;
import com.yd.dal.entity.marketing.MktLeadsPool;
import com.yd.dal.entity.meta.MdDropMaster;
import com.yd.dal.entity.meta.MdDropOptions;
import com.yd.dal.entity.meta.MdGoalsCalculateExpression;
import com.yd.dal.entity.meta.MdMkCampaign;
import com.yd.dal.entity.meta.MdTag;
import com.yd.dal.entity.meta.ObjectCollectionTagged;
import com.yd.dal.entity.order.CustomerPolicyInfo; import com.yd.dal.entity.order.CustomerPolicyInfo;
import com.yd.dal.entity.order.PoOrder; import com.yd.dal.entity.order.PoOrder;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo; import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo; import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.survey.SurveyCustomerAnswers; import com.yd.dal.entity.survey.SurveyCustomerAnswers;
import com.yd.dal.entity.systemMessage.AclSystemMessage;
import com.yd.dal.entity.user.AclUser; import com.yd.dal.entity.user.AclUser;
import com.yd.dal.mapper.customer.AclPolicyholderMapper; import com.yd.dal.mapper.customer.AclPolicyholderMapper;
import com.yd.dal.mapper.customer.AgPoInformedMapper; import com.yd.dal.mapper.customer.AgPoInformedMapper;
import com.yd.dal.mapper.marketing.MktLeadsAssignedsMapper; import com.yd.dal.mapper.marketing.MktLeadsAssignedsMapper;
import com.yd.dal.service.agms.AgmsDashboardDALService; import com.yd.dal.service.agms.AgmsDashboardDALService;
import com.yd.dal.service.customer.*; import com.yd.dal.service.customer.AclCustomerDALService;
import com.yd.dal.service.marketing.*; import com.yd.dal.service.customer.AclCustomerFortuneDALService;
import com.yd.dal.service.meta.*; import com.yd.dal.service.customer.AclCustomerLogDALService;
import com.yd.dal.service.customer.AclCustomerMembershipDALService;
import com.yd.dal.service.customer.AclCustomerShareDALService;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.dal.service.customer.AclPractitionerPotentialAssignedTrackDALService;
import com.yd.dal.service.customer.AclPractitionerPotentialAssignedsDALService;
import com.yd.dal.service.customer.AclPractitionerPotentialDALService;
import com.yd.dal.service.customer.AclPractitionerPotentialGoalsActionsDALService;
import com.yd.dal.service.customer.AclPractitionerPotentialGoalsDALService;
import com.yd.dal.service.customer.AclPractitionerSettingDALService;
import com.yd.dal.service.customer.AclPractitionerSubordinateSystemDALService;
import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService;
import com.yd.dal.service.marketing.MktLeadsAssignedsDALService;
import com.yd.dal.service.marketing.MktLeadsExpertAssignDALService;
import com.yd.dal.service.marketing.MktLeadsExpertRequestDALService;
import com.yd.dal.service.marketing.MktLeadsGoalsActionsDALService;
import com.yd.dal.service.marketing.MktLeadsGoalsDALService;
import com.yd.dal.service.marketing.MktLeadsPoolDALService;
import com.yd.dal.service.meta.MdCodeDALService;
import com.yd.dal.service.meta.MdDropMasterDALService;
import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.dal.service.meta.MdGoalsCalculateExpressionDALService;
import com.yd.dal.service.meta.MdGoalsCalculateExpressionService;
import com.yd.dal.service.meta.MdMkCampaignDALService;
import com.yd.dal.service.meta.MdTagDALService;
import com.yd.dal.service.meta.ObjectCollectionTaggedDALService;
import com.yd.dal.service.order.PoOrderDALService; import com.yd.dal.service.order.PoOrderDALService;
import com.yd.dal.service.survey.SurveyCustomerAnswersDALService; import com.yd.dal.service.survey.SurveyCustomerAnswersDALService;
import com.yd.dal.service.tencent.TenInterfRecordDALService; import com.yd.dal.service.systemMessage.AclSystemMessageService;
import com.yd.dal.service.user.AclUserDALService; import com.yd.dal.service.user.AclUserDALService;
import com.yd.rmi.ali.mail.service.MailService; import com.yd.rmi.ali.mail.service.MailService;
import com.yd.rmi.ali.oss.service.OssService; import com.yd.rmi.ali.oss.service.OssService;
...@@ -87,7 +280,9 @@ import com.yd.rmi.tencent.wechat.vo.WeChatInfoByENV; ...@@ -87,7 +280,9 @@ import com.yd.rmi.tencent.wechat.vo.WeChatInfoByENV;
import com.yd.rmi.tencent.wechatinterf.pojo.accesstoken.AccessTokenRequest; import com.yd.rmi.tencent.wechatinterf.pojo.accesstoken.AccessTokenRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.DataDetailInfo; import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.DataDetailInfo;
import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.MiniProgramSfpInfo; import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.MiniProgramSfpInfo;
import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateSfpRequest; import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateSfpRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.TemplateDataInfo;
import com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest; import com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest; import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest;
import com.yd.rmi.tencent.wechatinterf.service.WechatInterfService; import com.yd.rmi.tencent.wechatinterf.service.WechatInterfService;
...@@ -98,35 +293,8 @@ import com.yd.util.PDFConfiguration; ...@@ -98,35 +293,8 @@ import com.yd.util.PDFConfiguration;
import com.yd.util.SpringContextUtil; import com.yd.util.SpringContextUtil;
import com.yd.util.config.ZHBErrorConfig; import com.yd.util.config.ZHBErrorConfig;
import com.yd.util.deshandler.DESTypeHandler; import com.yd.util.deshandler.DESTypeHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPageTree;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.imageio.ImageIO;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toList; import lombok.extern.slf4j.Slf4j;
@Service("practitionerService") @Service("practitionerService")
@Slf4j @Slf4j
...@@ -224,6 +392,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -224,6 +392,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private WechatInterfService wechatInterfService; private WechatInterfService wechatInterfService;
@Autowired @Autowired
private SendService sendService; private SendService sendService;
@Autowired
private AclSystemMessageService aclSystemMessageService;
@Override @Override
public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) { public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) {
PractitionerLoginResponseVO responseVO = new PractitionerLoginResponseVO(); PractitionerLoginResponseVO responseVO = new PractitionerLoginResponseVO();
...@@ -239,12 +409,12 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -239,12 +409,12 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
if (practitionerInfo != null) { if (practitionerInfo != null) {
Long practitionerType = practitionerInfo.getPractitionerType(); Long practitionerType = practitionerInfo.getPractitionerType();
//处理特殊人员 //处理特殊人员
boolean isSpecial = false; // boolean isSpecial = false;
String mobileSpecialStr = mdCodeDALService.findCodeByType("special_practitioner_mobile"); // String mobileSpecialStr = mdCodeDALService.findCodeByType("special_practitioner_mobile");
if (!Strings.isNullOrEmpty(mobileSpecialStr)) { // if (!Strings.isNullOrEmpty(mobileSpecialStr)) {
List<String> mobileSpecials = Arrays.asList(mobileSpecialStr.split(",")); // List<String> mobileSpecials = Arrays.asList(mobileSpecialStr.split(","));
isSpecial = mobileSpecials.contains(mobileNo); // isSpecial = mobileSpecials.contains(mobileNo);
} // }
// if(28L == practitionerType || isSpecial){//只有寿险的经纪人和注册为经纪人的员工才能登录 // if(28L == practitionerType || isSpecial){//只有寿险的经纪人和注册为经纪人的员工才能登录
Long practitionerId = practitionerInfo.getPractitionerId(); Long practitionerId = practitionerInfo.getPractitionerId();
...@@ -1215,9 +1385,23 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -1215,9 +1385,23 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
Long practitionerId = requestVO.getPractitionerId(); Long practitionerId = requestVO.getPractitionerId();
if (!Strings.isNullOrEmpty(name) && !Strings.isNullOrEmpty(mobileNo) && practitionerId != null) { if (!Strings.isNullOrEmpty(name) && !Strings.isNullOrEmpty(mobileNo) && practitionerId != null) {
if (mobileNo.length() != 11 || mobileNo.startsWith("1")) { if (mobileNo.length() != 11 || mobileNo.startsWith("1")) {
recruit(requestVO, responseVO, "recruit");
} else {
String[] paras = {mobileNo};
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("630001", paras)));
}
} else {
String[] paras = {"name,mobileNo,practitionerId"};
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("610002", paras)));
}
return responseVO;
}
private void recruit(RecruitRequestVO requestVO, RecruitResponseVO responseVO, String type) {
Long practitionerId = requestVO.getPractitionerId();
RegisterRequestVO register = new RegisterRequestVO(); RegisterRequestVO register = new RegisterRequestVO();
register.setMobileNo(mobileNo); register.setMobileNo(requestVO.getMobileNo());
register.setName(name); register.setName(requestVO.getName());
//将增员对象进行注册 //将增员对象进行注册
RegisterResponseVO registerResp = customerService.register(register); RegisterResponseVO registerResp = customerService.register(register);
Long customerId = registerResp.getCustomerId(); Long customerId = registerResp.getCustomerId();
...@@ -1227,8 +1411,26 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -1227,8 +1411,26 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
//判断该增员是否已存在 //判断该增员是否已存在
Long potentialId = requestVO.getPotentialId(); Long potentialId = requestVO.getPotentialId();
String timeToOnboarding = requestVO.getTimeToOnboarding(); String timeToOnboarding = requestVO.getTimeToOnboarding();
List<AclPractitionerPotential> practitionerPotentialList = aclPractitionerPotentialDALService.findByMobileNo(mobileNo, 1); List<AclPractitionerPotential> practitionerPotentialList = aclPractitionerPotentialDALService.findByMobileNo(requestVO.getMobileNo(), 1);
if (potentialId != null || practitionerPotentialList.isEmpty()) {
boolean boole = false;
if(practitionerPotentialList.isEmpty()){
boole = true;
}else{
if("wxUrlRecruit".equals(type)){
if(practitionerPotentialList != null && practitionerPotentialList.size() > 0){
boole = true;
for (AclPractitionerPotential aclPractitionerPotential : practitionerPotentialList) {
if(aclPractitionerPotential.getPractitionerAssignedIds() != null && aclPractitionerPotential.getPractitionerAssignedIds().equals(practitionerId.toString())){
boole = false;
break;
}
}
}
}
}
if (potentialId != null || boole) {
String remark = requestVO.getRemark(); String remark = requestVO.getRemark();
AclPractitionerPotential practitionerPotential = new AclPractitionerPotential(); AclPractitionerPotential practitionerPotential = new AclPractitionerPotential();
BeanUtils.copyProperties(requestVO, practitionerPotential); BeanUtils.copyProperties(requestVO, practitionerPotential);
...@@ -1265,6 +1467,91 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -1265,6 +1467,91 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
} else { } else {
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830010"))); responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830010")));
} }
}
/**
* 微信链接邀请--新增增员
* @param requestVO 请求数据
* @return 响应数据
*/
@Override
public RecruitResponseVO wxUrlRecruit(RecruitRequestVO requestVO) {
RecruitResponseVO responseVO = new RecruitResponseVO();
String name = requestVO.getName();
String mobileNo = requestVO.getMobileNo();
Long practitionerId = requestVO.getPractitionerId();
if (!Strings.isNullOrEmpty(name) && !Strings.isNullOrEmpty(mobileNo) && practitionerId != null) {
if (mobileNo.length() != 11 || mobileNo.startsWith("1")) {
List<PractitionerInfo> practitionerList = aclPractitionerDALService.findPractitionerInfoById(practitionerId);
if(practitionerList != null && practitionerList.size() > 0){
String resourceDropMasterId = mdCodeDALService.findCodeByType("wxUrlRecruitSource");
requestVO.setResourceDropMasterId(Long.valueOf(resourceDropMasterId));
recruit(requestVO, responseVO, "wxUrlRecruit");
if(responseVO.getCommonResult().isSuccess()){
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(new Runnable() {
@Override
public void run(){
PractitionerInfo practitionerInfo = practitionerList.get(0);
//1. 给经纪人方送站内消息
String SYSTEM_URL = systemConfigService.getSingleConfigValue("SYSTEM_URL") + "/ydLife/recruiting";
String context = "尊敬的"+practitionerInfo.getName()+",您有一条新的微信邀请增员信息,已自动分配到您的增员任务中,请及时跟进。"
+ "您可点此链接<a href='"+SYSTEM_URL+"'>"+SYSTEM_URL+"</a> 或至<赢家平台>-<全部工具>-<我的增员>-<团队增员>跟进处理";
AclSystemMessage aclSystemMessage = new AclSystemMessage();
aclSystemMessage.setPractitionerId(practitionerId);
aclSystemMessage.setSystemType(0);
aclSystemMessage.setType(0);
aclSystemMessage.setTitle("微信链接邀请增员");
aclSystemMessage.setContext(context);
aclSystemMessage.setIsRead(0);
aclSystemMessage.setIsActive(1);
aclSystemMessage.setCreatedAt(new Date());
aclSystemMessage.setCreatedBy(-1L);
aclSystemMessage.setUpdatedAt(new Date());
aclSystemMessage.setUpdatedBy(-1L);
aclSystemMessageService.save(aclSystemMessage);
//2. 给经纪人方送公众号模板消息
if(!Strings.isNullOrEmpty(practitionerInfo.getYdWechatOpenid())){
String templateId = systemConfigService.getSingleConfigValue("Recruit_TENCENT_WECHAT_TEMPLATE_ID_ZJ");
String color = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_COLOR_XB");
TemplateDataInfo dataInfo = new TemplateDataInfo();
DataDetailInfo first = new DataDetailInfo("微信链接邀请增员成功", null);
DataDetailInfo keyword1 = new DataDetailInfo(name +"-"+mobileNo, color);
DataDetailInfo keyword2 = new DataDetailInfo(practitionerInfo.getName()+"分享的微信链接邀请", color);
DataDetailInfo keyword3 = new DataDetailInfo(CommonUtil.dateParseString(new Date(),"yyyy-MM-dd HH:mm:ss"), null);
DataDetailInfo remark = new DataDetailInfo("请及时联系客户,如有需要,请发送电子报聘链接给客户申请报聘", null);
dataInfo.setFirst(first);
dataInfo.setKeyword1(keyword1);
dataInfo.setKeyword2(keyword2);
dataInfo.setKeyword3(keyword3);
dataInfo.setRemark(remark);
SendTemplateRequest sendTemplateRequest = new SendTemplateRequest();
sendTemplateRequest.setTemplateId(templateId);
sendTemplateRequest.setData(dataInfo);
sendTemplateRequest.setUrl(SYSTEM_URL);
sendTemplateRequest.setToUser(practitionerInfo.getYdWechatOpenid());
wechatService.sendTemplateMessage(sendTemplateRequest);
}
//3. 给经纪人方送短信
//4. 发送邮件给运营
String toAddress = systemConfigService.getSingleConfigValue("OPERATE_EMAIL");//运营邮箱
String ccEmail = systemConfigService.getSingleConfigValue("OPERATE_CC_EMAIL");//运营抄送邮箱
String[] ccAddress = ccEmail.split(",");
String subject = systemConfigService.getSingleConfigValue("OPERATE_SUBJECT_TEXT");//通知标题
subject = subject.replace("customerName", name).replace("mobileNo", mobileNo).replace("potentialName", practitionerInfo.getName());
String messageText = systemConfigService.getSingleConfigValue("OPERATE_MESSAGE_TEXT");//通知内容
messageText = messageText.replace("customerName", name).replace("mobileNo", mobileNo).replace("potentialName", practitionerInfo.getName());
sendService.sendEmailOrSMS("email", toAddress, "3", messageText.toString(), null, subject, ccAddress, "微信链接邀请增员", 99, null, null);
}
});
}
}else{
responseVO.setCommonResult(new CommonResult(false, "经纪人无效"));
}
} else { } else {
String[] paras = {mobileNo}; String[] paras = {mobileNo};
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("630001", paras))); responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("630001", paras)));
...@@ -1273,6 +1560,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -1273,6 +1560,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
String[] paras = {"name,mobileNo,practitionerId"}; String[] paras = {"name,mobileNo,practitionerId"};
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("610002", paras))); responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("610002", paras)));
} }
return responseVO; return responseVO;
} }
......
...@@ -13,6 +13,8 @@ public class AclPractitionerFileSharing { ...@@ -13,6 +13,8 @@ public class AclPractitionerFileSharing {
*/ */
private Long id; private Long id;
private String itemType;
/** /**
* FK ag_md_drop_options_id文章分类 * FK ag_md_drop_options_id文章分类
*/ */
......
package com.yd.dal.entity.systemMessage;
import java.util.Date;
public class AclSystemMessage {
private static final long serialVersionUID = 1L;
private Long id;//serial idPRIauto_increment
private Long practitionerId;//practitioner_id
private Long customerId;//经纪人customerId
private Long userId;//cffp userid
private Integer systemType;//系统类型 0=银盾,1=cffp
private Integer type;//0=系统通知 1=银盾学院课程推送消息
private String title;
private String context;//消息内容
private Integer isRead;//0=未读 1=已读
private Integer isActive;//1=active 2=inactive
private String remark;//备注
private Date createdAt;//创建时间
private Long createdBy;//FK ag_acl_user.id
private Date updatedAt;//修改时间
private Long updatedBy;//FK ag_acl_user.id
/**
* @return the id
*/
public Long getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(Long id) {
this.id = id;
}
/**
* @return the practitionerId
*/
public Long getPractitionerId() {
return practitionerId;
}
/**
* @param practitionerId the practitionerId to set
*/
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
/**
* @return the customerId
*/
public Long getCustomerId() {
return customerId;
}
/**
* @param customerId the customerId to set
*/
public void setCustomerId(Long customerId) {
this.customerId = customerId;
}
/**
* @return the userId
*/
public Long getUserId() {
return userId;
}
/**
* @param userId the userId to set
*/
public void setUserId(Long userId) {
this.userId = userId;
}
/**
* @return the systemType
*/
public Integer getSystemType() {
return systemType;
}
/**
* @param systemType the systemType to set
*/
public void setSystemType(Integer systemType) {
this.systemType = systemType;
}
/**
* @return the type
*/
public Integer getType() {
return type;
}
/**
* @param type the type to set
*/
public void setType(Integer type) {
this.type = type;
}
/**
* @return the title
*/
public String getTitle() {
return title;
}
/**
* @param title the title to set
*/
public void setTitle(String title) {
this.title = title;
}
/**
* @return the context
*/
public String getContext() {
return context;
}
/**
* @param context the context to set
*/
public void setContext(String context) {
this.context = context;
}
/**
* @return the isRead
*/
public Integer getIsRead() {
return isRead;
}
/**
* @param isRead the isRead to set
*/
public void setIsRead(Integer isRead) {
this.isRead = isRead;
}
/**
* @return the isActive
*/
public Integer getIsActive() {
return isActive;
}
/**
* @param isActive the isActive to set
*/
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
/**
* @return the remark
*/
public String getRemark() {
return remark;
}
/**
* @param remark the remark to set
*/
public void setRemark(String remark) {
this.remark = remark;
}
/**
* @return the createdAt
*/
public Date getCreatedAt() {
return createdAt;
}
/**
* @param createdAt the createdAt to set
*/
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
/**
* @return the createdBy
*/
public Long getCreatedBy() {
return createdBy;
}
/**
* @param createdBy the createdBy to set
*/
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
/**
* @return the updatedAt
*/
public Date getUpdatedAt() {
return updatedAt;
}
/**
* @param updatedAt the updatedAt to set
*/
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
/**
* @return the updatedBy
*/
public Long getUpdatedBy() {
return updatedBy;
}
/**
* @param updatedBy the updatedBy to set
*/
public void setUpdatedBy(Long updatedBy) {
this.updatedBy = updatedBy;
}
}
...@@ -19,6 +19,7 @@ public interface AgmsPractitionerMapper { ...@@ -19,6 +19,7 @@ public interface AgmsPractitionerMapper {
*/ */
Page<PractitionerFileSharing> practitionerFileSharingList(@Param("id")Long id, Page<PractitionerFileSharing> practitionerFileSharingList(@Param("id")Long id,
@Param("practitionerId") Long practitionerId, @Param("practitionerId") Long practitionerId,
@Param("itemType") String itemType,
@Param("shareCode") String shareCode, @Param("shareCode") String shareCode,
@Param("mdDropOptionIds") Long[] mdDropOptionIds , @Param("mdDropOptionIds") Long[] mdDropOptionIds ,
@Param("isActive") Integer isActive); @Param("isActive") Integer isActive);
......
...@@ -160,4 +160,6 @@ public interface AclPractitionerMapper { ...@@ -160,4 +160,6 @@ public interface AclPractitionerMapper {
List<Certificate> findCertificate(List<Long> certIdList); List<Certificate> findCertificate(List<Long> certIdList);
List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList); List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList);
List<PractitionerInfo> findPractitionerInfoById(@Param("practitionerId")Long practitionerId);
} }
package com.yd.dal.mapper.systemMessage;
import com.yd.dal.entity.systemMessage.AclSystemMessage;
public interface AclSystemMessageMapper {
int deleteByPrimaryKey(Long id);
int insert(AclSystemMessage aclSystemMessage);
AclSystemMessage selectByPrimaryKey(Long id);
int updateByPrimaryKey(AclSystemMessage aclSystemMessage);
}
\ No newline at end of file
...@@ -18,7 +18,7 @@ public interface AgmsPractitionerDALService { ...@@ -18,7 +18,7 @@ public interface AgmsPractitionerDALService {
* @param size 每页的数量 * @param size 每页的数量
* @return 查询结果 * @return 查询结果
*/ */
PageInfo<PractitionerFileSharing> practitionerFileSharingList(Long id ,Long practitionerId,String shareCode,Long[] mdDropOptionId, Integer isActive, int pageNum, int size); PageInfo<PractitionerFileSharing> practitionerFileSharingList(Long id ,Long practitionerId, String itemType, String shareCode,Long[] mdDropOptionId, Integer isActive, int pageNum, int size);
SharePractitionerInfo findSharePractitioner(String shareCode); SharePractitionerInfo findSharePractitioner(String shareCode);
......
...@@ -22,9 +22,9 @@ public class AgmsPractitionerDALServiceImpl implements AgmsPractitionerDALServic ...@@ -22,9 +22,9 @@ public class AgmsPractitionerDALServiceImpl implements AgmsPractitionerDALServic
@Autowired @Autowired
private AgmsPractitionerMapper mapper; private AgmsPractitionerMapper mapper;
@Override @Override
public PageInfo<PractitionerFileSharing> practitionerFileSharingList(Long id ,Long practitionerId ,String shareCode,Long[] mdDropOptionIds, Integer isActive, int pageNum, int size) { public PageInfo<PractitionerFileSharing> practitionerFileSharingList(Long id ,Long practitionerId, String itemType,String shareCode,Long[] mdDropOptionIds, Integer isActive, int pageNum, int size) {
PageHelper.startPage(pageNum, size); PageHelper.startPage(pageNum, size);
Page<PractitionerFileSharing> practitionerFileShares = mapper.practitionerFileSharingList(id,practitionerId,shareCode,mdDropOptionIds,isActive); Page<PractitionerFileSharing> practitionerFileShares = mapper.practitionerFileSharingList(id,practitionerId,itemType,shareCode,mdDropOptionIds,isActive);
return new PageInfo<>(practitionerFileShares); return new PageInfo<>(practitionerFileShares);
} }
......
...@@ -222,6 +222,8 @@ public interface AclPractitionerDALService { ...@@ -222,6 +222,8 @@ public interface AclPractitionerDALService {
List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList); List<PractitionerInfo> findPractitionerInfoByIdList(List<Long> idList);
List<PractitionerInfo> findPractitionerInfoById(Long practitionerId);
List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId); List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId);
/** /**
......
...@@ -273,6 +273,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService ...@@ -273,6 +273,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
} }
@Override @Override
public List<PractitionerInfo> findPractitionerInfoById(Long practitionerId) {
return aclPractitionerMapper.findPractitionerInfoById(practitionerId);
}
@Override
public List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId) { public List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId) {
return aclPractitionerMapper.queryEGHistorySalaryPDFByPractitionerId(practitionerId); return aclPractitionerMapper.queryEGHistorySalaryPDFByPractitionerId(practitionerId);
} }
......
package com.yd.dal.service.systemMessage;
import com.yd.dal.entity.systemMessage.AclSystemMessage;
public interface AclSystemMessageService {
AclSystemMessage findById(Long id);
void save(AclSystemMessage aclSystemMessage);
void update(AclSystemMessage aclSystemMessage);
}
package com.yd.dal.service.systemMessage.Impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yd.dal.entity.systemMessage.AclSystemMessage;
import com.yd.dal.mapper.systemMessage.AclSystemMessageMapper;
import com.yd.dal.service.systemMessage.AclSystemMessageService;
@Service("aclSystemMessageService")
public class AclSystemMessageServiceImpl implements AclSystemMessageService {
@Resource
private AclSystemMessageMapper aclSystemMessageMapper;
@Override
public AclSystemMessage findById(Long id) {
return aclSystemMessageMapper.selectByPrimaryKey(id);
}
public void save(AclSystemMessage aclSystemMessage) {
if(aclSystemMessage.getId() == null){
aclSystemMessageMapper.insert(aclSystemMessage);
}else{
aclSystemMessageMapper.updateByPrimaryKey(aclSystemMessage);
}
}
@Override
public void update(AclSystemMessage aclSystemMessage) {
aclSystemMessageMapper.updateByPrimaryKey(aclSystemMessage);
}
}
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
s.digest digest, s.digest digest,
s.author author, s.author author,
s.cover_url coverUrl, s.cover_url coverUrl,
count(ost.id) totalNum count(ost.id) totalNum,
s.item_type itemType
<if test="practitionerId != null"> <if test="practitionerId != null">
,(SELECT count(aost.id) ,(SELECT count(aost.id)
FROM ag_acl_customer_object_share_track aost FROM ag_acl_customer_object_share_track aost
...@@ -33,15 +34,17 @@ ...@@ -33,15 +34,17 @@
LEFT JOIN ag_md_drop_options o on o.id = s.md_drop_option_id LEFT JOIN ag_md_drop_options o on o.id = s.md_drop_option_id
LEFT JOIN ag_acl_user uc on uc.id = s.created_by LEFT JOIN ag_acl_user uc on uc.id = s.created_by
LEFT JOIN ag_acl_user uu on uu.id = s.created_by LEFT JOIN ag_acl_user uu on uu.id = s.created_by
LEFT JOIN ag_acl_customer_object_share os LEFT JOIN ag_acl_customer_object_share os ON os.item_id = s.id and os.item_type = 1
LEFT JOIN ag_acl_customer_object_share_track ost ON ost.share_id = os.id LEFT JOIN ag_acl_customer_object_share_track ost ON ost.share_id = os.id
ON os.item_id = s.id
<where> <where>
<if test="mdDropOptionIds != null"> <if test="mdDropOptionIds != null">
<foreach collection="mdDropOptionIds" item="mdDropOptionId" index="index" open="(" close=")" separator="or"> <foreach collection="mdDropOptionIds" item="mdDropOptionId" index="index" open="(" close=")" separator="or">
find_in_set (#{mdDropOptionId,jdbcType=BIGINT},s.md_drop_option_id) find_in_set (#{mdDropOptionId,jdbcType=BIGINT},s.md_drop_option_id)
</foreach> </foreach>
</if> </if>
<if test="itemType != null">
AND s.item_type = #{itemType,jdbcType=VARCHAR}
</if>
<if test="id != null"> <if test="id != null">
AND s.id = #{id,jdbcType=BIGINT} AND s.id = #{id,jdbcType=BIGINT}
</if> </if>
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table ag_acl_practitioner_file_sharing--> <!--@Table ag_acl_practitioner_file_sharing-->
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="item_type" jdbcType="VARCHAR" property="itemType" />
<result column="md_drop_option_id" jdbcType="VARCHAR" property="mdDropOptionId" /> <result column="md_drop_option_id" jdbcType="VARCHAR" property="mdDropOptionId" />
<result column="file_content" jdbcType="LONGVARCHAR" property="fileContent" /> <result column="file_content" jdbcType="LONGVARCHAR" property="fileContent" />
<result column="is_active" jdbcType="INTEGER" property="isActive" /> <result column="is_active" jdbcType="INTEGER" property="isActive" />
...@@ -19,7 +20,7 @@ ...@@ -19,7 +20,7 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, md_drop_option_id, file_content, is_active, created_at, created_by, updated_at, id, item_type,md_drop_option_id, file_content, is_active, created_at, created_by, updated_at,
updated_by, title, digest, author, cover_url updated_by, title, digest, author, cover_url
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
...@@ -36,12 +37,12 @@ ...@@ -36,12 +37,12 @@
</delete> </delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerFileSharing" useGeneratedKeys="true"> <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerFileSharing" useGeneratedKeys="true">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into ag_acl_practitioner_file_sharing (md_drop_option_id, file_content, insert into ag_acl_practitioner_file_sharing (item_type,md_drop_option_id, file_content,
is_active, created_at, created_by, is_active, created_at, created_by,
updated_at, updated_by, title, updated_at, updated_by, title,
digest, author, cover_url digest, author, cover_url
) )
values (#{mdDropOptionId,jdbcType=VARCHAR}, #{fileContent,jdbcType=LONGVARCHAR}, values (#{itemType,jdbcType=VARCHAR},#{mdDropOptionId,jdbcType=VARCHAR}, #{fileContent,jdbcType=LONGVARCHAR},
#{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}, #{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT},
#{updatedAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR}, #{updatedAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR},
#{digest,jdbcType=VARCHAR}, #{author,jdbcType=VARCHAR}, #{coverUrl,jdbcType=VARCHAR} #{digest,jdbcType=VARCHAR}, #{author,jdbcType=VARCHAR}, #{coverUrl,jdbcType=VARCHAR}
...@@ -51,6 +52,9 @@ ...@@ -51,6 +52,9 @@
<!--@mbg.generated--> <!--@mbg.generated-->
insert into ag_acl_practitioner_file_sharing insert into ag_acl_practitioner_file_sharing
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="itemType != null">
item_type,
</if>
<if test="mdDropOptionId != null"> <if test="mdDropOptionId != null">
md_drop_option_id, md_drop_option_id,
</if> </if>
...@@ -86,6 +90,9 @@ ...@@ -86,6 +90,9 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="itemType != null">
#{itemType,jdbcType=VARCHAR},
</if>
<if test="mdDropOptionId != null"> <if test="mdDropOptionId != null">
#{mdDropOptionId,jdbcType=VARCHAR}, #{mdDropOptionId,jdbcType=VARCHAR},
</if> </if>
...@@ -125,6 +132,9 @@ ...@@ -125,6 +132,9 @@
<!--@mbg.generated--> <!--@mbg.generated-->
update ag_acl_practitioner_file_sharing update ag_acl_practitioner_file_sharing
<set> <set>
<if test="itemType != null">
item_type = #{itemType,jdbcType=VARCHAR},
</if>
<if test="mdDropOptionId != null"> <if test="mdDropOptionId != null">
md_drop_option_id = #{mdDropOptionId,jdbcType=VARCHAR}, md_drop_option_id = #{mdDropOptionId,jdbcType=VARCHAR},
</if> </if>
...@@ -164,7 +174,8 @@ ...@@ -164,7 +174,8 @@
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerFileSharing"> <update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerFileSharing">
<!--@mbg.generated--> <!--@mbg.generated-->
update ag_acl_practitioner_file_sharing update ag_acl_practitioner_file_sharing
set md_drop_option_id = #{mdDropOptionId,jdbcType=VARCHAR}, set item_type = #{itemType,jdbcType=VARCHAR},
md_drop_option_id = #{mdDropOptionId,jdbcType=VARCHAR},
file_content = #{fileContent,jdbcType=LONGVARCHAR}, file_content = #{fileContent,jdbcType=LONGVARCHAR},
is_active = #{isActive,jdbcType=INTEGER}, is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP}, created_at = #{createdAt,jdbcType=TIMESTAMP},
...@@ -332,11 +343,11 @@ ...@@ -332,11 +343,11 @@
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true"> <insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into ag_acl_practitioner_file_sharing insert into ag_acl_practitioner_file_sharing
(md_drop_option_id, file_content, is_active, created_at, created_by, updated_at, (item_type,md_drop_option_id, file_content, is_active, created_at, created_by, updated_at,
updated_by, title, digest, author, cover_url) updated_by, title, digest, author, cover_url)
values values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.mdDropOptionId,jdbcType=VARCHAR}, #{item.fileContent,jdbcType=LONGVARCHAR}, (#{itemType,jdbcType=VARCHAR},#{item.mdDropOptionId,jdbcType=VARCHAR}, #{item.fileContent,jdbcType=LONGVARCHAR},
#{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT}, #{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT},
#{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT}, #{item.title,jdbcType=VARCHAR}, #{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT}, #{item.title,jdbcType=VARCHAR},
#{item.digest,jdbcType=VARCHAR}, #{item.author,jdbcType=VARCHAR}, #{item.coverUrl,jdbcType=VARCHAR} #{item.digest,jdbcType=VARCHAR}, #{item.author,jdbcType=VARCHAR}, #{item.coverUrl,jdbcType=VARCHAR}
......
...@@ -2161,4 +2161,23 @@ ...@@ -2161,4 +2161,23 @@
and t.is_active = 1 and t.is_active = 1
</select> </select>
<select id="findPractitionerInfoById" resultMap="practitioner_info_map">
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.mentor_id mentorId,
c.yd_wechat_openid
from ag_acl_practitioner p
left join ag_acl_customer c on c.id = p.customer_id
where p.id = #{practitionerId}
and p.is_active = 1
</select>
</mapper> </mapper>
<?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.systemMessage.AclSystemMessageMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.systemMessage.AclSystemMessage">
<!--@mbg.generated-->
<!--@Table ag_acl_system_message-->
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="practitioner_id" jdbcType="BIGINT" property="practitionerId"/>
<result column="customer_id" jdbcType="BIGINT" property="customerId"/>
<result column="user_id" jdbcType="BIGINT" property="userId"/>
<result column="system_type" jdbcType="INTEGER" property="systemType"/>
<result column="type" jdbcType="INTEGER" property="type"/>
<result column="title" jdbcType="VARCHAR" property="title"/>
<result column="context" jdbcType="VARCHAR" property="context"/>
<result column="is_read" jdbcType="INTEGER" property="isRead"/>
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="remark" jdbcType="VARCHAR" property="remark"/>
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt"/>
<result column="created_by" jdbcType="BIGINT" property="createdBy"/>
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt"/>
<result column="updated_by" jdbcType="BIGINT" property="updatedBy"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, practitioner_id, customer_id, user_id, system_type, type, title, context,
is_read, is_active, remark,
created_at, created_by, updated_at, updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List"/>
from ag_acl_system_message
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_acl_system_message
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.systemMessage.AclSystemMessage"
useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_system_message (practitioner_id, customer_id, user_id, system_type, type, title, context,
is_read, is_active, remark,
created_at, created_by, updated_at, updated_by)
values (#{practitionerId,jdbcType=BIGINT}, #{customerId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT},
#{systemType,jdbcType=INTEGER},#{type,jdbcType=INTEGER},
#{title,jdbcType=VARCHAR}, #{context,jdbcType=VARCHAR},
#{isRead,jdbcType=INTEGER},#{isActive,jdbcType=INTEGER},
#{remark,jdbcType=VARCHAR},
#{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP},
#{updatedBy,jdbcType=BIGINT})
</insert>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.systemMessage.AclSystemMessage">
<!--@mbg.generated-->
update ag_acl_system_message
set practitioner_id = #{practitionerId,jdbcType=BIGINT},
customer_id = #{customerId,jdbcType=BIGINT},
user_id = #{userId,jdbcType=BIGINT},
system_type = #{systemType,jdbcType=INTEGER},
type = #{type,jdbcType=INTEGER},
title = #{title,jdbcType=VARCHAR},
context= #{context,jdbcType=VARCHAR},
is_read = #{isRead,jdbcType=INTEGER},
is_active = #{isActive,jdbcType=INTEGER},
remark = #{remark,jdbcType=VARCHAR},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</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