添加组织和店铺的接口。

dev_0531
kevin jiang 6 years ago
parent 21239ba73b
commit 9acb88ed69

@ -0,0 +1,16 @@
package com.kiisoo.ic.common;
import lombok.Data;
@Data
public class KiisooException extends Exception {
private String msg;
private String code;
public KiisooException(String msg, String code) {
this.msg = msg;
this.code = code;
}
}

@ -103,4 +103,22 @@ public class Constants {
add("DG-DAOGOU");
}
};
public static final String MSG_ORGANIZATIONAL_HAS = "已存在组织";
public static final String CODE_ORGANIZATIONAL_HAS = "3001";
public static final String MSG_STORE_HAS = "已存在店铺";
public static final String CODE_STORE_HAS = "3002";
public static final String MSG_ORGANIZATIONAL_NO = "不存在对应客户";
public static final String CODE_ORGANIZATIONAL_NO = "3003";
public static final String MSG_DOMAIN_ENTITY_HAS = "已存在对应关系";
public static final String CODE_DOMAIN_ENTITY_HAS = "3004";
}

@ -0,0 +1,15 @@
package com.kiisoo.ic.store.bean;
import com.kiisoo.ic.store.entity.PoiStore;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class PoiStoreVO extends PoiStore {
private String customerName;
private String customerCode;
}

