店铺对应的推广用户

master
wangweijia 6 years ago
parent a072af5084
commit 1f277b80fe

@ -21,6 +21,11 @@ public class PrivilageOrganizational {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private Long id; private Long id;
/**
*
*/
private String code;
/** /**
* *
*/ */

@ -10,13 +10,28 @@ import java.util.Map.Entry;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kiisoo.ic.app.IcApplication; 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.PoiStore;
import com.kiisoo.ic.store.entity.PoiStoreStaff; 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.PoiStoreDOMapper;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper; 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.store.service.PoiStoreStaffService;
import com.kiisoo.ic.system.entity.PrivilageAccountDO;
import com.kiisoo.ic.system.entity.PrivilageUserDO; 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.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.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.DateUtil;
@ -38,8 +53,9 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = IcApplication.class) @SpringBootTest(classes = IcApplication.class)
public class OrganizationInit { public class OrganizationInit {
static String sellerPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\初始人员数据20200422.xlsx"; static String sellerPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\初始人员数据20200424(1).xlsx";
static String[] sellerColumns= {"店铺","店铺编码","userid","姓名","账号","别名","职务","性别","手机","座机","个人邮箱","地址"}; //有组织编码为零售公司,角色为总部运营人员, 有别名店长,其他的为导购,
static String[] sellerColumns= {"pos店铺编码","组织编码","店铺名","姓名","账号","别名","角色"};
static String filePath = null; static String filePath = null;
static String columns[] = null; static String columns[] = null;
@ -66,6 +82,24 @@ public class OrganizationInit {
@Autowired @Autowired
private PrivilageUserDOMapper privilageUserDOMapper; 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,12 +168,15 @@ public class OrganizationInit {
} }
//增加导购 //增加导购
long statffType = getStaffType(v);
if (statffType == 1 || statffType == 4) {
//店涨导购需要加staff
PoiStoreStaff p = new PoiStoreStaff(); PoiStoreStaff p = new PoiStoreStaff();
p.setStoreId(shopId); p.setStoreId(shopId);
p.setUserId(us.getId()); p.setUserId(us.getId());
p.setStoreCode(v.getShopCode()); p.setStoreCode(v.getShopCode());
p.setStaffCode(sellerCode); p.setStaffCode(sellerCode);
p.setType(getType(v.getPosition())); p.setType(statffType);
p.setStatus(1l); p.setStatus(1l);
p.setCreateTime(new Date()); p.setCreateTime(new Date());
p.setUpdateTime(new Date()); p.setUpdateTime(new Date());
@ -147,32 +184,100 @@ public class OrganizationInit {
p.setCustomerUserId(Long.parseLong(v.getCustomerUserId())); p.setCustomerUserId(Long.parseLong(v.getCustomerUserId()));
} }
poiStoreStaffDOMapper.insert(p); 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);
}
}
//不管什么类型都要绑定角色
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 //零售经理, 店长, 信息主管, 零售主管, 店助, 导购, 店员, 已离职, PO
//1 店长 2 副店长 3 店长助理 4 导购 5零售经理 6信息主管 7店员 8PO 9零售主管 10已离职 11未定义 //1 店长 2 副店长 3 店长助理 4 导购 5零售经理 6信息主管 7店员 8PO 9零售主管 10已离职 11未定义
long type = 0; long type = 0;
if(position == null){ String al = u.getAlias();
type = 11; String role = u.getRole();
}else if(position.equals("零售经理")) { String compnayCode = u.getCompanyCode();
type = 5; if(StringUtils.isNotBlank(compnayCode)){
}else if(position.equals("店长")){ //零售公司
type = 1;
}else if(position.equals("信息主管")){
type = 6;
}else if(position.equals("零售主管")){
type = 9; type = 9;
}else if(position.equals("店助")){ }else if(role.equals("总部运营人员")) {
type = 3; //总部运营
}else if(position.equals("导购")){
}else if(al != null){
//店长
type = 1;
}else{
//导购
type = 4; type = 4;
}else if(position.equals("店员")){ }
type = 7; return type;
}else if(position.equals("已离职")){ }
type = 10;
}else if(position.contains("PO")){ public long getRoleType(UserInitDO u){
type = 8; //零售经理, 店长, 信息主管, 零售主管, 店助, 导购, 店员, 已离职, 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; return type;
} }

@ -95,6 +95,7 @@ public class OrganizationInitCompany {
if(null == parent){ if(null == parent){
System.out.println("父区域异常"); System.out.println("父区域异常");
} }
parentId = parent.getId(); parentId = parent.getId();
} }

@ -53,7 +53,7 @@ public class OrganizationInitCustomer {
maxRow = 0; maxRow = 0;
dataType = "customer"; dataType = "customer";
sheetNum = "客户"; sheetNum = "客户";
regionLevel = 1; regionLevel = 3;
} }
@Autowired @Autowired
@ -101,6 +101,9 @@ public class OrganizationInitCustomer {
PrivilageOrganizational parent = retailCompanyMapper.selectOne(new QueryWrapper<>(p)); PrivilageOrganizational parent = retailCompanyMapper.selectOne(new QueryWrapper<>(p));
if(null == parent){ if(null == parent){
System.out.println("父区域异常"); System.out.println("父区域异常");
}else if(parent.getCode() == null){
parent.setCode(v.getParentCode().replace(".0",""));
retailCompanyMapper.updateById(parent);
} }
parentId = parent.getId(); parentId = parent.getId();
} }

