Commit 6b00ddb1 by Java-金吉宝

录音

parent 6d4ba8f9
package com.ejweb.modules.call.api; package com.ejweb.modules.call.api;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
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.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.ejweb.core.api.RequestBean; import com.ejweb.core.api.RequestBean;
import com.ejweb.core.api.ResponseBean; import com.ejweb.core.api.ResponseBean;
import com.ejweb.core.base.PageEntity; import com.ejweb.core.base.PageEntity;
import com.ejweb.core.conf.ErrorCode; import com.ejweb.core.conf.ErrorCode;
import com.ejweb.core.conf.GConstants; import com.ejweb.core.conf.GConstants;
import com.ejweb.core.util.IdWorker; import com.ejweb.core.util.IdWorker;
import com.ejweb.core.util.Util; import com.ejweb.core.util.Util;
import com.ejweb.modules.call.bean.CallFindPhoneInfoBean; import com.ejweb.modules.call.bean.CallFindPhoneInfoBean;
import com.ejweb.modules.call.bean.CallLogListBean; import com.ejweb.modules.call.bean.CallLogListBean;
import com.ejweb.modules.call.bean.CallPhoneAreaBean; import com.ejweb.modules.call.bean.CallPhoneAreaBean;
import com.ejweb.modules.call.bean.CallPhoneBean; import com.ejweb.modules.call.bean.CallPhoneBean;
import com.ejweb.modules.call.bean.CallRecordBean; import com.ejweb.modules.call.bean.CallRecordBean;
import com.ejweb.modules.call.bean.CallRecordListBean; import com.ejweb.modules.call.bean.CallRecordListBean;
import com.ejweb.modules.call.entity.CallListEntity; import com.ejweb.modules.call.entity.CallListEntity;
import com.ejweb.modules.call.entity.CallPhoneAreaEntity; import com.ejweb.modules.call.entity.CallPhoneAreaEntity;
import com.ejweb.modules.call.entity.CallPhoneInfoListEntity; import com.ejweb.modules.call.entity.CallPhoneInfoListEntity;
import com.ejweb.modules.call.entity.CallRecordEntity; import com.ejweb.modules.call.entity.CallRecordEntity;
import com.ejweb.modules.call.entity.CallRecordListEntity; import com.ejweb.modules.call.entity.CallRecordListEntity;
import com.ejweb.modules.call.entity.CallSoundRecordBean; import com.ejweb.modules.call.entity.CallSoundRecordBean;
import com.ejweb.modules.call.entity.MemberEntity; import com.ejweb.modules.call.entity.MemberEntity;
import com.ejweb.modules.call.service.CallService; import com.ejweb.modules.call.service.CallService;
import com.ejweb.modules.user.entity.User; import com.ejweb.modules.user.entity.User;
import com.ejweb.modules.user.entity.UserEntity; import com.ejweb.modules.user.entity.UserEntity;
import com.ejweb.modules.user.entity.UserSeatEntity; import com.ejweb.modules.user.entity.UserSeatEntity;
import com.ejweb.modules.user.service.UserService; import com.ejweb.modules.user.service.UserService;
/** /**
* 电话会议记录及查询 * 电话会议记录及查询
* *
* @team IT Team * @team IT Team
* @author renmb * @author renmb
* @version 1.0 * @version 1.0
* @time 2016年10月6日 * @time 2016年10月6日
*/ */
@Controller @Controller
@RequestMapping(value = "/api/call") @RequestMapping(value = "/api/call")
public class CallController { public class CallController {
@Autowired @Autowired
private CallService callService; private CallService callService;
@Autowired @Autowired
private UserService userService; private UserService userService;
/** /**
* 批量查询电话号码列表 * 批量查询电话号码列表
* *
* @author renmb * @author renmb
* @time 2017年1月22日 * @time 2017年1月22日
* @param requestBean * @param requestBean
* @return * @return
*/ */
@ResponseBody @ResponseBody
@RequestMapping(value = "/phoneAreaList") @RequestMapping(value = "/phoneAreaList")
public ResponseBean phoneAreaList(RequestBean requestBean) { public ResponseBean phoneAreaList(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean(); ResponseBean responseBean = new ResponseBean();
CallPhoneAreaBean bean = requestBean.getObjectBean(CallPhoneAreaBean.class); CallPhoneAreaBean bean = requestBean.getObjectBean(CallPhoneAreaBean.class);
String message = this.callService.validate(bean); String message = this.callService.validate(bean);
List<CallPhoneAreaEntity> searchPhoneList = bean.getCallPhoneList(); List<CallPhoneAreaEntity> searchPhoneList = bean.getCallPhoneList();
if(message == null && searchPhoneList !=null && searchPhoneList.size()>0){ if(message == null && searchPhoneList !=null && searchPhoneList.size()>0){
List<CallPhoneAreaEntity> callPhoneList = new ArrayList<CallPhoneAreaEntity>(); List<CallPhoneAreaEntity> callPhoneList = new ArrayList<CallPhoneAreaEntity>();
for (CallPhoneAreaEntity phone:searchPhoneList) { for (CallPhoneAreaEntity phone:searchPhoneList) {
CallPhoneAreaEntity callPhone = callService.addPhoneArea(phone.getMobile()); CallPhoneAreaEntity callPhone = callService.addPhoneArea(phone.getMobile());
if(callPhone == null){// 未查询到相关数据 if(callPhone == null){// 未查询到相关数据
callPhone = new CallPhoneAreaEntity(); callPhone = new CallPhoneAreaEntity();
} }
callPhone.setMobile(phone.getMobile()); callPhone.setMobile(phone.getMobile());
callPhone.setShowPhone(phone.getMobile()); callPhone.setShowPhone(phone.getMobile());
if("PHONE".equals(callPhone.getType())){ if("PHONE".equals(callPhone.getType())){
callPhone.setMobileNubmer(callPhone.getPhone()); callPhone.setMobileNubmer(callPhone.getPhone());
callPhone.setShowPhone(callPhone.getShowPhone()); callPhone.setShowPhone(callPhone.getShowPhone());
} else if("MOBILE".equals(callPhone.getType())){ } else if("MOBILE".equals(callPhone.getType())){
callPhone.setShowPhone(callPhone.getMobile()); callPhone.setShowPhone(callPhone.getMobile());
callPhone.setPhone(callPhone.getMobileNubmer()); callPhone.setPhone(callPhone.getMobileNubmer());
} }
callPhoneList.add(callPhone); callPhoneList.add(callPhone);
} }
responseBean.setData(callPhoneList); responseBean.setData(callPhoneList);
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
} }
responseBean.setMessage(message); responseBean.setMessage(message);
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
return responseBean; return responseBean;
} }
/** /**
* 格式化手机号码 * 格式化手机号码
* 42.4 查询手机归属地信息接口 * 42.4 查询手机归属地信息接口
* *
* @author renmb * @author renmb
* @time 2016年12月6日 * @time 2016年12月6日
* @param requestBean * @param requestBean
* @return * @return
*/ */
@ResponseBody @ResponseBody
@RequestMapping(value = "/phoneArea") @RequestMapping(value = "/phoneArea")
public ResponseBean phoneArea(RequestBean requestBean) { public ResponseBean phoneArea(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean(); ResponseBean responseBean = new ResponseBean();
CallPhoneAreaBean bean = requestBean.getObjectBean(CallPhoneAreaBean.class); CallPhoneAreaBean bean = requestBean.getObjectBean(CallPhoneAreaBean.class);
String message = this.callService.validate(bean); String message = this.callService.validate(bean);
CallPhoneAreaEntity callPhone = new CallPhoneAreaEntity(); CallPhoneAreaEntity callPhone = new CallPhoneAreaEntity();
if(message == null){ if(message == null){
callPhone.setPhone(bean.getPhone()); callPhone.setPhone(bean.getPhone());
callPhone.setMobile(bean.getMobile()); callPhone.setMobile(bean.getMobile());
if(StringUtils.isNotBlank(bean.getMobile())){// 格式化手机号 if(StringUtils.isNotBlank(bean.getMobile())){// 格式化手机号
String mobile = bean.getMobile(); String mobile = bean.getMobile();
String[] species = mobile.split("\\s+");// 只使用第一个手机号 String[] species = mobile.split("\\s+");// 只使用第一个手机号
if(species.length>1 && species[0].matches("1\\d+") && species[1].matches("1\\d+")){ if(species.length>1 && species[0].matches("1\\d+") && species[1].matches("1\\d+")){
mobile = species[0]; mobile = species[0];
} }
callPhone = callService.addPhoneArea(mobile); callPhone = callService.addPhoneArea(mobile);
if(callPhone == null){// 未查询到相关数据 if(callPhone == null){// 未查询到相关数据
callPhone = new CallPhoneAreaEntity(); callPhone = new CallPhoneAreaEntity();
} }
callPhone.setMobile(bean.getMobile()); callPhone.setMobile(bean.getMobile());
/* /*
if(mobile.startsWith("+")){// 国外手机号,前面加拨3个0 if(mobile.startsWith("+")){// 国外手机号,前面加拨3个0
callPhone.setType("MOBILE"); callPhone.setType("MOBILE");
callPhone.setPremobile("000"); callPhone.setPremobile("000");
callPhone.setMobileNubmer("000"+mobile.replace("+", "")); callPhone.setMobileNubmer("000"+mobile.replace("+", ""));
} else if(mobile.matches("\\d+") && 11 == mobile.length()){ } else if(mobile.matches("\\d+") && 11 == mobile.length()){
PhoneAreaEntity area = PhoneAreaUtil.get360PhoneArea(mobile); PhoneAreaEntity area = PhoneAreaUtil.get360PhoneArea(mobile);
if(area != null && StringUtils.isNotBlank(area.getProvince())){// 能够查到省份信息 if(area != null && StringUtils.isNotBlank(area.getProvince())){// 能够查到省份信息
if(area.getProvince().contains("北京") if(area.getProvince().contains("北京")
|| (StringUtils.isNotBlank(area.getCity()) && area.getCity().contains("北京"))){// 北京前面加拨一个0 || (StringUtils.isNotBlank(area.getCity()) && area.getCity().contains("北京"))){// 北京前面加拨一个0
callPhone.setType("MOBILE"); callPhone.setType("MOBILE");
callPhone.setMobileNubmer("0"+mobile);// 加拨1个0 callPhone.setMobileNubmer("0"+mobile);// 加拨1个0
callPhone.setPremobile("0"); callPhone.setPremobile("0");
callPhone.setMobileProvince("北京"); callPhone.setMobileProvince("北京");
callPhone.setMobileCity("北京"); callPhone.setMobileCity("北京");
callPhone.setMobileSp(StringUtils.isBlank(area.getSp()) ? "" : area.getSp()); callPhone.setMobileSp(StringUtils.isBlank(area.getSp()) ? "" : area.getSp());
} else {// 非北京号码加拨两个0 } else {// 非北京号码加拨两个0
callPhone.setType("MOBILE"); callPhone.setType("MOBILE");
callPhone.setMobileNubmer("00"+mobile);// 加拨2个0 callPhone.setMobileNubmer("00"+mobile);// 加拨2个0
callPhone.setPremobile("00"); callPhone.setPremobile("00");
callPhone.setMobileProvince(area.getProvince()); callPhone.setMobileProvince(area.getProvince());
callPhone.setMobileCity(StringUtils.isBlank(area.getCity()) ? "" : area.getCity()); callPhone.setMobileCity(StringUtils.isBlank(area.getCity()) ? "" : area.getCity());
callPhone.setMobileSp(StringUtils.isBlank(area.getSp()) ? "" : area.getSp()); callPhone.setMobileSp(StringUtils.isBlank(area.getSp()) ? "" : area.getSp());
} }
} }
} else{// 非手机号,按座机号处理 } else{// 非手机号,按座机号处理
// String workPhone = bean.getPhone(); // String workPhone = bean.getPhone();
callPhone.setShowPhone(bean.getPhone()); callPhone.setShowPhone(bean.getPhone());
// workPhone = Util.formatedWorkPhone(workPhone); // workPhone = Util.formatedWorkPhone(workPhone);
callPhone.setPhone(Util.formatedWorkPhone(bean.getPhone())); callPhone.setPhone(Util.formatedWorkPhone(bean.getPhone()));
callPhone.setType("PHONE"); callPhone.setType("PHONE");
} }
*/ */
} }
if(StringUtils.isNotBlank(bean.getPhone())){ if(StringUtils.isNotBlank(bean.getPhone())){
// String workPhone = bean.getPhone(); // String workPhone = bean.getPhone();
callPhone.setShowPhone(bean.getPhone()); callPhone.setShowPhone(bean.getPhone());
// workPhone = Util.formatedWorkPhone(bean.getPhone()); // workPhone = Util.formatedWorkPhone(bean.getPhone());
callPhone.setPhone(Util.formatedWorkPhone(bean.getPhone())); callPhone.setPhone(Util.formatedWorkPhone(bean.getPhone()));
callPhone.setType("PHONE"); callPhone.setType("PHONE");
} }
if("PHONE".equals(callPhone.getType())){ if("PHONE".equals(callPhone.getType())){
callPhone.setMobileNubmer(callPhone.getPhone()); callPhone.setMobileNubmer(callPhone.getPhone());
callPhone.setShowPhone(callPhone.getShowPhone()); callPhone.setShowPhone(callPhone.getShowPhone());
} else if("MOBILE".equals(callPhone.getType())){ } else if("MOBILE".equals(callPhone.getType())){
callPhone.setShowPhone(callPhone.getMobile()); callPhone.setShowPhone(callPhone.getMobile());
callPhone.setPhone(callPhone.getMobileNubmer()); callPhone.setPhone(callPhone.getMobileNubmer());
} }
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setData(callPhone); responseBean.setData(callPhone);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
} }
responseBean.setMessage(message); responseBean.setMessage(message);
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
return responseBean; return responseBean;
} }
/** /**
* 42.1 开始会话提交接口,在发起人拨打电话时调用 * 42.1 开始会话提交接口,在发起人拨打电话时调用
* *
* @author renmb * @author renmb
* @time 2016年10月6日 * @time 2016年10月6日
* @param requestBean * @param requestBean
* @return * @return
*/ */
@ResponseBody @ResponseBody
@RequestMapping(value = "/start") @RequestMapping(value = "/start")
public ResponseBean start(RequestBean requestBean) { public ResponseBean start(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean(); ResponseBean responseBean = new ResponseBean();
CallRecordBean bean = requestBean.getObjectBean(CallRecordBean.class); CallRecordBean bean = requestBean.getObjectBean(CallRecordBean.class);
String message = callService.validate(bean); String message = callService.validate(bean);
if (message == null) {// 校验通过 if (message == null) {// 校验通过
List<CallPhoneBean> phoneList = bean.getPhoneList(); List<CallPhoneBean> phoneList = bean.getPhoneList();
int userCount = phoneList.size()+1; int userCount = phoneList.size()+1;
CallRecordEntity record = new CallRecordEntity(); CallRecordEntity record = new CallRecordEntity();
record.setCallType(bean.getCallType()); record.setCallType(bean.getCallType());
record.setCreateBy(bean.getCreateBy()); record.setCreateBy(bean.getCreateBy());
if(StringUtils.isEmpty(bean.getCreateName())){ if(StringUtils.isEmpty(bean.getCreateName())){
String name = callService.getNameByPhoneFromSeat(bean.getCreatePhone()); String name = callService.getNameByPhoneFromSeat(bean.getCreatePhone());
if(name!=null){ if(name!=null){
record.setCreateName(name); record.setCreateName(name);
}else{ }else{
name = callService.getNameByPhone(bean.getCreatePhone()); name = callService.getNameByPhone(bean.getCreatePhone());
if(name!=null){ if(name!=null){
record.setCreateName(name); record.setCreateName(name);
}else{ }else{
record.setCreateName(bean.getCreatePhone()); record.setCreateName(bean.getCreatePhone());
} }
} }
}else{ }else{
record.setCreateName(bean.getCreateName()); record.setCreateName(bean.getCreateName());
} }
// record.setCreateName(StringUtils.isEmpty(bean.getCreateName()) ? bean.getCreatePhone() : bean.getCreateName()); // record.setCreateName(StringUtils.isEmpty(bean.getCreateName()) ? bean.getCreatePhone() : bean.getCreateName());
record.setEndStatus(bean.getEndStatus()); record.setEndStatus(bean.getEndStatus());
record.setId(IdWorker.getNextId()); record.setId(IdWorker.getNextId());
record.setChannelType(bean.getChannelType()); record.setChannelType(bean.getChannelType());
record.setStartTime(new Date()); record.setStartTime(new Date());
record.setAppCode(bean.getAppCode()); record.setAppCode(bean.getAppCode());
record.setPlatform(bean.getPlatform()); record.setPlatform(bean.getPlatform());
record.setVersionName(bean.getVersionName()); record.setVersionName(bean.getVersionName());
if("APP".equals(bean.getChannelType()) == false){// 通过系统拨打的电话记录 if("APP".equals(bean.getChannelType()) == false){// 通过系统拨打的电话记录
if(bean.getStartTime() != null){ if(bean.getStartTime() != null){
record.setStartTime(bean.getStartTime()); record.setStartTime(bean.getStartTime());
} }
} }
record.setUserCount(userCount); record.setUserCount(userCount);
record.setCreatePhone(bean.getCreatePhone()); record.setCreatePhone(bean.getCreatePhone());
record.setCreateShowPhone(bean.getCreateShowPhone()); record.setCreateShowPhone(bean.getCreateShowPhone());
record.setPhoneType(Util.getPhoneType(bean.getCreatePhone())); record.setPhoneType(Util.getPhoneType(bean.getCreatePhone()));
callService.createCallRecord(record);// 添加主记录 callService.createCallRecord(record);// 添加主记录
for (CallPhoneBean phone : phoneList) { for (CallPhoneBean phone : phoneList) {
phone.setId(IdWorker.getNextId()); phone.setId(IdWorker.getNextId());
phone.setPhoneType(Util.getPhoneType(phone.getPhone())); phone.setPhoneType(Util.getPhoneType(phone.getPhone()));
phone.setRecordId(record.getId()); phone.setRecordId(record.getId());
if ("GROUP".equals(record.getCallType())) {// 群组聊天的时候记录标题 if ("GROUP".equals(record.getCallType())) {// 群组聊天的时候记录标题
phone.setTitle("由" + record.getCreateName() + "发起电话会议"); phone.setTitle("由" + record.getCreateName() + "发起电话会议");
} else { } else {
phone.setTitle(record.getCreateName()); phone.setTitle(record.getCreateName());
} }
if(StringUtils.isEmpty(phone.getUserId()) if(StringUtils.isEmpty(phone.getUserId())
&& StringUtils.isNotEmpty(phone.getPhone())){// 如果没有匹配用户信息则通过号码匹配用户信息 && StringUtils.isNotEmpty(phone.getPhone())){// 如果没有匹配用户信息则通过号码匹配用户信息
CallFindPhoneInfoBean phoneBean = new CallFindPhoneInfoBean(); CallFindPhoneInfoBean phoneBean = new CallFindPhoneInfoBean();
Date current = new Date();// 用于查询通话记录 Date current = new Date();// 用于查询通话记录
phoneBean.setEndTime(current);// 查询时间 phoneBean.setEndTime(current);// 查询时间
phoneBean.setStartTime(new Date(current.getTime()-3*60*1000));// 开始时间=查询时间-3分钟 phoneBean.setStartTime(new Date(current.getTime()-3*60*1000));// 开始时间=查询时间-3分钟
phoneBean.setPhoneNumer(phone.getPhone()); phoneBean.setPhoneNumer(phone.getPhone());
List<CallPhoneInfoListEntity> userList = callService.findUserByCallPhone(phoneBean, true); List<CallPhoneInfoListEntity> userList = callService.findUserByCallPhone(phoneBean, true);
if(userList != null && userList.size() == 1){ if(userList != null && userList.size() == 1){
CallPhoneInfoListEntity callPhoneInfo = userList.get(0); CallPhoneInfoListEntity callPhoneInfo = userList.get(0);
if(StringUtils.isNotEmpty(callPhoneInfo.getUserId())){ if(StringUtils.isNotEmpty(callPhoneInfo.getUserId())){
phone.setUserId(callPhoneInfo.getUserId()); phone.setUserId(callPhoneInfo.getUserId());
phone.setUsername(callPhoneInfo.getName()); phone.setUsername(callPhoneInfo.getName());
} }
} }
} }
} }
callService.addCallPhoneList(phoneList);// 添加电话列表 callService.addCallPhoneList(phoneList);// 添加电话列表
responseBean.setData(record); responseBean.setData(record);
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
} }
responseBean.setMessage(message); responseBean.setMessage(message);
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
return responseBean; return responseBean;
} }
/** /**
* 42.2 结束会话提交接口 * 42.2 结束会话提交接口
* *
* @author renmb * @author renmb
* @time 2016年10月6日 * @time 2016年10月6日
* @param requestBean * @param requestBean
* @return * @return
*/ */
@ResponseBody @ResponseBody
@RequestMapping(value = "/end") @RequestMapping(value = "/end")
public ResponseBean end(RequestBean requestBean) { public ResponseBean end(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean(); ResponseBean responseBean = new ResponseBean();
CallRecordBean bean = requestBean.getObjectBean(CallRecordBean.class); CallRecordBean bean = requestBean.getObjectBean(CallRecordBean.class);
String message = callService.validate(bean); String message = callService.validate(bean);
if (message == null) {// 校验通过 if (message == null) {// 校验通过
CallRecordEntity record = new CallRecordEntity(); CallRecordEntity record = new CallRecordEntity();
record.setEndStatus(bean.getEndStatus()); record.setEndStatus(bean.getEndStatus());
record.setEndTime(bean.getEndTime()); record.setEndTime(bean.getEndTime());
if("APP".equals(bean.getChannelType()) == false){// 通过系统拨打的电话记录 if("APP".equals(bean.getChannelType()) == false){// 通过系统拨打的电话记录
if(bean.getEndTime() != null){ if(bean.getEndTime() != null){
record.setEndTime(bean.getEndTime()); record.setEndTime(bean.getEndTime());
} }
} }
record.setId(bean.getRecordCode()); record.setId(bean.getRecordCode());
callService.updateCallRecord(record);// 添加主记录 callService.updateCallRecord(record);// 添加主记录
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
} }
responseBean.setMessage(message); responseBean.setMessage(message);
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
return responseBean; return responseBean;
} }
/** /**
* 42.3 会话列表接口 * 42.3 会话列表接口
* V2.0 添加分页 * V2.0 添加分页
* *
* @author renmb * @author renmb
* @time 2016年10月6日 * @time 2016年10月6日
* @param requestBean * @param requestBean
* @return * @return
*/ */
@ResponseBody @ResponseBody
@RequestMapping(value = "/list") @RequestMapping(value = "/list")
public ResponseBean list(RequestBean requestBean) { public ResponseBean list(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean(); ResponseBean responseBean = new ResponseBean();
CallRecordListBean bean = requestBean.getObjectBean(CallRecordListBean.class); CallRecordListBean bean = requestBean.getObjectBean(CallRecordListBean.class);
String message = callService.validate(bean); String message = callService.validate(bean);
if (message == null) {// 校验通过 if (message == null) {// 校验通过
Boolean show=false; Boolean show=false;
UserEntity ue=new UserEntity(); UserEntity ue=new UserEntity();
ue.setUsercode(bean.getUserId()); ue.setUsercode(bean.getUserId());
User user = userService.getUserByUserCode(ue); User user = userService.getUserByUserCode(ue);
if(user!=null){ if(user!=null){
if(StringUtils.isNoneBlank(user.getPhone())){ if(StringUtils.isNoneBlank(user.getPhone())){
show=true; show=true;
} }
}else{ }else{
UserSeatEntity seat= userService.getSeatsEntity(bean.getUserId()); UserSeatEntity seat= userService.getSeatsEntity(bean.getUserId());
if(seat != null && StringUtils.isNoneBlank(seat.getPhone())){ if(seat != null && StringUtils.isNoneBlank(seat.getPhone())){
show=true; show=true;
} }
} }
PageEntity<CallRecordListEntity> page = callService.getCallRecordList(bean); PageEntity<CallRecordListEntity> page = callService.getCallRecordList(bean);
if(page == null){ if(page == null){
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2001); responseBean.setStatus(ErrorCode.STATUS_CODE_2001);
return responseBean; return responseBean;
} }
List<CallRecordListEntity> callRecordList = page.getList(); List<CallRecordListEntity> callRecordList = page.getList();
List<CallListEntity> callList = new ArrayList<CallListEntity>(); List<CallListEntity> callList = new ArrayList<CallListEntity>();
List<String> huweiNumList = new ArrayList<>(); List<String> huweiNumList = new ArrayList<>();
for(CallRecordListEntity record:callRecordList){ for(CallRecordListEntity record:callRecordList){
CallListEntity call = new CallListEntity(); CallListEntity call = new CallListEntity();
call.setCallType(record.getCallType()); call.setCallType(record.getCallType());
call.setEndStatus(record.getEndStatus()); call.setEndStatus(record.getEndStatus());
call.setPhone(record.getPhone()); call.setPhone(record.getPhone());
call.setStartTime(record.getStartTime()); call.setStartTime(record.getStartTime());
call.setEndTime(record.getEndTime()); call.setEndTime(record.getEndTime());
call.setTitle(record.getTitle()); call.setTitle(record.getTitle());
call.setUserCount(record.getUserCount()); call.setUserCount(record.getUserCount());
call.setFlow(record.getFlow()); call.setFlow(record.getFlow());
if(bean.getUserId().equals(record.getCreateBy())){// 是本人发起的电话,即主叫 if(bean.getUserId().equals(record.getCreateBy())){// 是本人发起的电话,即主叫
call.setFlow("CALLING"); call.setFlow("CALLING");
call.setUserId(record.getUserId()); call.setUserId(record.getUserId());
// call.setPhone( callService.GetPhoneById(record.getUserId())); // call.setPhone( callService.GetPhoneById(record.getUserId()));
call.setUsername(record.getUsername()); call.setUsername(record.getUsername());
// call.setUsername(record.getName()); // call.setUsername(record.getName());
call.setUserPhoto(Util.getAbsoluteUrl(record.getUserPhoto(), GConstants.DEFAULT_SEAT_PHOTO)); call.setUserPhoto(Util.getAbsoluteUrl(record.getUserPhoto(), GConstants.DEFAULT_SEAT_PHOTO));
} else {// 他人发起的电话,电话号码显示 } else {// 他人发起的电话,电话号码显示
call.setFlow("CALLED"); call.setFlow("CALLED");
call.setPhone(record.getCreatePhone()); call.setPhone(record.getCreatePhone());
// call.setPhone( callService.GetPhoneById(record.getCreateBy())); // call.setPhone( callService.GetPhoneById(record.getCreateBy()));
call.setUserId(record.getCreateBy()); call.setUserId(record.getCreateBy());
call.setUsername(record.getCreateName()); call.setUsername(record.getCreateName());
// call.setUsername(record.getName()); // call.setUsername(record.getName());
call.setUserPhoto(Util.getAbsoluteUrl(record.getCreateByPhoto(), GConstants.DEFAULT_SEAT_PHOTO)); call.setUserPhoto(Util.getAbsoluteUrl(record.getCreateByPhoto(), GConstants.DEFAULT_SEAT_PHOTO));
} }
if("GROUP".equals(record.getCallType())){// 群组聊天时所有的电话均设置为群发起人电话 if("GROUP".equals(record.getCallType())){// 群组聊天时所有的电话均设置为群发起人电话
call.setPhone(record.getCreatePhone()); call.setPhone(record.getCreatePhone());
List<MemberEntity> memberlist = callService.getMemberList(record.getId()); List<MemberEntity> memberlist = callService.getMemberList(record.getId());
memberlist.forEach(mEntity->huweiNumList.add(mEntity.getPhone())); memberlist.forEach(mEntity->huweiNumList.add(mEntity.getPhone()));
call.setMemberList(memberlist); call.setMemberList(memberlist);
} else if(bean.getUserId().equals(record.getCreateBy())){// 非群聊,且是本人发起的电话 } else if(bean.getUserId().equals(record.getCreateBy())){// 非群聊,且是本人发起的电话
// call.setTitle(record.getName()); // call.setTitle(record.getName());
call.setTitle(record.getUsername()); call.setTitle(record.getUsername());
} }
// if(show){ // if(show){
// call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl())); // call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl()));
// } // }
call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl())); call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl()));
huweiNumList.add(call.getPhone()); huweiNumList.add(call.getPhone());
// call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl())); // call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl()));
callList.add(call); callList.add(call);
} }
Map<String, String> map = callService.findPhneByHuaweiNum(huweiNumList);// 通过华为短号查询座机号
for(CallListEntity record:callList){ Map<String, String> map = callService.findPhneByHuaweiNum(huweiNumList);// 通过华为短号查询座机号
if(map != null ){ for(CallListEntity record:callList){
if(StringUtils.isNotEmpty(map.get(record.getPhone()))){ if(map != null ){
record.setPhone(Util.formatedWorkPhone(map.get(record.getPhone()))); if(StringUtils.isNotEmpty(map.get(record.getPhone()))){
} record.setPhone(Util.formatedWorkPhone(map.get(record.getPhone())));
}
if("GROUP".equals(record.getCallType())){
record.getMemberList().forEach(entity->{ if("GROUP".equals(record.getCallType())){
if(StringUtils.isNotEmpty(map.get(entity.getPhone()))){ record.getMemberList().forEach(entity->{
entity.setPhone(Util.formatedWorkPhone(map.get(entity.getPhone()))); if(StringUtils.isNotEmpty(map.get(entity.getPhone()))){
entity.setPhone(Util.formatedWorkPhone(map.get(entity.getPhone())));
}
entity.setShowPhone(Util.getShowPhone(entity.getPhone())); }
}); entity.setShowPhone(Util.getShowPhone(entity.getPhone()));
} });
}
}
if(StringUtils.isNotEmpty(record.getPhone()) }
&& record.getPhone().startsWith("6") if(StringUtils.isNotEmpty(record.getPhone())
&& record.getPhone().length() == 4){// 6开头的华为短号不展示 && record.getPhone().startsWith("6")
&& record.getPhone().length() == 4){// 6开头的华为短号不展示
record.setPhone("");
} record.setPhone("");
record.setShowPhone(Util.getShowPhone(record.getPhone())); }
} record.setShowPhone(Util.getShowPhone(record.getPhone()));
PageEntity<CallListEntity> retPage = new PageEntity<CallListEntity>(); }
retPage.setCount(page.getCount()); PageEntity<CallListEntity> retPage = new PageEntity<CallListEntity>();
retPage.setPageNo(page.getPageNo()); retPage.setCount(page.getCount());
retPage.setList(callList); retPage.setPageNo(page.getPageNo());
retPage.setPageSize(page.getPageSize()); retPage.setList(callList);
retPage.setTotalPage(page.getTotalPage()); retPage.setPageSize(page.getPageSize());
retPage.setTotalPage(page.getTotalPage());
responseBean.setData(retPage);
responseBean.setMessage(GConstants.OK); responseBean.setData(retPage);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setMessage(GConstants.OK);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
} return responseBean;
responseBean.setMessage(message); }
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setMessage(message);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
} return responseBean;
/** }
* 安科录音接口 /**
* * 安科录音接口
* @author renmb *
* @time 2017年3月15日 * @author renmb
* @param requestBean * @time 2017年3月15日
* @return * @param requestBean
*/ * @return
@ResponseBody */
@RequestMapping(value = "/soundList") @ResponseBody
public ResponseBean soundList(RequestBean requestBean) { @RequestMapping(value = "/soundList")
ResponseBean responseBean = new ResponseBean(); public ResponseBean soundList(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean();
CallRecordListBean bean = requestBean.getObjectBean(CallRecordListBean.class);
String message = callService.validate(bean); CallRecordListBean bean = requestBean.getObjectBean(CallRecordListBean.class);
if (message == null) {// 校验通过 String message = callService.validate(bean);
if (message == null) {// 校验通过
PageEntity<CallRecordListEntity> page = callService.getCallRecordList(bean);
// PageEntity<CallRecordListEntity> page = callService.getCallSoundList(bean); PageEntity<CallRecordListEntity> page = callService.getCallRecordList(bean);
if(page == null){ // PageEntity<CallRecordListEntity> page = callService.getCallSoundList(bean);
if(page == null){
responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2001); responseBean.setMessage(GConstants.OK);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_2001);
} return responseBean;
List<CallRecordListEntity> callRecordList = page.getList(); }
List<CallListEntity> callList = new ArrayList<CallListEntity>(); List<CallRecordListEntity> callRecordList = page.getList();
List<String> huweiNumList = new ArrayList<>(); List<CallListEntity> callList = new ArrayList<CallListEntity>();
for(CallRecordListEntity record:callRecordList){ List<String> huweiNumList = new ArrayList<>();
for(CallRecordListEntity record:callRecordList){
CallListEntity call = new CallListEntity();
call.setCallType(record.getCallType()); CallListEntity call = new CallListEntity();
call.setEndStatus(record.getEndStatus()); call.setCallType(record.getCallType());
call.setPhone(record.getPhone()); call.setEndStatus(record.getEndStatus());
call.setStartTime(record.getStartTime()); call.setPhone(record.getPhone());
call.setTitle(record.getTitle()); call.setStartTime(record.getStartTime());
call.setUserCount(record.getUserCount()); call.setTitle(record.getTitle());
call.setFlow(record.getFlow()); call.setUserCount(record.getUserCount());
call.setFlow(record.getFlow());
if(bean.getUserId().equals(record.getCreateBy())){// 是本人发起的电话,即主叫
if(bean.getUserId().equals(record.getCreateBy())){// 是本人发起的电话,即主叫
call.setFlow("CALLING");
call.setUserId(record.getUserId()); call.setFlow("CALLING");
call.setUsername(record.getUsername()); call.setUserId(record.getUserId());
call.setUserPhoto(Util.getAbsoluteUrl(record.getUserPhoto(), GConstants.DEFAULT_SEAT_PHOTO)); call.setUsername(record.getUsername());
} else {// 他人发起的电话,电话号码显示 call.setUserPhoto(Util.getAbsoluteUrl(record.getUserPhoto(), GConstants.DEFAULT_SEAT_PHOTO));
} else {// 他人发起的电话,电话号码显示
call.setFlow("CALLED");
call.setPhone(record.getCreatePhone()); call.setFlow("CALLED");
call.setUserId(record.getCreateBy()); call.setPhone(record.getCreatePhone());
call.setUsername(record.getCreateName()); call.setUserId(record.getCreateBy());
call.setUserPhoto(Util.getAbsoluteUrl(record.getCreateByPhoto(), GConstants.DEFAULT_SEAT_PHOTO)); call.setUsername(record.getCreateName());
} call.setUserPhoto(Util.getAbsoluteUrl(record.getCreateByPhoto(), GConstants.DEFAULT_SEAT_PHOTO));
if("GROUP".equals(record.getCallType())){// 群组聊天时所有的电话均设置为群发起人电话 }
if("GROUP".equals(record.getCallType())){// 群组聊天时所有的电话均设置为群发起人电话
call.setPhone(record.getCreatePhone());
} else if(bean.getUserId().equals(record.getCreateBy())){// 非群聊,且是本人发起的电话 call.setPhone(record.getCreatePhone());
} else if(bean.getUserId().equals(record.getCreateBy())){// 非群聊,且是本人发起的电话
call.setTitle(record.getUsername());
} call.setTitle(record.getUsername());
huweiNumList.add(call.getPhone()); }
call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl())); huweiNumList.add(call.getPhone());
callList.add(call); call.setDownloadUrl(this.formatedDownloadUrl(record.getDownloadUrl()));
} callList.add(call);
Map<String, String> map = callService.findPhneByHuaweiNum(huweiNumList);// 通过华为短号查询座机号 }
for(CallListEntity record:callList){ Map<String, String> map = callService.findPhneByHuaweiNum(huweiNumList);// 通过华为短号查询座机号
if(map != null && for(CallListEntity record:callList){
StringUtils.isNotEmpty(map.get(record.getPhone()))){ if(map != null &&
StringUtils.isNotEmpty(map.get(record.getPhone()))){
record.setPhone(Util.formatedWorkPhone(map.get(record.getPhone())));
} record.setPhone(Util.formatedWorkPhone(map.get(record.getPhone())));
// if(StringUtils.isNotEmpty(record.getPhone()) }
// && record.getPhone().startsWith("6") // if(StringUtils.isNotEmpty(record.getPhone())
// && record.getPhone().length() == 4){// 6开头的华为短号不展示 // && record.getPhone().startsWith("6")
// // && record.getPhone().length() == 4){// 6开头的华为短号不展示
// record.setPhone(""); //
// } // record.setPhone("");
record.setShowPhone(Util.getShowPhone(record.getPhone())); // }
} record.setShowPhone(Util.getShowPhone(record.getPhone()));
PageEntity<CallListEntity> retPage = new PageEntity<CallListEntity>(); }
retPage.setCount(page.getCount()); PageEntity<CallListEntity> retPage = new PageEntity<CallListEntity>();
retPage.setPageNo(page.getPageNo()); retPage.setCount(page.getCount());
retPage.setList(callList); retPage.setPageNo(page.getPageNo());
retPage.setPageSize(page.getPageSize()); retPage.setList(callList);
retPage.setTotalPage(page.getTotalPage()); retPage.setPageSize(page.getPageSize());
retPage.setTotalPage(page.getTotalPage());
responseBean.setData(retPage);
responseBean.setMessage(GConstants.OK); responseBean.setData(retPage);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setMessage(GConstants.OK);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
} return responseBean;
responseBean.setMessage(message); }
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setMessage(message);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
} return responseBean;
/** }
* 根据电话号码查询电话相关的席位或者用户信息 /**
* * 根据电话号码查询电话相关的席位或者用户信息
* @author renmb *
* @time 2017年1月5日 * @author renmb
* @param requestBean * @time 2017年1月5日
* @return * @param requestBean
*/ * @return
@ResponseBody */
@RequestMapping(value = "/findPhoneInfo") @ResponseBody
public ResponseBean findPhoneInfo(RequestBean requestBean) { @RequestMapping(value = "/findPhoneInfo")
ResponseBean responseBean = new ResponseBean(); public ResponseBean findPhoneInfo(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean();
CallFindPhoneInfoBean bean = requestBean.getObjectBean(CallFindPhoneInfoBean.class);
String message = callService.validate(bean); CallFindPhoneInfoBean bean = requestBean.getObjectBean(CallFindPhoneInfoBean.class);
if (message == null) {// 校验通过 String message = callService.validate(bean);
if (message == null) {// 校验通过
Date current = new Date();// 用于查询通话记录
bean.setEndTime(current);// 查询时间 Date current = new Date();// 用于查询通话记录
bean.setStartTime(new Date(current.getTime()-3*60*1000));// 开始时间=查询时间-3分钟 bean.setEndTime(current);// 查询时间
bean.setStartTime(new Date(current.getTime()-3*60*1000));// 开始时间=查询时间-3分钟
List<CallPhoneInfoListEntity> userList = callService.findUserByCallPhone(bean, false);
if(userList == null || userList.size() == 0){ List<CallPhoneInfoListEntity> userList = callService.findUserByCallPhone(bean, false);
responseBean.setMessage(GConstants.EMPTY); if(userList == null || userList.size() == 0){
responseBean.setStatus(ErrorCode.STATUS_CODE_2001); responseBean.setMessage(GConstants.EMPTY);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_2001);
} return responseBean;
for(CallPhoneInfoListEntity call:userList){ }
for(CallPhoneInfoListEntity call:userList){
call.setPhoto(Util.getAbsoluteUrl(call.getPhoto(), GConstants.DEFAULT_SEAT_PHOTO));
} call.setPhoto(Util.getAbsoluteUrl(call.getPhoto(), GConstants.DEFAULT_SEAT_PHOTO));
// callService.addCallRecordByCalled(bean, userList.get(0)); }
// callService.addCallRecordByCalled(bean, userList.get(0));
responseBean.setData(userList);
responseBean.setMessage(GConstants.OK); responseBean.setData(userList);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setMessage(GConstants.OK);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
} return responseBean;
responseBean.setMessage(message); }
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setMessage(message);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
} return responseBean;
/** }
* 一次性批量提交电话会议记录 /**
* * 一次性批量提交电话会议记录
* 42.4 批量提交通话记录接口 *
* * 42.4 批量提交通话记录接口
* @author renmb *
* @time 2017年2月17日 * @author renmb
* @param requestBean * @time 2017年2月17日
* @return * @param requestBean
*/ * @return
@ResponseBody */
@RequestMapping(value = "/postCallLogList") @ResponseBody
public ResponseBean postCallLogList(RequestBean requestBean) { @RequestMapping(value = "/postCallLogList")
ResponseBean responseBean = new ResponseBean(); public ResponseBean postCallLogList(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean();
CallLogListBean callLog = requestBean.getObjectBean(CallLogListBean.class);
if (callLog != null && callLog.getCallLogList() != null) {// 校验通过 CallLogListBean callLog = requestBean.getObjectBean(CallLogListBean.class);
if (callLog != null && callLog.getCallLogList() != null) {// 校验通过
List<CallRecordBean> callLogList = callLog.getCallLogList();
for (CallRecordBean bean:callLogList) { List<CallRecordBean> callLogList = callLog.getCallLogList();
List<CallPhoneBean> phoneList = bean.getPhoneList(); for (CallRecordBean bean:callLogList) {
List<CallPhoneBean> phoneList = bean.getPhoneList();
int userCount = phoneList.size()+1;
CallRecordEntity record = new CallRecordEntity(); int userCount = phoneList.size()+1;
record.setCallType(bean.getCallType()); CallRecordEntity record = new CallRecordEntity();
record.setCreateBy(bean.getCreateBy()); record.setCallType(bean.getCallType());
record.setCreateName(bean.getCreateName()); record.setCreateBy(bean.getCreateBy());
record.setEndStatus(record.getEndStatus()); record.setCreateName(bean.getCreateName());
record.setChannelType(bean.getChannelType()); record.setEndStatus(record.getEndStatus());
record.setId(IdWorker.getNextId()); record.setChannelType(bean.getChannelType());
record.setAppCode(bean.getAppCode()); record.setId(IdWorker.getNextId());
record.setPlatform(bean.getPlatform()); record.setAppCode(bean.getAppCode());
record.setVersionName(bean.getVersionName()); record.setPlatform(bean.getPlatform());
record.setVersionName(bean.getVersionName());
if(bean.getStartTime() == null){
record.setStartTime(new Date()); if(bean.getStartTime() == null){
} else{ record.setStartTime(new Date());
record.setStartTime(bean.getStartTime()); } else{
} record.setStartTime(bean.getStartTime());
record.setUserCount(userCount); }
record.setCreatePhone(bean.getCreatePhone()); record.setUserCount(userCount);
record.setPhoneType(Util.getPhoneType(bean.getCreatePhone())); record.setCreatePhone(bean.getCreatePhone());
record.setPhoneType(Util.getPhoneType(bean.getCreatePhone()));
callService.createCallRecord(record);// 添加主记录
callService.createCallRecord(record);// 添加主记录
for (CallPhoneBean phone : phoneList) {
for (CallPhoneBean phone : phoneList) {
phone.setId(IdWorker.getNextId());
phone.setRecordId(record.getId()); phone.setId(IdWorker.getNextId());
if ("GROUP".equals(record.getCallType())) {// 群组聊天的时候记录标题 phone.setRecordId(record.getId());
if ("GROUP".equals(record.getCallType())) {// 群组聊天的时候记录标题
phone.setTitle("由" + record.getCreateName() + "发起电话会议");
} else { phone.setTitle("由" + record.getCreateName() + "发起电话会议");
} else {
phone.setTitle(record.getCreateName());
} phone.setTitle(record.getCreateName());
} }
}
callService.addCallPhoneList(phoneList);// 添加电话列表
} callService.addCallPhoneList(phoneList);// 添加电话列表
responseBean.setMessage(GConstants.OK); }
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setMessage(GConstants.OK);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
} return responseBean;
responseBean.setMessage(GConstants.EMPTY); }
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setMessage(GConstants.EMPTY);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
} return responseBean;
}
/**
* 用于安科同步录音数据 /**
* * 用于安科同步录音数据
* @author renmb *
* @time 2017年2月28日 * @author renmb
* @param requestBean * @time 2017年2月28日
* @return * @param requestBean
*/ * @return
@ResponseBody */
@RequestMapping(value = "/addSoundRecord") @ResponseBody
public ResponseBean addSoundRecord(RequestBean requestBean) { @RequestMapping(value = "/addSoundRecord")
ResponseBean responseBean = new ResponseBean(); public ResponseBean addSoundRecord(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean();
CallSoundRecordBean bean = requestBean.getObjectBean(CallSoundRecordBean.class);
String message = callService.validate(bean); CallSoundRecordBean bean = requestBean.getObjectBean(CallSoundRecordBean.class);
if (message == null) {// 校验通过 String message = callService.validate(bean);
if (message == null) {// 校验通过
bean.setFocTimeMillis(System.currentTimeMillis());
Date createDate = new Date(bean.getFocTimeMillis()); bean.setFocTimeMillis(System.currentTimeMillis());
bean.setCreateDate(createDate); Date createDate = new Date(bean.getFocTimeMillis());
bean.setCreateDate(createDate);
long focDiffMillis = bean.getCurrentTimeMillis() - bean.getFocTimeMillis()+GConstants.getIntValue("add.diff.millis", 100);
// if(focDiffMillis<1000){ long focDiffMillis = bean.getCurrentTimeMillis() - bean.getFocTimeMillis()+GConstants.getIntValue("add.diff.millis", 100);
// focDiffMillis = 0; // if(focDiffMillis<1000){
// } // focDiffMillis = 0;
bean.setFocDiffMillis((int)focDiffMillis); // }
Date start = new Date(bean.getBeginTime().getTime()-focDiffMillis); bean.setFocDiffMillis((int)focDiffMillis);
bean.setFocBeginTime(start); Date start = new Date(bean.getBeginTime().getTime()-focDiffMillis);
if(bean.getEndTime() != null){ bean.setFocBeginTime(start);
if(bean.getEndTime() != null){
Date end = new Date(bean.getEndTime().getTime()-focDiffMillis);
bean.setFocEndTime(end); Date end = new Date(bean.getEndTime().getTime()-focDiffMillis);
} bean.setFocEndTime(end);
//添加通话记录call_record,call_office }
CallRecordEntity record = new CallRecordEntity(); //添加通话记录call_record,call_office
record.setCallType("USER"); CallRecordEntity record = new CallRecordEntity();
String name = callService.getNameByPhoneFromSeat(bean.getCallNo()); record.setCallType("USER");
String id = callService.getIdByPhoneFromSeat(bean.getCallNo()); String name = callService.getNameByPhoneFromSeat(bean.getCallNo());
if(name!=null){ String id = callService.getIdByPhoneFromSeat(bean.getCallNo());
record.setCreateName(name); if(name!=null){
record.setCreateBy(id); record.setCreateName(name);
}else{ record.setCreateBy(id);
name = callService.getNameByPhone(bean.getCallNo()); }else{
if(name!=null){ name = callService.getNameByPhone(bean.getCallNo());
id = callService.getIdByPhone(bean.getCallNo()); if(name!=null){
record.setCreateName(name); id = callService.getIdByPhone(bean.getCallNo());
record.setCreateBy(id); record.setCreateName(name);
}else{ record.setCreateBy(id);
record.setCreateName(bean.getCallNo()); }else{
record.setCreateBy("1"); record.setCreateName(bean.getCallNo());
} record.setCreateBy("1");
} }
int userCount = 1; }
if(bean.getResult()!=null && !bean.getResult().equals("0")){ int userCount = 1;
record.setEndStatus("SUCCESS"); if(bean.getResult()!=null && !bean.getResult().equals("0")){
userCount = 2; record.setEndStatus("SUCCESS");
}else{ userCount = 2;
record.setEndStatus("FAILD"); }else{
} record.setEndStatus("FAILD");
record.setId(IdWorker.getNextId()); }
record.setChannelType(bean.getChannelType()); record.setId(IdWorker.getNextId());
record.setAppCode("30011"); record.setChannelType(bean.getChannelType());
record.setPlatform("JAVA"); record.setAppCode("30011");
record.setVersionName("1.0"); record.setPlatform("JAVA");
record.setDownloadUrl(bean.getDownloadUrl()); record.setVersionName("1.0");
record.setDuration(bean.getDuration()); record.setDownloadUrl(bean.getDownloadUrl());
record.setStartTime(bean.getBeginTime()); record.setDuration(bean.getDuration());
record.setEndTime(bean.getEndTime()); record.setStartTime(bean.getBeginTime());
record.setUserCount(userCount); record.setEndTime(bean.getEndTime());
record.setCreatePhone(bean.getCallNo()); record.setUserCount(userCount);
record.setCreateShowPhone(bean.getCallNo()); record.setCreatePhone(bean.getCallNo());
record.setPhoneType(Util.getPhoneType(bean.getCallNo())); record.setCreateShowPhone(bean.getCallNo());
// callService.createCallRecord(record);// 添加主记录 record.setPhoneType(Util.getPhoneType(bean.getCallNo()));
//添加被叫记录 // callService.createCallRecord(record);// 添加主记录
List<CallPhoneBean> phoneList = new ArrayList<CallPhoneBean>(); //添加被叫记录
CallPhoneBean phone = new CallPhoneBean(); List<CallPhoneBean> phoneList = new ArrayList<CallPhoneBean>();
CallPhoneBean phone = new CallPhoneBean();
phone.setId(IdWorker.getNextId());
phone.setPhoneType(Util.getPhoneType(phone.getPhone())); phone.setId(IdWorker.getNextId());
phone.setRecordId(record.getId()); phone.setPhoneType(Util.getPhoneType(phone.getPhone()));
phone.setDownloadUrl(bean.getDownloadUrl()); phone.setRecordId(record.getId());
phone.setCenterRecordsId(bean.getId()); phone.setDownloadUrl(bean.getDownloadUrl());
if ("GROUP".equals(record.getCallType())) {// 群组聊天的时候记录标题 phone.setCenterRecordsId(bean.getId());
if ("GROUP".equals(record.getCallType())) {// 群组聊天的时候记录标题
phone.setTitle("由" + record.getCreateName() + "发起电话会议");
} else { phone.setTitle("由" + record.getCreateName() + "发起电话会议");
} else {
phone.setTitle(record.getCreateName());
} phone.setTitle(record.getCreateName());
String acceptName = callService.getNameByPhoneFromSeat(bean.getAcceptNo()); }
String acceptId = callService.getIdByPhoneFromSeat(bean.getAcceptNo()); String acceptName = callService.getNameByPhoneFromSeat(bean.getAcceptNo());
if(acceptName!=null){ String acceptId = callService.getIdByPhoneFromSeat(bean.getAcceptNo());
phone.setUserId(acceptId); if(acceptName!=null){
phone.setUsername(acceptName); phone.setUserId(acceptId);
}else{ phone.setUsername(acceptName);
acceptName = callService.getNameByPhone(bean.getAcceptNo()); }else{
if(acceptName!=null){ acceptName = callService.getNameByPhone(bean.getAcceptNo());
acceptId = callService.getIdByPhone(bean.getAcceptNo()); if(acceptName!=null){
phone.setUserId(acceptId); acceptId = callService.getIdByPhone(bean.getAcceptNo());
phone.setUsername(acceptName); phone.setUserId(acceptId);
}else{ phone.setUsername(acceptName);
phone.setUserId("1"); }else{
phone.setUsername(bean.getAcceptNo()); phone.setUserId("1");
} phone.setUsername(bean.getAcceptNo());
} }
phone.setPhone(bean.getAcceptNo()); }
phone.setShowPhone(bean.getAcceptNo()); phone.setPhone(bean.getAcceptNo());
phone.setPhoneType(Util.getPhoneType(bean.getAcceptNo())); phone.setShowPhone(bean.getAcceptNo());
phone.setFlow("CALLED"); phone.setPhoneType(Util.getPhoneType(bean.getAcceptNo()));
phoneList.add(phone); phone.setFlow("CALLED");
// callService.addCallPhoneList(phoneList);// 添加电话列表 phoneList.add(phone);
// callService.addCallPhoneList(phoneList);// 添加电话列表
bean.setCallRecordId(record.getId());
if(callService.addSoundRecord(bean,phoneList,record)){ bean.setCallRecordId(record.getId());
if(callService.addSoundRecord(bean,phoneList,record)){
responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setMessage(GConstants.OK);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
} else{ return responseBean;
responseBean.setData(bean); } else{
responseBean.setMessage("记录保存失败!"); responseBean.setData(bean);
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setMessage("记录保存失败!");
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
} return responseBean;
} }
responseBean.setMessage(message); }
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setMessage(message);
return responseBean; responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
} return responseBean;
public String formatedDownloadUrl(String downloadUrl){ }
try { public String formatedDownloadUrl(String downloadUrl){
if(StringUtils.isEmpty(downloadUrl)) try {
return null; if(StringUtils.isEmpty(downloadUrl))
return GConstants.getValue("jd.sound.recording.prefix", "https://ifos.jdair.net/sounds") return null;
+downloadUrl.replaceAll("\\\\+", "/").replace(GConstants.getValue("ak.sound.recording.prefix", "http://10.72.23.187"), ""); return GConstants.getValue("jd.sound.recording.prefix", "https://ifos.jdair.net/sounds")
} catch (Exception e) { +downloadUrl.replaceAll("\\\\+", "/").replace(GConstants.getValue("ak.sound.recording.prefix", "http://10.72.23.187"), "");
// TODO: handle exception } catch (Exception e) {
} // TODO: handle exception
return null; }
} return null;
// public static void main(String[] args){ }
// System.out.println(formatedDownloadUrl("http://10.72.23.187\\01\\log20170105204535S000Ch001.wav")); // public static void main(String[] args){
// } // System.out.println(formatedDownloadUrl("http://10.72.23.187\\01\\log20170105204535S000Ch001.wav"));
} // }
}
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