@ -2,9 +2,11 @@ package com.kiisoo.ic.store.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kiisoo.ic.common.BaseController;
import com.kiisoo.ic.common.KiisooException;
import com.kiisoo.ic.employee.entity.EmployeeDO;
import com.kiisoo.ic.employee.entity.PrivilageCpUserDO;
import com.kiisoo.ic.employee.service.EmployeeService;
import com.kiisoo.ic.store.bean.PoiStoreVO;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import com.kiisoo.ic.store.entity.PoiStoreStaffVO;
import com.kiisoo.ic.store.service.PoiStoreStaffService;
@ -196,4 +198,38 @@ public class StoreStaffController extends BaseController {
}
}
/**
*
* @author dexiang.jiang
* @date 2020/05/20 14:52
*/
@RequestMapping(value = "/company/add",method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> companyAdd(@RequestParam("name") String name, @RequestParam("code") String code, @RequestParam("parentId") Long parentId, @RequestParam("level") Long level) {
try {
boolean b = storeEmployeeService.addOrganizational(name,code, parentId, level);
return data(b);
} catch (KiisooException e) {
log.error("添加组织", e);
return fail(e.getCode(),e.getMsg());
}
}
/**
*
* @author dexiang.jiang
* @date 2020/05/20 13:55
*/
@RequestMapping(value = "/store/add",method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> addStore(PoiStoreVO parentId) {
try {
boolean b = storeEmployeeService.addStore(parentId);
return data(b);
} catch (KiisooException e) {
log.error("添加组织", e);
return fail(e.getCode(),e.getMsg());
}
}
}

@ -5,14 +5,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.kiisoo.aegis.common.faces.util.HttpUtil;
import com.kiisoo.ic.common.KiisooException;
import com.kiisoo.ic.common.utils.ExcelUtils;
import com.kiisoo.ic.common.utils.MD5FileUtil;
import com.kiisoo.ic.common.utils.httpClientUtil.HttpClientUtil;
import com.kiisoo.ic.constants.Constants;
import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation;
import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper;
import com.kiisoo.ic.customer.service.CustomerViewService;
import com.kiisoo.ic.department.entity.DepartmentDO;
import com.kiisoo.ic.department.mapper.PrivilageDepartmentDOMapper;
import com.kiisoo.ic.domain.entity.PrivilageDomainDO;
import com.kiisoo.ic.domain.entity.PrivilageDomainEntityDO;
import com.kiisoo.ic.domain.mapper.PrivilageDomainDOMapper;
import com.kiisoo.ic.domain.mapper.PrivilageDomainEntityDOMapper;
import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.employee.entity.EmployeeDO;
@ -21,11 +26,14 @@ import com.kiisoo.ic.employee.entity.PrivilageCpUserDO;
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
import com.kiisoo.ic.employee.service.EmployeeService;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizationalDomain;
import com.kiisoo.ic.generalize.mapper.PrivilageOrganizationalDomainMapper;
import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper;
import com.kiisoo.ic.generalize.service.RetailCompanyService;
import com.kiisoo.ic.store.bean.BsdShareCodeResponse;
import com.kiisoo.ic.store.bean.CpUserExcelDTO;
import com.kiisoo.ic.store.bean.PoiStoreStaffDTO;
import com.kiisoo.ic.store.bean.PoiStoreVO;
import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import com.kiisoo.ic.store.entity.StoreUserDTO;
@ -35,6 +43,7 @@ import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper;
import com.kiisoo.ic.utils.ZipUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@ -48,6 +57,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.imageio.ImageIO;
@ -103,13 +113,27 @@ public class StoreEmployeeService {
@Autowired
private OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper;
/**
*
*/
@Autowired
private RetailCompanyService retailCompanyService;
/**
* service
*/
@Autowired
private CustomerViewService customerViewService;
/**
*
*/
@Autowired
private PrivilageOrganizationalDomainMapper privilageOrganizationalDomainMapper;
@Autowired
private PrivilageDomainDOMapper privilageDomainDOMapper;
@Value("${bsd.qrCode}")
private String qrCodeBsdUrl;
@ -924,4 +948,121 @@ public class StoreEmployeeService {
}
return bsdResponse.getSuccess();
}
/**
*
* @param name
* @param code
* @author dexiang.jiang
* @date 2020/05/20 14:57
*/
public boolean addOrganizational(String name, String code, Long parentId, Long level) throws KiisooException {
Map<String, Object> map = new HashMap<>();
map.put("name", name);
map.put("code", code);
map.put("level", level);
List<PrivilageOrganizational> list = retailCompanyMapper.selectByMap(map);
if(CollectionUtils.isNotEmpty(list) && list.size() > 0){
throw new KiisooException(Constants.MSG_ORGANIZATIONAL_HAS, Constants.CODE_ORGANIZATIONAL_HAS);
}
PrivilageOrganizational entity = new PrivilageOrganizational();
entity.setName(name);
entity.setCode(code);
entity.setParentId(parentId);
entity.setLevel(level);
entity.setStatus(1L);
entity.setType(1L);
entity.setCreateBy(Constants.SYS_OPERATION);
entity.setUpdateBy(Constants.SYS_OPERATION);
entity.setCreateTime(new Date());
entity.setUpdateTime(new Date());
int b = retailCompanyMapper.insert(entity);
if(level == 3){
//添加客户多了2步骤
Map<String, Object> domainEntityMap = new HashMap<>();
domainEntityMap.put("name", name);
List<PrivilageDomainDO> domainList = privilageDomainDOMapper.selectByMap(domainEntityMap);
if(domainList.size() > 1){
throw new KiisooException(Constants.MSG_DOMAIN_ENTITY_HAS, Constants.CODE_DOMAIN_ENTITY_HAS);
}
//添加域
PrivilageDomainDO domainEntity = new PrivilageDomainDO();
domainEntity.setName(name);
domainEntity.setStatus(1);
domainEntity.setCreateTime(new Date());
domainEntity.setUpdateTime(new Date());
domainEntity.setCreateBy(Constants.SYS_OPERATION);
domainEntity.setUpdateBy(Constants.SYS_OPERATION);
int b2 = privilageDomainDOMapper.insert(domainEntity);
//添加域和组织的关系
PrivilageOrganizationalDomain orgDomainEntity = new PrivilageOrganizationalDomain();
orgDomainEntity.setOrgId(entity.getId());
orgDomainEntity.setDomainId(domainEntity.getId());
int b3 = privilageOrganizationalDomainMapper.insert(orgDomainEntity);
return (b + b2 + b3) == 3;
}else{
return b > 0;
}
}
/**
*
* @param poiStore
* @return true false
* @throws KiisooException
*/
@Transactional(rollbackFor = Exception.class)
public boolean addStore(PoiStoreVO poiStore) throws KiisooException {
Map<String, Object> map = new HashMap<>();
map.put("code", poiStore.getCode());
List<PoiStore> list = poiStoreDOMapper.selectByMap(map);
if(CollectionUtils.isNotEmpty(list) && list.size() > 1){
throw new KiisooException(Constants.MSG_STORE_HAS, Constants.CODE_STORE_HAS);
}
int b = poiStoreDOMapper.insert(poiStore);
//查看是否有客户
PrivilageOrganizational p = new PrivilageOrganizational();
p.setName(poiStore.getCustomerName());
p.setLevel(3L);
PrivilageOrganizational parent = retailCompanyMapper.selectOne(new QueryWrapper<>(p));
if (null == parent) {
throw new KiisooException(Constants.MSG_ORGANIZATIONAL_NO, Constants.CODE_ORGANIZATIONAL_NO);
}
Map<String, Object> domainMap = new HashMap<>();
domainMap.put("name", poiStore.getCustomerName());
domainMap.put("code", poiStore.getCustomerCode());
List<PrivilageDomainDO> domainList = privilageDomainDOMapper.selectByMap(domainMap);
if(CollectionUtils.isEmpty(domainList)){
throw new KiisooException(Constants.MSG_ORGANIZATIONAL_NO, Constants.CODE_ORGANIZATIONAL_NO);
}
PrivilageDomainDO domain = domainList.get(0);
//找到区域域
Map<String, Object> domainEntityMap = new HashMap<>();
domainEntityMap.put("entity_id", poiStore.getId());
List<PrivilageDomainEntityDO> domainEntityList = privilageDomainEntityDOMapper.selectByMap(domainEntityMap);
if (domainEntityList.size() > 1) {
throw new KiisooException(Constants.MSG_DOMAIN_ENTITY_HAS, Constants.CODE_DOMAIN_ENTITY_HAS);
}
PrivilageDomainEntityDO privilageDomainEntityDO = new PrivilageDomainEntityDO();
privilageDomainEntityDO.setDomainId(domain.getId());
privilageDomainEntityDO.setEntityId(poiStore.getId());
privilageDomainEntityDO.setType(3);
privilageDomainEntityDO.setCreateTime(new Date());
privilageDomainEntityDO.setUpdateTime(new Date());
privilageDomainEntityDO.setCreateBy(Constants.SYS_OPERATION);
privilageDomainEntityDO.setUpdateBy(Constants.SYS_OPERATION);
int b2 = privilageDomainEntityDOMapper.insert(privilageDomainEntityDO);
return (b+b2) == 2;
}
}

Loading…
Cancel
Save