Commit 3eddba81 by yao.xiao

迁移代码-保存商机基本信息/跟进

parent 3551119c
......@@ -5,10 +5,7 @@ import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
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.*;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.practitioner.vo.recruit.*;
......@@ -186,4 +183,28 @@ public class PractitionerController {
result.setData(responseVO);
return result;
}
/***
* 修改商机基本信息
*/
@RequestMapping("/ownOpportunityBasicInformationSave")
public Object ownOpportunityBasicInformationSave(@RequestBody OwnOpportunityBasicInformationSaveRequestVO requestVO){
JsonResult result = new JsonResult();
OwnOpportunityBasicInformationSaveResponseVO responseVO = practitionerService.ownOpportunityBasicInformationSave(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/***
* 保存商机跟进,修改商机基本信息
*/
@RequestMapping("/ownOpportunityRecordSave")
public Object ownOpportunityRecordSave(@RequestBody OwnOpportunityRecordSaveRequestVO requestVO){
JsonResult result = new JsonResult();
OwnOpportunityRecordSaveResponseVO responseVO = practitionerService.ownOpportunityRecordSave(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
......@@ -4,10 +4,7 @@ import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
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.*;
import com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.practitioner.vo.recruit.*;
......@@ -98,4 +95,18 @@ public interface PractitionerService {
* @return responseVO
*/
RecruitListResponseVO recruitListQuery(RecruitListRequestVO requestVO);
/**
* 修改商机基本信息
* @param requestVO
* @return
*/
OwnOpportunityBasicInformationSaveResponseVO ownOpportunityBasicInformationSave(OwnOpportunityBasicInformationSaveRequestVO requestVO);
/**
* 保存商机跟进,修改商机基本信息
* @param requestVO
* @return
*/
OwnOpportunityRecordSaveResponseVO ownOpportunityRecordSave(OwnOpportunityRecordSaveRequestVO requestVO);
}
......@@ -25,7 +25,6 @@ import com.yd.dal.entity.meta.MdTag;
import com.yd.dal.entity.meta.ObjectCollectionTagged;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.order.PoOrder;
import com.yd.dal.entity.practitioner.*;
import com.yd.dal.entity.survey.SurveyCustomerAnswers;
import com.yd.dal.service.customer.*;
import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService;
......@@ -37,8 +36,6 @@ import com.yd.dal.service.meta.ObjectCollectionTaggedDALService;
import com.yd.dal.service.order.PoOrderDALService;
import com.yd.dal.service.survey.SurveyCustomerAnswersDALService;
import com.yd.dal.entity.customer.practitioner.*;
import com.yd.dal.service.customer.*;
import com.yd.dal.service.meta.MdCodeDALService;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.rmi.tencent.wechat.service.WechatService;
import com.yd.rmi.tencent.wechat.vo.WeChatInfoByENV;
......@@ -760,6 +757,104 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return null;
}
@Override
public OwnOpportunityBasicInformationSaveResponseVO ownOpportunityBasicInformationSave(OwnOpportunityBasicInformationSaveRequestVO requestVO) {
OwnOpportunityBasicInformationSaveResponseVO resp = new OwnOpportunityBasicInformationSaveResponseVO();
Long customerId = requestVO.getOpportunityId();
//保存基础信息
AclCustomer customer = aclCustomerDALService.findById(customerId);
customer.setName(requestVO.getName());
customer.setBirthDate(CommonUtil.stringParseDate(requestVO.getBirthDate(),"yyyy-MM-dd"));
customer.setGender(requestVO.getGender());
customer.setSourceChannel(requestVO.getSourceChannel());
customer.setAddress(requestVO.getAddress());
customer.setAge(requestVO.getAge());
customer.setWechatNo(requestVO.getWeChat());
customer.setOtherContacts(requestVO.getOtherContacts());
aclCustomerDALService.save(customer);
//保存标签
//此人的原有标签全部至0
ObjectCollectionTagged tagged = new ObjectCollectionTagged();
tagged.setTaggedObjectType(4);
tagged.setTaggedObjectId(customerId);
List<ObjectCollectionTagged> taggedList = objectCollectionTaggedDALService.findByObjectCollectionTagged(tagged);
for (ObjectCollectionTagged tag:taggedList) {
tag.setIsActive(0);
objectCollectionTaggedDALService.updateObjectCollectionTagged(tag);
}
//保存/激活新的标签
List<OpportunityCustomerTag> opportunityCustomerTags = requestVO.getOpportunityCustomerTags();
for (OpportunityCustomerTag tag:opportunityCustomerTags) {
tagged = new ObjectCollectionTagged();
tagged.setTaggedObjectType(4);
tagged.setTaggedObjectId(customerId);
tagged.setMdTagId(tag.getTagId().intValue());
List<ObjectCollectionTagged> taggeds = objectCollectionTaggedDALService.findByObjectCollectionTagged(tagged);
if (taggeds.isEmpty()){
//保存
tagged.setIsActive(1);
tagged.setRecommendOrder(1);
tagged.setDisplayOrder(1);
tagged.setCreatedBy(-1L);
tagged.setCreatedAt(new Date());
tagged.setUpdatedBy(-1L);
tagged.setUpdatedAt(new Date());
objectCollectionTaggedDALService.saveObjectCollectionTagged(tagged);
}else {
//更新
tagged = taggeds.get(0);
tagged.setIsActive(1);
tagged.setUpdatedBy(-1L);
tagged.setUpdatedAt(new Date());
objectCollectionTaggedDALService.updateObjectCollectionTagged(tagged);
}
}
resp.setOpportunityId(customerId);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return resp;
}
@Override
public OwnOpportunityRecordSaveResponseVO ownOpportunityRecordSave(OwnOpportunityRecordSaveRequestVO requestVO) {
OwnOpportunityRecordSaveResponseVO resp = new OwnOpportunityRecordSaveResponseVO();
CommonResult commonResult = check(requestVO);
if (!commonResult.isSuccess()){
resp.setCommonResult(commonResult);
return resp;
}
MktLeadsAssignedTrack track = new MktLeadsAssignedTrack();
CommonUtil.simpleObjectCopy(requestVO,track);
track.setCustomerId(requestVO.getOpportunityId());
track.setCreatedBy(-1L);
track.setCreatedAt(CommonUtil.stringParseDate(requestVO.getNoticeDate()+" 00:00:00", "yyyy-MM-dd HH:mm:ss"));
track.setUpdatedBy(-1L);
track.setUpdatedAt((new Date()));
if (CommonUtil.isNullOrZero(requestVO.getId())){
//保存
mktLeadsAssignedTrackDALService.saveTrack(track);
}else {
//更新
mktLeadsAssignedTrackDALService.updateTrack(track);
}
resp.setOpportunityId(requestVO.getOpportunityId());
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return resp;
}
private CommonResult check(OwnOpportunityRecordSaveRequestVO requestVO) {
String noticeDate = requestVO.getNoticeDate();
if (CommonUtil.isNullOrBlank(noticeDate)){
return new CommonResult(false, ZHBErrorConfig.getErrorInfo("830012"));
}
String salesNotice = requestVO.getSalesNotice();
if (CommonUtil.isNullOrBlank(salesNotice)){
return new CommonResult(false, ZHBErrorConfig.getErrorInfo("830013"));
}
return new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000"));
}
private CommonResult paramCheck(SettingSaveRequestVO requestVO) {
//检查入参判断
Long practitionerId = requestVO.getPractitionerId();
......
package com.yd.api.practitioner.vo.opportunity;
import lombok.Data;
import java.util.List;
@Data
public class OwnOpportunityBasicInformationSaveRequestVO {
private Long opportunityId;
private String name;
private String birthDate;
private String sourceChannel;
private Integer gender;
private String weChat;//微信号
private String otherContacts;//其他类型方式
private String address;
private Long age;
private List<OpportunityCustomerTag> opportunityCustomerTags;
}
package com.yd.api.practitioner.vo.opportunity;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class OwnOpportunityBasicInformationSaveResponseVO {
private Long opportunityId;
private CommonResult commonResult;
}
package com.yd.api.practitioner.vo.opportunity;
import lombok.Data;
@Data
public class OwnOpportunityRecordSaveRequestVO {
private Long id;//serial idPRIauto_increment
private String salesNotice;//询服务订单销售记录(营销填写)类似回访记录
private Integer isActive;//0=No, 1=Yes
private Long practitionerId;
private Long opportunityId;
private Long mdDropOptionId;
private String noticeDate;
private Long leadsAssignedId;
}
package com.yd.api.practitioner.vo.opportunity;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class OwnOpportunityRecordSaveResponseVO {
private Long opportunityId;
private CommonResult commonResult;
}
......@@ -22,4 +22,14 @@ public class MktLeadsAssignedTrackDALServiceImpl implements MktLeadsAssignedTrac
List<MktLeadsAssignedTrack> list = pageInfo.getList();
return list;
}
@Override
public void saveTrack(MktLeadsAssignedTrack track) {
mktLeadsAssignedTrackMapper.insertSelective(track);
}
@Override
public void updateTrack(MktLeadsAssignedTrack track) {
mktLeadsAssignedTrackMapper.updateByPrimaryKeySelective(track);
}
}
......@@ -6,4 +6,8 @@ import java.util.List;
public interface MktLeadsAssignedTrackDALService {
List<MktLeadsAssignedTrack> findByMktLeadsAssignedTrack(MktLeadsAssignedTrack mktLeadsAssignedTrack);
void saveTrack(MktLeadsAssignedTrack track);
void updateTrack(MktLeadsAssignedTrack track);
}
......@@ -6,4 +6,8 @@ import java.util.List;
public interface ObjectCollectionTaggedDALService {
List<ObjectCollectionTagged> findByObjectCollectionTagged(ObjectCollectionTagged objectCollectionTagged);
void saveObjectCollectionTagged(ObjectCollectionTagged tagged);
void updateObjectCollectionTagged(ObjectCollectionTagged tagged);
}
......@@ -17,4 +17,14 @@ public class ObjectCollectionTaggedDALServiceImpl implements ObjectCollectionTag
public List<ObjectCollectionTagged> findByObjectCollectionTagged(ObjectCollectionTagged objectCollectionTagged) {
return objectCollectionTaggedMapper.findByObjectCollectionTagged(objectCollectionTagged);
}
@Override
public void saveObjectCollectionTagged(ObjectCollectionTagged tagged) {
objectCollectionTaggedMapper.insertSelective(tagged);
}
@Override
public void updateObjectCollectionTagged(ObjectCollectionTagged tagged) {
objectCollectionTaggedMapper.updateByPrimaryKeySelective(tagged);
}
}
......@@ -23,5 +23,6 @@
830009=上传微信二维码失败,请重新上传!
830010=该用户已经注册为银盾经纪人
830011=该增员已存在!
830012=请填写跟进时间!
830013=请填写备注!
900003=保险公司响应报文为空!
\ 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