213 lines
6.4 KiB
Java
Raw Normal View History

2024-01-23 16:42:27 +08:00
package com.ics.admin.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import com.ics.admin.domain.Customer;
import com.ics.admin.domain.IcsCustomerStaff;
2024-01-23 16:42:27 +08:00
import com.ics.admin.service.ICustomerService;
import com.ics.admin.service.IIcsCustomerStaffService;
import com.ics.common.constant.Constants;
2024-01-23 16:42:27 +08:00
import com.ics.common.core.controller.BaseController;
import com.ics.common.core.domain.R;
import com.ics.common.utils.ValidatorUtils;
import com.ics.common.utils.http.HttpUtils;
import com.ics.system.domain.User;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.wf.jwtp.annotation.RequiresPermissions;
import java.util.List;
import java.util.Map;
/**
* 客户管理 提供者
*
* @author zzm
* @date 2020-10-16
*/
@RestController
@RequestMapping("admin/customer")
public class CustomerController extends BaseController {
@Autowired
private ICustomerService customerService;
@Autowired
private IIcsCustomerStaffService icsCustomerStaffService;
2024-01-23 16:42:27 +08:00
/**
* app的key值
*/
@Value("${qixin.appKey}")
private String appKey;
/**
* app的密钥值
*/
@Value("${qixin.secretKey}")
private String secretKey;
/**
* url
*/
@Value("${qixin.url}")
private String url;
/**
* 调用启信api获取企业照面
*/
@RequiresPermissions("admin:customer:view")
@PostMapping("getBasicInfo")
public R getQiXinBasicInfo(String keyword) {
String qiXinBasicInfo = HttpUtils.sendGet(url, "appkey=" + appKey + "&secret_key=" + secretKey + "&keyword=" + keyword);
JSONObject result = (JSONObject) JSON.parse(qiXinBasicInfo);
// 启信宝的接口返回成功码-200
String SUCCESS_CODE = "200";
if (result != null) {
String status = result.get("status").toString();
if (SUCCESS_CODE.equals(status)) {
return R.data(result.get("data").toString());
} else {
return R.error(result.get("message").toString());
}
}
return R.error("无当前企业数据!");
}
/**
* 查询${tableComment}
*/
@RequiresPermissions("admin:customer:view")
@GetMapping("get/{id}")
public Customer get(@PathVariable("id") Long id) {
return customerService.selectCustomerById(id);
}
/**
* 查询客户管理列表
*/
@RequiresPermissions("admin:customer:list")
@GetMapping("list")
public R list(Customer customer) {
startPage();
customer.setDeleteFlag(0);
return result(customerService.selectCustomerList(customer));
}
/**
* 合同查询客户管理列表
*/
@RequiresPermissions("admin:customer:list")
@GetMapping("allList")
public R allList(Customer customer) {
List<Customer> customerList = customerService.selectCustomerList(customer);
List<Map> customerMaps = Lists.newArrayList();
for (Customer item : customerList) {
Map<String, Object> customerMap = Maps.newHashMap();
getCustomerMap(customerMap, item);
customerMaps.add(customerMap);
}
return R.data(customerMaps);
}
/**
* 合同根据客户id查询客户部分信息
*/
@RequiresPermissions("admin:customer:view")
@GetMapping("findByCustomerId")
public R findByCustomerId(Long customerId) {
Map<String, Object> customerMap = Maps.newHashMap();
Customer customer = customerService.selectCustomerById(customerId);
getCustomerMap(customerMap, customer);
return R.data(customerMap);
}
/**
* 合同获取客户的部分信息
*/
private void getCustomerMap(Map<String, Object> customerMap, Customer customer) {
customerMap.put("id", customer.getId());
customerMap.put("name", customer.getName());
customerMap.put("sector", customer.getSector());
customerMap.put("creditNo", customer.getCreditNo());
customerMap.put("mail", customer.getMailAddress());
customerMap.put("operName", customer.getOperName());
customerMap.put("phone", customer.getPhone());
customerMap.put("address", customer.getAddress());
customerMap.put("channelName", customer.getChannelName());
}
/**
* 新增保存客户管理
*/
@RequiresPermissions("admin:customer:add")
@PostMapping("save")
public R addSave(@RequestBody Customer customer) {
if (User.isAdmin(getCurrentUserId())) {
return R.error("不允许超级管理员用户新增");
}
ValidatorUtils.validateEntity(customer);
customer.setCreateBy(getLoginName());
return toAjax(customerService.insertCustomer(customer));
}
/**
* 修改保存客户管理
*/
@RequiresPermissions("admin:customer:edit")
@PostMapping("update")
public R editSave(@RequestBody Customer customer) {
if (User.isAdmin(getCurrentUserId())) {
return R.error("不允许超级管理员用户修改");
}
ValidatorUtils.validateEntity(customer);
customer.setUpdateBy(getLoginName());
return toAjax(customerService.updateCustomer(customer));
}
/**
* 删除${tableComment}
*/
@RequiresPermissions("admin:customer:remove")
@PostMapping("remove")
public R remove(String ids) {
return toAjax(customerService.deleteCustomerByIds(ids));
}
/**
* 查询访客列表
* @param icsCustomerStaff
* @return
*/
@RequiresPermissions("admin:customer:visit")
@GetMapping("visitList")
public R visitList(IcsCustomerStaff icsCustomerStaff) {
startPage();
icsCustomerStaff.setDataType(Constants.CUSTOMER_VISIT);
return result(icsCustomerStaffService.selectIcsCustomerStaffList(icsCustomerStaff));
}
/**
* 查询企业员工列表
* @param icsCustomerStaff
* @return
*/
@RequiresPermissions("admin:customer:staff")
@GetMapping("staffList")
public R staffList(IcsCustomerStaff icsCustomerStaff) {
startPage();
icsCustomerStaff.setDataType(Constants.CUSTOMER_STAFF);
return result(icsCustomerStaffService.selectIcsCustomerStaffList(icsCustomerStaff));
}
}