Commit 88a757b6 authored by jay's avatar jay

平台客户需求提交

parent 7b037749
...@@ -9,6 +9,7 @@ import com.house365.web.system.controller.BaseController; ...@@ -9,6 +9,7 @@ import com.house365.web.system.controller.BaseController;
import com.house365.web.util.*; import com.house365.web.util.*;
import com.house365.ws.beans.request.*; import com.house365.ws.beans.request.*;
import com.house365.ws.beans.response.*; import com.house365.ws.beans.response.*;
import com.house365.ws.beans.util.HResult;
import com.house365.ws.interfaces.server.*; import com.house365.ws.interfaces.server.*;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -182,14 +183,47 @@ public class PlatformManagementController extends BaseController { ...@@ -182,14 +183,47 @@ public class PlatformManagementController extends BaseController {
searchParams.put("EQ_platformCreateSource", "PT"); searchParams.put("EQ_platformCreateSource", "PT");
//过滤公海、跟进中 //过滤公海、跟进中
String eqPlatProjectStatus = String.valueOf(searchParams.get("EQ_platProjectStatus")); String eqPlatProjectStatus = String.valueOf(searchParams.get("EQ_platProjectStatus"));
if (eqPlatProjectStatus != null && "7".equals(eqPlatProjectStatus)) {//跟进中 //跟进中
if (eqPlatProjectStatus != null && "7".equals(eqPlatProjectStatus)) {
searchParams.remove("EQ_platProjectStatus"); searchParams.remove("EQ_platProjectStatus");
searchParams.put("EQ_platProjectStatus7", "7"); searchParams.put("EQ_platProjectStatus7", "7");
} }
if (eqPlatProjectStatus != null && "8".equals(eqPlatProjectStatus)) {//回公海 //回公海
if (eqPlatProjectStatus != null && "8".equals(eqPlatProjectStatus)) {
searchParams.remove("EQ_platProjectStatus"); searchParams.remove("EQ_platProjectStatus");
searchParams.put("EQ_platManager", "8"); searchParams.put("EQ_platManager", "8");
} }
//添加部门查询
if (searchParams.get("EQ_dept") != null) {
String dept = searchParams.get("EQ_dept").toString();
//查询部门用户
if (org.apache.commons.lang.StringUtils.isNotBlank(dept)) {
Map<String, Object> deptMap = new HashMap<>(5);
if ("1".equals(dept)) {
deptMap.put("likeName", "直销一");
} else if ("2".equals(dept)) {
deptMap.put("likeName", "直销二");
} else if ("3".equals(dept)) {
deptMap.put("likeName", "直销三");
}
List<DepartmentEntity> list = department.queryByCondition(deptMap);
StringBuilder builder = new StringBuilder();
List<Integer> deptList = new ArrayList<>();
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
list.forEach(l -> deptList.add(l.getId()));
}
Map<String, Object> userMap = new HashMap<>(5);
userMap.put("deptIdList", deptList);
List<UserEntity> userList = iuser.queryByConditions(userMap);
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(userList)) {
userList.forEach(u -> builder.append(u.getId()).append(","));
String deptManagerId = builder.toString();
deptManagerId = deptManagerId.substring(0, deptManagerId.lastIndexOf(","));
searchParams.put("EQ_deptManagerId", deptManagerId);
}
}
}
CustomerListRequest listRequest = new CustomerListRequest(); CustomerListRequest listRequest = new CustomerListRequest();
listRequest.setPaging(page); listRequest.setPaging(page);
listRequest.setSearchParams(searchParams); listRequest.setSearchParams(searchParams);
...@@ -228,7 +262,8 @@ public class PlatformManagementController extends BaseController { ...@@ -228,7 +262,8 @@ public class PlatformManagementController extends BaseController {
//先去查询该客户的所有id //先去查询该客户的所有id
idList = customer.getCustomerIds(customerEntity.getId(), cityCode); idList = customer.getCustomerIds(customerEntity.getId(), cityCode);
} else { } else {
idList.add(customerEntity);//平台客户回公海 //平台客户回公海
idList.add(customerEntity);
} }
//再获取所有id的回访记录 //再获取所有id的回访记录
List<Integer> ids = new ArrayList<>(); List<Integer> ids = new ArrayList<>();
...@@ -427,7 +462,6 @@ public class PlatformManagementController extends BaseController { ...@@ -427,7 +462,6 @@ public class PlatformManagementController extends BaseController {
managers = iuser.queryRuleManagers(csMap); managers = iuser.queryRuleManagers(csMap);
} }
model.addAttribute("managers", managers); model.addAttribute("managers", managers);
//活动来源 //活动来源
model.addAttribute("sources", cslrs.getObjectList()); model.addAttribute("sources", cslrs.getObjectList());
...@@ -458,15 +492,14 @@ public class PlatformManagementController extends BaseController { ...@@ -458,15 +492,14 @@ public class PlatformManagementController extends BaseController {
DepartmentResponse departmentResponse = department.getDepartmentById(Integer.valueOf(cityId)); DepartmentResponse departmentResponse = department.getDepartmentById(Integer.valueOf(cityId));
DepartmentEntity city = departmentResponse.getEntity(); DepartmentEntity city = departmentResponse.getEntity();
CustomerEntity customerEntity = vo.getEntity(); CustomerEntity customerEntity = vo.getEntity();
Date newdate = new Date(); Date newDate = new Date();
CustomerRequest cr = new CustomerRequest(); CustomerRequest cr = new CustomerRequest();
customerEntity.setCreateTime(newdate); customerEntity.setCreateTime(newDate);
if (!Strings.isNullOrEmpty(customerEntity.getRemark())) { if (!Strings.isNullOrEmpty(customerEntity.getRemark())) {
customerEntity.setLastCallTime(newdate); customerEntity.setLastCallTime(newDate);
} }
customerEntity.setUpdateTime(newdate); customerEntity.setUpdateTime(newDate);
customerEntity.setCreater(String.valueOf(userEntity.getId())); customerEntity.setCreater(String.valueOf(userEntity.getId()));
// customerEntity.setManagerId();
customerEntity.setIsRecycled(0); customerEntity.setIsRecycled(0);
customerEntity.setManagerName(selectedManager); customerEntity.setManagerName(selectedManager);
customerEntity.setCityName(city.getName()); customerEntity.setCityName(city.getName());
...@@ -477,8 +510,9 @@ public class PlatformManagementController extends BaseController { ...@@ -477,8 +510,9 @@ public class PlatformManagementController extends BaseController {
customerEntity.setCreateSource("PT"); customerEntity.setCreateSource("PT");
//修改客户表默认值null改为11 //修改客户表默认值null改为11
customerEntity.setStatus(Constant.statu); customerEntity.setStatus(Constant.statu);
customerEntity.setBindTime(newdate); customerEntity.setBindTime(newDate);
customerEntity.setCustomerSourceType(8);//8:平台导入类型 //8:平台导入类型
customerEntity.setCustomerSourceType(8);
CustomerSourceEntity cse = customerSource.getCustomerSourceById(customerEntity.getActSourceId()).getEntity(); CustomerSourceEntity cse = customerSource.getCustomerSourceById(customerEntity.getActSourceId()).getEntity();
customerEntity.setActSource(cse == null ? "" : cse.getSourceName()); customerEntity.setActSource(cse == null ? "" : cse.getSourceName());
cr.setEntity(customerEntity); cr.setEntity(customerEntity);
...@@ -500,18 +534,18 @@ public class PlatformManagementController extends BaseController { ...@@ -500,18 +534,18 @@ public class PlatformManagementController extends BaseController {
} else { } else {
mergeCustomerUtil.checkMergeCustomer(customerEntity, oldentity, userEntity.getId(), userEntity.getRealName()); mergeCustomerUtil.checkMergeCustomer(customerEntity, oldentity, userEntity.getId(), userEntity.getRealName());
// 意向等级、跟踪状态更新 // 意向等级、跟踪状态更新
oldentity.setUpdateTime(newdate); oldentity.setUpdateTime(newDate);
oldentity.setCreateTime(newdate); oldentity.setCreateTime(newDate);
oldentity.setBindTime(newdate); oldentity.setBindTime(newDate);
if (!Strings.isNullOrEmpty(customerEntity.getRemark())) { if (!Strings.isNullOrEmpty(customerEntity.getRemark())) {
oldentity.setLastCallTime(newdate); oldentity.setLastCallTime(newDate);
} }
oldentity.setUpdater(String.valueOf(userEntity.getId())); oldentity.setUpdater(String.valueOf(userEntity.getId()));
customerEntity.setId(oldentity.getId()); customerEntity.setId(oldentity.getId());
customer.updateCustomerMerge(oldentity); customer.updateCustomerMerge(oldentity);
} }
if (!Strings.isNullOrEmpty(customerEntity.getRemark())) { if (!Strings.isNullOrEmpty(customerEntity.getRemark())) {
addCallBack(userEntity, String.valueOf(newCustomerEntity.getId()), customerEntity.getRemark(), newdate); addCallBack(userEntity, String.valueOf(newCustomerEntity.getId()), customerEntity.getRemark(), newDate);
} }
model.addAttribute("vo", vo); model.addAttribute("vo", vo);
...@@ -527,7 +561,7 @@ public class PlatformManagementController extends BaseController { ...@@ -527,7 +561,7 @@ public class PlatformManagementController extends BaseController {
* @param newdate * @param newdate
* @return * @return
*/ */
private CustomerCallbackLogResponse addCallBack(UserEntity userEntity, String customerId, String content, Date newdate) { private void addCallBack(UserEntity userEntity, String customerId, String content, Date newdate) {
CustomerCallbackLogEntity customerCallbackLogEntity = new CustomerCallbackLogEntity(); CustomerCallbackLogEntity customerCallbackLogEntity = new CustomerCallbackLogEntity();
customerCallbackLogEntity.setCustomerId(Integer.valueOf(customerId)); customerCallbackLogEntity.setCustomerId(Integer.valueOf(customerId));
customerCallbackLogEntity.setContent(content); customerCallbackLogEntity.setContent(content);
...@@ -538,8 +572,7 @@ public class PlatformManagementController extends BaseController { ...@@ -538,8 +572,7 @@ public class PlatformManagementController extends BaseController {
CustomerCallbackLogRequest callRequest = new CustomerCallbackLogRequest(); CustomerCallbackLogRequest callRequest = new CustomerCallbackLogRequest();
callRequest.setEntity(customerCallbackLogEntity); callRequest.setEntity(customerCallbackLogEntity);
CustomerCallbackLogResponse response = customerCallbackLog.addCustomerCallbackLog(callRequest); customerCallbackLog.addCustomerCallbackLog(callRequest);
return response;
} }
/** /**
...@@ -642,7 +675,7 @@ public class PlatformManagementController extends BaseController { ...@@ -642,7 +675,7 @@ public class PlatformManagementController extends BaseController {
model.addAttribute("backToSeaDate", backToSeaDate); model.addAttribute("backToSeaDate", backToSeaDate);
//查询客户日志 //查询客户日志
Map<String, Object> map = new HashMap<>(10); Map<String, Object> map = new HashMap<>(10);
List<CustomerLogEntity> list = new ArrayList<>(); List<CustomerLogEntity> list;
if (StringUtils.isEmpty(managerId)) { if (StringUtils.isEmpty(managerId)) {
map.put("relateId", customerEntity.getId()); map.put("relateId", customerEntity.getId());
list = logInterface.queryByConditions(map); list = logInterface.queryByConditions(map);
...@@ -910,4 +943,25 @@ public class PlatformManagementController extends BaseController { ...@@ -910,4 +943,25 @@ public class PlatformManagementController extends BaseController {
return "success"; return "success";
} }
/**
* 逻辑删除平台客户
*
* @param id 客户id
* @return
*/
@RequestMapping(value = "deleteById/{id}")
@ResponseBody
public HResult deleteById(@PathVariable int id, HttpServletRequest request) {
HResult result = new HResult();
try {
UserEntity userEntity = (UserEntity) request.getSession().getAttribute(SessionConstants.THREAD_USER_KEY);
result = customer.deleteById(id, userEntity.getId(), userEntity.getRealName());
} catch (Exception e) {
e.printStackTrace();
result.setStatus(500);
result.setErrorMessage("删除失败");
}
return result;
}
} }
...@@ -23,6 +23,7 @@ import com.house365.ws.beans.request.MapListRequest; ...@@ -23,6 +23,7 @@ import com.house365.ws.beans.request.MapListRequest;
import com.house365.ws.beans.response.CustomerListResponse; import com.house365.ws.beans.response.CustomerListResponse;
import com.house365.ws.beans.response.CustomerResponse; import com.house365.ws.beans.response.CustomerResponse;
import com.house365.ws.beans.response.MapListResponse; import com.house365.ws.beans.response.MapListResponse;
import com.house365.ws.beans.util.HResult;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -241,9 +242,9 @@ public interface ICustomer extends IService { ...@@ -241,9 +242,9 @@ public interface ICustomer extends IService {
void updateOldCustomerStar(int customerId, int starCustomer); void updateOldCustomerStar(int customerId, int starCustomer);
int queryCount (Map<String, Object> map); int queryCount(Map<String, Object> map);
MapListResponse successList(MapListRequest listRequest,UserEntity userEntity); MapListResponse successList(MapListRequest listRequest, UserEntity userEntity);
Integer countCustomer(Map<String, Object> map); Integer countCustomer(Map<String, Object> map);
...@@ -261,6 +262,8 @@ public interface ICustomer extends IService { ...@@ -261,6 +262,8 @@ public interface ICustomer extends IService {
List<CustomerEntity> getAllCustomer4(Map<String, Object> map); List<CustomerEntity> getAllCustomer4(Map<String, Object> map);
MapListResponse seaList(MapListRequest listRequest,String type); MapListResponse seaList(MapListRequest listRequest, String type);
HResult deleteById(int id, int userId, String userName);
} }
...@@ -37,6 +37,7 @@ import com.house365.ws.beans.request.MapListRequest; ...@@ -37,6 +37,7 @@ import com.house365.ws.beans.request.MapListRequest;
import com.house365.ws.beans.response.CustomerListResponse; import com.house365.ws.beans.response.CustomerListResponse;
import com.house365.ws.beans.response.CustomerResponse; import com.house365.ws.beans.response.CustomerResponse;
import com.house365.ws.beans.response.MapListResponse; import com.house365.ws.beans.response.MapListResponse;
import com.house365.ws.beans.util.HResult;
import com.house365.ws.cached.RedisUtilsInterface; import com.house365.ws.cached.RedisUtilsInterface;
import com.house365.ws.dao.mapper.*; import com.house365.ws.dao.mapper.*;
import com.house365.ws.interfaces.server.ICustomer; import com.house365.ws.interfaces.server.ICustomer;
...@@ -142,6 +143,8 @@ public class CustomerImpl implements ICustomer { ...@@ -142,6 +143,8 @@ public class CustomerImpl implements ICustomer {
private CloudCustomerMapper cloudCustomerMapper; private CloudCustomerMapper cloudCustomerMapper;
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
@Autowired
private DepartMapper departMapper;
@Value("${crm.sync.url}") @Value("${crm.sync.url}")
...@@ -392,7 +395,6 @@ public class CustomerImpl implements ICustomer { ...@@ -392,7 +395,6 @@ public class CustomerImpl implements ICustomer {
if (inOtherUser.length() > 0) { if (inOtherUser.length() > 0) {
msg += "客户" + inCurrentUser.toString() + "已存在于当前帐号下"; msg += "客户" + inCurrentUser.toString() + "已存在于当前帐号下";
// msg += "<hr/>客户" + inOtherUser.toString() + "已存在于他人帐号下";
} }
} }
...@@ -3080,6 +3082,22 @@ public class CustomerImpl implements ICustomer { ...@@ -3080,6 +3082,22 @@ public class CustomerImpl implements ICustomer {
return response; return response;
} }
@Override
public HResult deleteById(int id, int userId, String userName) {
HResult result = new HResult();
CustomerEntity customer = customerMapper.queryById(id);
if (null == customer.getManagerId()) {
customer.setIsDelete(1);
customerService.update(customer);
//新增客户删除日志
logUtils.saveCustomerLog(customer, 3, userId, userName);
} else {
result.setStatus(500);
result.setErrorMessage("客户未回公海,不能删除");
}
return result;
}
/** /**
* 以下均为自动生成 * 以下均为自动生成
*/ */
......
...@@ -73,7 +73,6 @@ public class GetOnlineLogImpl implements IGetOnlineLog { ...@@ -73,7 +73,6 @@ public class GetOnlineLogImpl implements IGetOnlineLog {
String endTime = time + " 23:59:59"; String endTime = time + " 23:59:59";
searchMap.put("startTime", startTime); searchMap.put("startTime", startTime);
searchMap.put("endTime", endTime); searchMap.put("endTime", endTime);
// searchMap.put("order", 1);
searchMap.put("userId", u.getId()); searchMap.put("userId", u.getId());
List<OnlineLogEntity> logList = logMapper.queryByConditions(searchMap); List<OnlineLogEntity> logList = logMapper.queryByConditions(searchMap);
if (CollectionUtils.isNotEmpty(logList)) { if (CollectionUtils.isNotEmpty(logList)) {
......
...@@ -912,6 +912,11 @@ ...@@ -912,6 +912,11 @@
(manager_id in ($searchFilters.userIds.value$) ) (manager_id in ($searchFilters.userIds.value$) )
]]> ]]>
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend="AND" property="searchFilters.deptManagerId">
<![CDATA[
(manager_id in ($searchFilters.deptManagerId.value$) )
]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchFilters.customerIds"> <isNotEmpty prepend="AND" property="searchFilters.customerIds">
<![CDATA[ <![CDATA[
(id in ($searchFilters.customerIds.value$) ) (id in ($searchFilters.customerIds.value$) )
......
...@@ -36,6 +36,9 @@ ...@@ -36,6 +36,9 @@
<if test="name != null and name != ''"> <if test="name != null and name != ''">
AND name = #{name} AND name = #{name}
</if> </if>
<if test="likeName != null and likeName != ''">
AND name LIKE CONCAT('',#{likeName},'%')
</if>
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -150,6 +150,12 @@ ...@@ -150,6 +150,12 @@
<if test="deptId != null and deptId >= 0 "> <if test="deptId != null and deptId >= 0 ">
AND deptId = #{deptId} AND deptId = #{deptId}
</if> </if>
<if test="deptIdList != null and deptIdList.size() > 0 ">
AND deptId in
<foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="order != null and order > 0 "> <if test="order != null and order > 0 ">
ORDER BY name ASC ORDER BY name ASC
</if> </if>
......
...@@ -912,6 +912,11 @@ ...@@ -912,6 +912,11 @@
(manager_id in ($searchFilters.userIds.value$) ) (manager_id in ($searchFilters.userIds.value$) )
]]> ]]>
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend="AND" property="searchFilters.deptManagerId">
<![CDATA[
(manager_id in ($searchFilters.deptManagerId.value$) )
]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchFilters.customerIds"> <isNotEmpty prepend="AND" property="searchFilters.customerIds">
<![CDATA[ <![CDATA[
(id in ($searchFilters.customerIds.value$) ) (id in ($searchFilters.customerIds.value$) )
......
...@@ -36,6 +36,9 @@ ...@@ -36,6 +36,9 @@
<if test="name != null and name != ''"> <if test="name != null and name != ''">
AND name = #{name} AND name = #{name}
</if> </if>
<if test="likeName != null and likeName != ''">
AND name LIKE CONCAT('',#{likeName},'%')
</if>
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -150,6 +150,12 @@ ...@@ -150,6 +150,12 @@
<if test="deptId != null and deptId >= 0 "> <if test="deptId != null and deptId >= 0 ">
AND deptId = #{deptId} AND deptId = #{deptId}
</if> </if>
<if test="deptIdList != null and deptIdList.size() > 0 ">
AND deptId in
<foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="order != null and order > 0 "> <if test="order != null and order > 0 ">
ORDER BY name ASC ORDER BY name ASC
</if> </if>
......
...@@ -912,6 +912,11 @@ ...@@ -912,6 +912,11 @@
(manager_id in ($searchFilters.userIds.value$) ) (manager_id in ($searchFilters.userIds.value$) )
]]> ]]>
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend="AND" property="searchFilters.deptManagerId">
<![CDATA[
(manager_id in ($searchFilters.deptManagerId.value$) )
]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchFilters.customerIds"> <isNotEmpty prepend="AND" property="searchFilters.customerIds">
<![CDATA[ <![CDATA[
(id in ($searchFilters.customerIds.value$) ) (id in ($searchFilters.customerIds.value$) )
......
...@@ -36,6 +36,9 @@ ...@@ -36,6 +36,9 @@
<if test="name != null and name != ''"> <if test="name != null and name != ''">
AND name = #{name} AND name = #{name}
</if> </if>
<if test="likeName != null and likeName != ''">
AND name LIKE CONCAT('',#{likeName},'%')
</if>
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -150,6 +150,12 @@ ...@@ -150,6 +150,12 @@
<if test="deptId != null and deptId >= 0 "> <if test="deptId != null and deptId >= 0 ">
AND deptId = #{deptId} AND deptId = #{deptId}
</if> </if>
<if test="deptIdList != null and deptIdList.size() > 0 ">
AND deptId in
<foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="order != null and order > 0 "> <if test="order != null and order > 0 ">
ORDER BY name ASC ORDER BY name ASC
</if> </if>
......
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