|
|
|
@ -10,13 +10,28 @@ import java.util.Map.Entry;
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.kiisoo.ic.app.IcApplication;
|
|
|
|
|
import com.kiisoo.ic.common.utils.MD5FileUtil;
|
|
|
|
|
import com.kiisoo.ic.employee.entity.PrivilageCpUserDO;
|
|
|
|
|
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
|
|
|
|
|
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
|
|
|
|
|
import com.kiisoo.ic.generalize.entity.PrivilageOrganizationalMember;
|
|
|
|
|
import com.kiisoo.ic.generalize.mapper.OrganizationalMemberMapper;
|
|
|
|
|
import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper;
|
|
|
|
|
import com.kiisoo.ic.store.entity.PoiStore;
|
|
|
|
|
import com.kiisoo.ic.store.entity.PoiStoreStaff;
|
|
|
|
|
import com.kiisoo.ic.store.entity.PrivilageCpUserStoreDO;
|
|
|
|
|
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.service.PoiStoreStaffService;
|
|
|
|
|
import com.kiisoo.ic.system.entity.PrivilageAccountDO;
|
|
|
|
|
import com.kiisoo.ic.system.entity.PrivilageUserDO;
|
|
|
|
|
import com.kiisoo.ic.system.entity.PrivilageUserRoleDO;
|
|
|
|
|
import com.kiisoo.ic.system.mapper.PrivilageAccountDOMapper;
|
|
|
|
|
import com.kiisoo.ic.system.mapper.PrivilageRoleDOMapper;
|
|
|
|
|
import com.kiisoo.ic.system.mapper.PrivilageUserDOMapper;
|
|
|
|
|
import com.kiisoo.ic.system.mapper.PrivilageUserRoleDOMapper;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
|
|
|
import org.apache.poi.ss.usermodel.DateUtil;
|
|
|
|
@ -38,8 +53,9 @@ import org.springframework.test.context.junit4.SpringRunner;
|
|
|
|
|
@RunWith(SpringRunner.class)
|
|
|
|
|
@SpringBootTest(classes = IcApplication.class)
|
|
|
|
|
public class OrganizationInit {
|
|
|
|
|
static String sellerPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\初始人员数据20200422.xlsx";
|
|
|
|
|
static String[] sellerColumns= {"店铺","店铺编码","userid","姓名","账号","别名","职务","性别","手机","座机","个人邮箱","地址"};
|
|
|
|
|
static String sellerPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\初始人员数据20200424(1).xlsx";
|
|
|
|
|
//有组织编码为零售公司,角色为总部运营人员, 有别名店长,其他的为导购,
|
|
|
|
|
static String[] sellerColumns= {"pos店铺编码","组织编码","店铺名","姓名","账号","别名","角色"};
|
|
|
|
|
|
|
|
|
|
static String filePath = null;
|
|
|
|
|
static String columns[] = null;
|
|
|
|
@ -66,6 +82,24 @@ public class OrganizationInit {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PrivilageUserDOMapper privilageUserDOMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PrivilageCpUserDOMapper privilageCpUserDOMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private OrganizationalMemberMapper organizationalMemberMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private RetailCompanyMapper retailCompanyMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PrivilageUserRoleDOMapper privilageUserRoleDOMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PrivilageAccountDOMapper privilageAccountDOMapper;
|
|
|
|
|
/**
|
|
|
|
|
* 入库
|
|
|
|
|
*/
|
|
|
|
@ -134,45 +168,116 @@ public class OrganizationInit {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//增加导购
|
|
|
|
|
PoiStoreStaff p = new PoiStoreStaff();
|
|
|
|
|
p.setStoreId(shopId);
|
|
|
|
|
p.setUserId(us.getId());
|
|
|
|
|
p.setStoreCode(v.getShopCode());
|
|
|
|
|
p.setStaffCode(sellerCode);
|
|
|
|
|
p.setType(getType(v.getPosition()));
|
|
|
|
|
p.setStatus(1l);
|
|
|
|
|
p.setCreateTime(new Date());
|
|
|
|
|
p.setUpdateTime(new Date());
|
|
|
|
|
if(v.getCustomerUserId() != null && !v.getCustomerUserId().equals("mal")){
|
|
|
|
|
p.setCustomerUserId(Long.parseLong(v.getCustomerUserId()));
|
|
|
|
|
long statffType = getStaffType(v);
|
|
|
|
|
if (statffType == 1 || statffType == 4) {
|
|
|
|
|
//店涨,导购需要加staff
|
|
|
|
|
PoiStoreStaff p = new PoiStoreStaff();
|
|
|
|
|
p.setStoreId(shopId);
|
|
|
|
|
p.setUserId(us.getId());
|
|
|
|
|
p.setStoreCode(v.getShopCode());
|
|
|
|
|
p.setStaffCode(sellerCode);
|
|
|
|
|
p.setType(statffType);
|
|
|
|
|
p.setStatus(1l);
|
|
|
|
|
p.setCreateTime(new Date());
|
|
|
|
|
p.setUpdateTime(new Date());
|
|
|
|
|
if(v.getCustomerUserId() != null && !v.getCustomerUserId().equals("mal")){
|
|
|
|
|
p.setCustomerUserId(Long.parseLong(v.getCustomerUserId()));
|
|
|
|
|
}
|
|
|
|
|
poiStoreStaffDOMapper.insert(p);
|
|
|
|
|
|
|
|
|
|
//如果是店长,需要绑定店铺cp
|
|
|
|
|
if (statffType == 1) {
|
|
|
|
|
//排重---根据企业微信账号查询是否存在用户
|
|
|
|
|
PrivilageCpUserDO privilageCpUserDO = new PrivilageCpUserDO();
|
|
|
|
|
privilageCpUserDO.setCpUserId(v.getCustomerUserId());
|
|
|
|
|
int insert = privilageCpUserDOMapper.insert(privilageCpUserDO);
|
|
|
|
|
PrivilageCpUserStoreDO cpUserStore = new PrivilageCpUserStoreDO();
|
|
|
|
|
cpUserStore.setStoreId(shopId);
|
|
|
|
|
cpUserStore.setCpUserId(privilageCpUserDO.getId());
|
|
|
|
|
privilageCpUserStoreDOMapper.insert(cpUserStore);
|
|
|
|
|
}
|
|
|
|
|
}else if(statffType == 9){
|
|
|
|
|
//零售公司
|
|
|
|
|
//绑定用户和零售公司
|
|
|
|
|
QueryWrapper<PrivilageOrganizational> q = new QueryWrapper<>();
|
|
|
|
|
q.eq("code",v.getCompanyCode().replace(".0",""));
|
|
|
|
|
PrivilageOrganizational comp = retailCompanyMapper.selectOne(q);
|
|
|
|
|
if (comp!=null) {
|
|
|
|
|
PrivilageOrganizationalMember mem = new PrivilageOrganizationalMember();
|
|
|
|
|
mem.setOrgId(comp.getId());
|
|
|
|
|
mem.setUserId(us.getId());
|
|
|
|
|
mem.setCreateTime(new Date());
|
|
|
|
|
mem.setUpdateTime(new Date());
|
|
|
|
|
organizationalMemberMapper.insert(mem);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
poiStoreStaffDOMapper.insert(p);
|
|
|
|
|
|
|
|
|
|
//不管什么类型都要绑定角色
|
|
|
|
|
PrivilageUserRoleDO privilageUserRoleDO = new PrivilageUserRoleDO();
|
|
|
|
|
privilageUserRoleDO.setUserId(us.getId());
|
|
|
|
|
privilageUserRoleDO.setRoleId(getRoleType(v));
|
|
|
|
|
privilageUserRoleDO.setCreateTime(new Date());
|
|
|
|
|
privilageUserRoleDO.setUpdateTime(new Date());
|
|
|
|
|
privilageUserRoleDOMapper.insert(privilageUserRoleDO);
|
|
|
|
|
//创建账号,密码为账号加123
|
|
|
|
|
PrivilageAccountDO acc = new PrivilageAccountDO();
|
|
|
|
|
acc.setLogin(v.getAccount());
|
|
|
|
|
acc.setPassword(MD5FileUtil.getMD5String(v.getAccount()+"123"));
|
|
|
|
|
acc.setUserId(us.getId());
|
|
|
|
|
acc.setType(1);
|
|
|
|
|
acc.setStatus(1);
|
|
|
|
|
acc.setCreateTime(new Date());
|
|
|
|
|
acc.setUpdateTime(new Date());
|
|
|
|
|
privilageAccountDOMapper.insert(acc);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
public long getType(String position){
|
|
|
|
|
public long getStaffType(UserInitDO u){
|
|
|
|
|
//零售经理, 店长, 信息主管, 零售主管, 店助, 导购, 店员, 已离职, PO
|
|
|
|
|
//1 店长 2 副店长 3 店长助理 4 导购 5零售经理 6信息主管 7店员 8PO 9零售主管 10已离职 11未定义
|
|
|
|
|
long type = 0;
|
|
|
|
|
if(position == null){
|
|
|
|
|
type = 11;
|
|
|
|
|
}else if(position.equals("零售经理")) {
|
|
|
|
|
type = 5;
|
|
|
|
|
}else if(position.equals("店长")){
|
|
|
|
|
type = 1;
|
|
|
|
|
}else if(position.equals("信息主管")){
|
|
|
|
|
type = 6;
|
|
|
|
|
}else if(position.equals("零售主管")){
|
|
|
|
|
String al = u.getAlias();
|
|
|
|
|
String role = u.getRole();
|
|
|
|
|
String compnayCode = u.getCompanyCode();
|
|
|
|
|
if(StringUtils.isNotBlank(compnayCode)){
|
|
|
|
|
//零售公司
|
|
|
|
|
type = 9;
|
|
|
|
|
}else if(position.equals("店助")){
|
|
|
|
|
type = 3;
|
|
|
|
|
}else if(position.equals("导购")){
|
|
|
|
|
}else if(role.equals("总部运营人员")) {
|
|
|
|
|
//总部运营
|
|
|
|
|
|
|
|
|
|
}else if(al != null){
|
|
|
|
|
//店长
|
|
|
|
|
type = 1;
|
|
|
|
|
}else{
|
|
|
|
|
//导购
|
|
|
|
|
type = 4;
|
|
|
|
|
}else if(position.equals("店员")){
|
|
|
|
|
type = 7;
|
|
|
|
|
}else if(position.equals("已离职")){
|
|
|
|
|
type = 10;
|
|
|
|
|
}else if(position.contains("PO")){
|
|
|
|
|
type = 8;
|
|
|
|
|
}
|
|
|
|
|
return type;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public long getRoleType(UserInitDO u){
|
|
|
|
|
//零售经理, 店长, 信息主管, 零售主管, 店助, 导购, 店员, 已离职, PO
|
|
|
|
|
//1 店长 2 副店长 3 店长助理 4 导购 5零售经理 6信息主管 7店员 8PO 9零售主管 10已离职 11未定义
|
|
|
|
|
// 1 GLY-ADMIN 系统管理员
|
|
|
|
|
// 2 GL-YUNYING 总部运营人员
|
|
|
|
|
// 3 DG-YUNYING 运营人员
|
|
|
|
|
// 5 DZ-DIANZHANG 店长
|
|
|
|
|
// 6 DG-DAOGOU 导购
|
|
|
|
|
long type = 0;
|
|
|
|
|
String al = u.getAlias();
|
|
|
|
|
String role = u.getRole();
|
|
|
|
|
String compnayCode = u.getCompanyCode();
|
|
|
|
|
if(StringUtils.isNotBlank(compnayCode)){
|
|
|
|
|
//零售公司
|
|
|
|
|
type = 3;
|
|
|
|
|
}else if(role.equals("总部运营人员")) {
|
|
|
|
|
//总部运营
|
|
|
|
|
type = 2;
|
|
|
|
|
}else if(al != null){
|
|
|
|
|
//店长
|
|
|
|
|
type = 5;
|
|
|
|
|
}else{
|
|
|
|
|
//导购
|
|
|
|
|
type = 6;
|
|
|
|
|
}
|
|
|
|
|
return type;
|
|
|
|
|
}
|
|
|
|
|