店铺对应的推广用户

master
wangweijia 6 years ago
parent a072af5084
commit 1f277b80fe

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

@ -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;
}

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

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

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

@ -34,7 +34,7 @@ import java.util.Map.Entry;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = IcApplication.class)
public class OrganizationInitShop {
static String shopPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\组织数据20200422.xlsx";
static String shopPath = "D:\\Backup\\桌面\\各种客户端\\bsd\\智慧导购\\组织数据20200422 - 副本.xlsx";
static String[] shopColumns= {"上级组织","店铺编码","店铺名称","店铺简称","网点地址","网点经营性质","店铺级别"};
static String filePath = null;
@ -93,7 +93,15 @@ public class OrganizationInitShop {
//区域入库
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<>();
qw.eq("code", v.getShopCode());
@ -127,17 +135,23 @@ public class OrganizationInitShop {
//找到区域域
PrivilageDomainDO domain = privilageDomainDOMapper.selectDomain(parentId, 1,1);
//对接域店铺关系
//找到区域店铺关系
PrivilageDomainEntityDO ent = new PrivilageDomainEntityDO();
ent.setDomainId(domain.getId());
ent.setEntityId(poiStore.getId());
ent.setType(3);
ent.setCreateTime(new Date());
ent.setUpdateTime(new Date());
privilageDomainEntityDOMapper.insert(ent);
if(privilageDomainEntityDOMapper.selectOne(new QueryWrapper<>(ent)) == null){
//对接域店铺关系
ent.setType(3);
ent.setCreateTime(new Date());
ent.setUpdateTime(new Date());
privilageDomainEntityDOMapper.insert(ent);
}else{
System.out.println("s");
}
}
}
});
}
public long getType(String shopType){
//零售经理, 店长, 信息主管, 零售主管, 店助, 导购, 店员, 已离职, PO

@ -41,6 +41,24 @@ public class RegionInitDO {
@JSONField(name = "上级组织")
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.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
public class UserInitDO {
@JSONField(name = "店铺编码")
@JSONField(name = "pos店铺编码")
private String shopCode ;
@JSONField(name = "店铺名")
@JSONField(name = "店铺名")
private String shopName ;
@JSONField(name = "姓名")
@ -21,12 +21,6 @@ public class UserInitDO {
@JSONField(name = "别名")
private String alias ;
@JSONField(name = "职务")
private String position ;
@JSONField(name = "性别")
private String sex ;
@JSONField(name = "手机")
private String phone ;
@ -36,6 +30,17 @@ public class UserInitDO {
@JSONField(name = "地址")
private String adress ;
@JSONField(name = "userid")
@JSONField(name = "角色")
private String role ;
@JSONField(name = "组织编码")
private String companyCode ;
private String customerUserId;
public void setAccount(String account) {
this.account = account;
this.customerUserId = account;
}
}

Loading…
Cancel
Save