@ -56,7 +56,7 @@ public class OrganizationInitRegion {
maxRow = 0; maxRow = 0;
dataType = "region"; dataType = "region";
sheetNum = 0; sheetNum = 0;
regionLevel = 3; regionLevel = 1;
} }
@Autowired @Autowired

@ -34,7 +34,7 @@ import java.util.Map.Entry;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = IcApplication.class) @SpringBootTest(classes = IcApplication.class)
public class OrganizationInitShop { public class OrganizationInitShop {
static String shopPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\组织数据20200422.xlsx"; static String shopPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\组织数据20200422 - 副本.xlsx";
static String[] shopColumns= {"上级组织","店铺编码","店铺名称","店铺简称","网点地址","网点经营性质","店铺级别"}; static String[] shopColumns= {"上级组织","店铺编码","店铺名称","店铺简称","网点地址","网点经营性质","店铺级别"};
static String filePath = null; static String filePath = null;
@ -93,7 +93,15 @@ public class OrganizationInitShop {
//区域入库 //区域入库
public void inDBRegion(){ public void inDBRegion(){
shopMap.forEach((k,v) -> { System.out.println(shopMap.size());
int i = 0;
for(String k : shopMap.keySet()){
i ++;
if(k.equals("石家庄市长安区建华百货大楼四楼波司登专厅石家庄终端")){
System.out.println("");
}
ShopInitDO v = shopMap.get(k);
//查看是否有此店铺 //查看是否有此店铺
QueryWrapper<PoiStore> qw = new QueryWrapper<>(); QueryWrapper<PoiStore> qw = new QueryWrapper<>();
qw.eq("code", v.getShopCode()); qw.eq("code", v.getShopCode());
@ -127,17 +135,23 @@ public class OrganizationInitShop {
//找到区域域 //找到区域域
PrivilageDomainDO domain = privilageDomainDOMapper.selectDomain(parentId, 1,1); PrivilageDomainDO domain = privilageDomainDOMapper.selectDomain(parentId, 1,1);
//对接域店铺关系
//找到区域店铺关系
PrivilageDomainEntityDO ent = new PrivilageDomainEntityDO(); PrivilageDomainEntityDO ent = new PrivilageDomainEntityDO();
ent.setDomainId(domain.getId()); ent.setDomainId(domain.getId());
ent.setEntityId(poiStore.getId()); ent.setEntityId(poiStore.getId());
if(privilageDomainEntityDOMapper.selectOne(new QueryWrapper<>(ent)) == null){
//对接域店铺关系
ent.setType(3); ent.setType(3);
ent.setCreateTime(new Date()); ent.setCreateTime(new Date());
ent.setUpdateTime(new Date()); ent.setUpdateTime(new Date());
privilageDomainEntityDOMapper.insert(ent); privilageDomainEntityDOMapper.insert(ent);
}else{
System.out.println("s");
}
}
} }
});
} }
public long getType(String shopType){ public long getType(String shopType){
//零售经理, 店长, 信息主管, 零售主管, 店助, 导购, 店员, 已离职, PO //零售经理, 店长, 信息主管, 零售主管, 店助, 导购, 店员, 已离职, PO

@ -41,6 +41,24 @@ public class RegionInitDO {
@JSONField(name = "上级组织") @JSONField(name = "上级组织")
private String parentName; private String parentName;
/**
*
*/
@JSONField(name = "上级组织编码")
private String upCode;
/**
*
*/
@JSONField(name = "零售公司编码")
private String companyCode;
/**
*
*/
private String parentCode;
/** /**
* *
*/ */
@ -70,4 +88,14 @@ public class RegionInitDO {
this.customerName = customerName; this.customerName = customerName;
this.name = customerName; this.name = customerName;
} }
public void setUpCode(String upCode) {
this.upCode = upCode;
this.parentCode = upCode;
}
public void setCompanyCode(String companyCode) {
this.companyCode = companyCode;
this.parentCode = companyCode;
}
} }

@ -6,10 +6,10 @@ import lombok.Data;
@Data @Data
public class UserInitDO { public class UserInitDO {
@JSONField(name = "店铺编码") @JSONField(name = "pos店铺编码")
private String shopCode ; private String shopCode ;
@JSONField(name = "店铺名") @JSONField(name = "店铺名")
private String shopName ; private String shopName ;
@JSONField(name = "姓名") @JSONField(name = "姓名")
@ -21,12 +21,6 @@ public class UserInitDO {
@JSONField(name = "别名") @JSONField(name = "别名")
private String alias ; private String alias ;
@JSONField(name = "职务")
private String position ;
@JSONField(name = "性别")
private String sex ;
@JSONField(name = "手机") @JSONField(name = "手机")
private String phone ; private String phone ;
@ -36,6 +30,17 @@ public class UserInitDO {
@JSONField(name = "地址") @JSONField(name = "地址")
private String adress ; private String adress ;
@JSONField(name = "userid") @JSONField(name = "角色")
private String role ;
@JSONField(name = "组织编码")
private String companyCode ;
private String customerUserId; private String customerUserId;
public void setAccount(String account) {
this.account = account;
this.customerUserId = account;
}
} }

Loading…
Cancel
Save