master
parent
5409fe83d2
commit
692fd6a34f
@ -0,0 +1,17 @@
|
|||||||
|
package com.bsd.cases.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.model.CaseArea;
|
||||||
|
import com.bsd.cases.util.PageAjax;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface CaseAreaService {
|
||||||
|
|
||||||
|
|
||||||
|
public List<CaseArea> list();
|
||||||
|
|
||||||
|
public PageAjax<CaseArea> listByPage(JSONObject params);
|
||||||
|
|
||||||
|
public void add(JSONObject params);
|
||||||
|
}
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
package com.bsd.cases.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.model.CaseCompany;
|
||||||
|
import com.bsd.cases.util.PageAjax;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
@Service
|
||||||
|
public interface CaseCompanyService {
|
||||||
|
|
||||||
|
List<CaseCompany> list(JSONObject jsonObject);
|
||||||
|
|
||||||
|
|
||||||
|
PageAjax<CaseCompany> listByPage(JSONObject params);
|
||||||
|
|
||||||
|
CaseCompany detail(JSONObject params);
|
||||||
|
|
||||||
|
void delete(JSONObject params);
|
||||||
|
|
||||||
|
void add(JSONObject params);
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
package com.bsd.cases.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.model.CaseStore;
|
||||||
|
import com.bsd.cases.util.PageAjax;
|
||||||
|
|
||||||
|
public interface CaseStoreService {
|
||||||
|
|
||||||
|
|
||||||
|
public PageAjax<CaseStore> list(JSONObject params);
|
||||||
|
|
||||||
|
public PageAjax<CaseStore> listByPage(JSONObject params);
|
||||||
|
|
||||||
|
public void add(JSONObject params);
|
||||||
|
|
||||||
|
public void delete(JSONObject params);
|
||||||
|
|
||||||
|
public CaseStore detail(JSONObject params);
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
package com.bsd.cases.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.model.CaseUsers;
|
||||||
|
import com.bsd.cases.model.ImportPO;
|
||||||
|
import com.bsd.cases.util.PageAjax;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface CaseUsersService {
|
||||||
|
|
||||||
|
|
||||||
|
CaseUsers findUser(String userName, String password);
|
||||||
|
|
||||||
|
CaseUsers selectByUserNoOrOpenId(String key);
|
||||||
|
|
||||||
|
CaseUsers findByUserNo(String userNo);
|
||||||
|
|
||||||
|
CaseUsers currentUser();
|
||||||
|
|
||||||
|
String autoLogin(String params);
|
||||||
|
|
||||||
|
CaseUsers findById(Integer userId);
|
||||||
|
|
||||||
|
PageAjax<CaseUsers> listByPage(JSONObject params);
|
||||||
|
|
||||||
|
void add(JSONObject params);
|
||||||
|
|
||||||
|
List<ImportPO> importFromExcel(String uploadPath, String fileName)throws IOException;
|
||||||
|
|
||||||
|
|
||||||
|
CaseUsers detail(JSONObject params);
|
||||||
|
|
||||||
|
void delete(JSONObject params);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
package com.bsd.cases.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.constants.Constants;
|
||||||
|
import com.bsd.cases.mapper.CaseAreaMapper;
|
||||||
|
import com.bsd.cases.model.CaseArea;
|
||||||
|
import com.bsd.cases.service.CaseAreaService;
|
||||||
|
import com.bsd.cases.util.PageAjax;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import tk.mybatis.mapper.entity.Condition;
|
||||||
|
import tk.mybatis.mapper.entity.Example;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Transactional
|
||||||
|
public class CaseAreaServiceImpl implements CaseAreaService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CaseAreaMapper caseAreaMapper;
|
||||||
|
|
||||||
|
public List<CaseArea> list() {
|
||||||
|
|
||||||
|
return caseAreaMapper.selectAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public PageAjax<CaseArea> listByPage(JSONObject params) {
|
||||||
|
|
||||||
|
Integer page = params.getInteger("page");
|
||||||
|
Integer state = params.getInteger("state");
|
||||||
|
String key = params.getString("key");
|
||||||
|
|
||||||
|
Condition condition = new Condition(CaseArea.class);
|
||||||
|
Example.Criteria criteria = condition.createCriteria();
|
||||||
|
criteria.andCondition("state=" + state);
|
||||||
|
|
||||||
|
if (null != key) {
|
||||||
|
|
||||||
|
key = com.bsd.cases.util.StringUtils.generateLike(key);
|
||||||
|
criteria.andLike("name", key);
|
||||||
|
}
|
||||||
|
|
||||||
|
PageHelper.startPage(page, Constants.PAGE_SIZE);
|
||||||
|
List<CaseArea> areaList = caseAreaMapper.selectByExample(condition);
|
||||||
|
PageAjax<CaseArea> pageAjax = new PageAjax<>(areaList);
|
||||||
|
return pageAjax;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(JSONObject params) {
|
||||||
|
|
||||||
|
String areaName = params.getString("areaName");
|
||||||
|
Integer areaId = params.getInteger("areaId");
|
||||||
|
|
||||||
|
if (areaId == null) {
|
||||||
|
|
||||||
|
CaseArea caseArea = new CaseArea();
|
||||||
|
caseArea.setAreaName(areaName);
|
||||||
|
caseArea.setState(Constants.ENABLE);
|
||||||
|
caseAreaMapper.insert(caseArea);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
CaseArea caseArea = caseAreaMapper.selectByPrimaryKey(areaId);
|
||||||
|
caseArea.setAreaName(areaName);
|
||||||
|
caseAreaMapper.updateByPrimaryKey(caseArea);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,110 @@
|
|||||||
|
package com.bsd.cases.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.constants.Constants;
|
||||||
|
import com.bsd.cases.mapper.CaseCompanyMapper;
|
||||||
|
import com.bsd.cases.model.CaseCompany;
|
||||||
|
import com.bsd.cases.service.CaseCompanyService;
|
||||||
|
import com.bsd.cases.util.DateUtils;
|
||||||
|
import com.bsd.cases.util.PageAjax;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import tk.mybatis.mapper.entity.Condition;
|
||||||
|
import tk.mybatis.mapper.entity.Example;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
@Service
|
||||||
|
public class CaseCompanyServiceImpl implements CaseCompanyService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CaseCompanyMapper caseCompanyMapper;
|
||||||
|
|
||||||
|
public List<CaseCompany> list(JSONObject jsonObject) {
|
||||||
|
|
||||||
|
Long areaId = jsonObject.getLong("areaId");
|
||||||
|
if (null == areaId) {
|
||||||
|
|
||||||
|
return caseCompanyMapper.selectAll();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
CaseCompany caseCompany = new CaseCompany();
|
||||||
|
caseCompany.setAreaId(areaId);
|
||||||
|
return caseCompanyMapper.select(caseCompany);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public PageAjax<CaseCompany> listByPage(JSONObject params) {
|
||||||
|
|
||||||
|
Integer page = params.getInteger("page");
|
||||||
|
Integer state = params.getInteger("state");
|
||||||
|
String name = params.getString("key");
|
||||||
|
Integer areaId = params.getInteger("areaId");
|
||||||
|
|
||||||
|
Condition condition = new Condition(CaseCompany.class);
|
||||||
|
Example.Criteria criteria = condition.createCriteria();
|
||||||
|
criteria.andCondition("state=" + state);
|
||||||
|
if (null != areaId) {
|
||||||
|
|
||||||
|
criteria.andCondition("area_id=" + areaId);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(name)) {
|
||||||
|
|
||||||
|
name = com.bsd.cases.util.StringUtils.generateLike(name);
|
||||||
|
criteria.andLike("companyName", name);
|
||||||
|
}
|
||||||
|
|
||||||
|
PageHelper.startPage(page, Constants.PAGE_SIZE);
|
||||||
|
List<CaseCompany> companyList =caseCompanyMapper.selectByExample(condition);
|
||||||
|
PageAjax<CaseCompany> pageAjax = new PageAjax<>(companyList);
|
||||||
|
return pageAjax;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CaseCompany detail(JSONObject params) {
|
||||||
|
|
||||||
|
Integer companyId = params.getInteger("companyId");
|
||||||
|
return caseCompanyMapper.selectByPrimaryKey(companyId);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(JSONObject params) {
|
||||||
|
|
||||||
|
Integer companyId = params.getInteger("companyId");
|
||||||
|
CaseCompany caseCompany =caseCompanyMapper.selectByPrimaryKey(companyId);
|
||||||
|
caseCompany.setState(Constants.DISABLE);
|
||||||
|
caseCompanyMapper.updateByPrimaryKey(caseCompany);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(JSONObject params) {
|
||||||
|
|
||||||
|
Long id = params.getLong("id");
|
||||||
|
String companyId = params.getString("companyId");
|
||||||
|
String companyName = params.getString("companyName");
|
||||||
|
Long areaId = params.getLong("areaId");
|
||||||
|
|
||||||
|
|
||||||
|
if (null != id) {
|
||||||
|
|
||||||
|
CaseCompany caseCompany =caseCompanyMapper.selectByPrimaryKey(id);
|
||||||
|
caseCompany.setCompanyId(companyId);
|
||||||
|
caseCompany.setCompanyName(companyName);
|
||||||
|
caseCompany.setAreaId(areaId);
|
||||||
|
caseCompanyMapper.updateByPrimaryKey(caseCompany);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
CaseCompany caseCompany = new CaseCompany();
|
||||||
|
caseCompany.setCompanyName(companyName);
|
||||||
|
caseCompany.setCompanyId(companyId);
|
||||||
|
caseCompany.setAreaId(areaId);
|
||||||
|
caseCompany.setState(Constants.ENABLE);
|
||||||
|
caseCompany.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseCompanyMapper.insert(caseCompany);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,124 @@
|
|||||||
|
package com.bsd.cases.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.constants.Constants;
|
||||||
|
import com.bsd.cases.mapper.CaseCompanyMapper;
|
||||||
|
import com.bsd.cases.mapper.CaseStoreMapper;
|
||||||
|
import com.bsd.cases.model.CaseCompany;
|
||||||
|
import com.bsd.cases.model.CaseStore;
|
||||||
|
import com.bsd.cases.model.CaseUsers;
|
||||||
|
import com.bsd.cases.service.CaseStoreService;
|
||||||
|
import com.bsd.cases.util.DateUtils;
|
||||||
|
import com.bsd.cases.util.PageAjax;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
import tk.mybatis.mapper.entity.Condition;
|
||||||
|
import tk.mybatis.mapper.entity.Example;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Transactional
|
||||||
|
public class CaseStoreServiceImpl implements CaseStoreService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CaseStoreMapper caseStoreMapper;
|
||||||
|
@Resource
|
||||||
|
private CaseCompanyMapper caseCompanyMapper;
|
||||||
|
|
||||||
|
public PageAjax<CaseStore> list(JSONObject params) {
|
||||||
|
|
||||||
|
Integer page = params.getInteger("page");
|
||||||
|
String key = params.getString("key");
|
||||||
|
PageHelper.startPage(page, Constants.PAGE_SIZE);
|
||||||
|
Condition condition = new Condition(CaseUsers.class);
|
||||||
|
Example.Criteria criteria = condition.createCriteria();
|
||||||
|
if(!StringUtils.isEmpty(key)){
|
||||||
|
|
||||||
|
key = com.bsd.cases.util.StringUtils.generateLike(key);
|
||||||
|
criteria.andLike("storeName", key).orLike("storeId", key);
|
||||||
|
}
|
||||||
|
List<CaseStore> storeList = caseStoreMapper.selectByExample(condition);
|
||||||
|
PageAjax<CaseStore> pageAjax = new PageAjax<>(storeList);
|
||||||
|
return pageAjax;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PageAjax<CaseStore> listByPage(JSONObject params) {
|
||||||
|
|
||||||
|
|
||||||
|
Integer page = params.getInteger("page");
|
||||||
|
Integer state = params.getInteger("state");
|
||||||
|
String key = params.getString("key");
|
||||||
|
Integer companyId = params.getInteger("companyId");
|
||||||
|
|
||||||
|
Condition condition = new Condition(CaseUsers.class);
|
||||||
|
Example.Criteria criteria = condition.createCriteria();
|
||||||
|
criteria.andCondition("state=" + state);
|
||||||
|
|
||||||
|
if (null != companyId) {
|
||||||
|
|
||||||
|
criteria.andCondition("company_id=" + companyId);
|
||||||
|
}
|
||||||
|
if (null != key) {
|
||||||
|
|
||||||
|
key = com.bsd.cases.util.StringUtils.generateLike(key);
|
||||||
|
criteria.andLike("storeName", key).orLike("storeId", key);
|
||||||
|
}
|
||||||
|
|
||||||
|
PageHelper.startPage(page, Constants.PAGE_SIZE);
|
||||||
|
List<CaseStore> usersList = caseStoreMapper.selectByExample(condition);
|
||||||
|
PageAjax<CaseStore> pageAjax = new PageAjax<>(usersList);
|
||||||
|
return pageAjax;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(JSONObject params) {
|
||||||
|
|
||||||
|
Integer storeId = params.getInteger("storeId");
|
||||||
|
Long companyId = params.getLong("companyId");
|
||||||
|
String storeName = params.getString("storeName");
|
||||||
|
String storeCode = params.getString("storeCode");
|
||||||
|
|
||||||
|
CaseCompany caseCompany =caseCompanyMapper.selectByPrimaryKey(companyId);
|
||||||
|
|
||||||
|
if (storeId == null) {
|
||||||
|
|
||||||
|
CaseStore caseStore = new CaseStore();
|
||||||
|
caseStore.setStoreName(storeName);
|
||||||
|
caseStore.setStoreId(storeCode);
|
||||||
|
caseStore.setCompanyId(companyId);
|
||||||
|
caseStore.setCompanyCode(caseCompany.getCompanyId());
|
||||||
|
caseStore.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
caseStore.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseStore.setState(Constants.ENABLE);
|
||||||
|
caseStoreMapper.insert(caseStore);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
CaseStore caseStore = caseStoreMapper.selectByPrimaryKey(storeId);
|
||||||
|
caseStore.setStoreName(storeName);
|
||||||
|
caseStore.setStoreId(storeCode);
|
||||||
|
caseStore.setCompanyId(companyId);
|
||||||
|
caseStore.setCompanyCode(caseCompany.getCompanyId());
|
||||||
|
caseStore.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
caseStore.setState(Constants.ENABLE);
|
||||||
|
caseStoreMapper.updateByPrimaryKey(caseStore);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(JSONObject params) {
|
||||||
|
|
||||||
|
Long storeId = params.getLong("storeId");
|
||||||
|
CaseStore caseStore = caseStoreMapper.selectByPrimaryKey(storeId);
|
||||||
|
caseStore.setState(Constants.DISABLE);
|
||||||
|
caseStoreMapper.updateByPrimaryKey(caseStore);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CaseStore detail(JSONObject params) {
|
||||||
|
|
||||||
|
Integer storeId = params.getInteger("storeId");
|
||||||
|
return caseStoreMapper.selectByPrimaryKey(storeId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,831 @@
|
|||||||
|
package com.bsd.cases.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bsd.cases.constants.Constants;
|
||||||
|
import com.bsd.cases.mapper.CaseAreaMapper;
|
||||||
|
import com.bsd.cases.mapper.CaseCompanyMapper;
|
||||||
|
import com.bsd.cases.mapper.CaseStoreMapper;
|
||||||
|
import com.bsd.cases.mapper.CaseUsersMapper;
|
||||||
|
import com.bsd.cases.model.*;
|
||||||
|
import com.bsd.cases.service.CaseUsersService;
|
||||||
|
import com.bsd.cases.util.*;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import org.apache.poi.hssf.usermodel.*;
|
||||||
|
import org.apache.poi.ss.usermodel.CellType;
|
||||||
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
import org.apache.shiro.subject.Subject;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
import tk.mybatis.mapper.entity.Condition;
|
||||||
|
import tk.mybatis.mapper.entity.Example;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Transactional
|
||||||
|
public class CaseUsersServiceImpl implements CaseUsersService {
|
||||||
|
|
||||||
|
Logger logger = LoggerFactory.getLogger(getClass());
|
||||||
|
@Resource
|
||||||
|
private CaseUsersMapper caseUsersMapper;
|
||||||
|
@Resource
|
||||||
|
private CaseCompanyMapper caseCompanyMapper;
|
||||||
|
@Resource
|
||||||
|
private CaseStoreMapper caseStoreMapper;
|
||||||
|
@Resource
|
||||||
|
private CaseAreaMapper caseAreaMapper;
|
||||||
|
|
||||||
|
@Value("${export.path}")
|
||||||
|
private String exportPath;
|
||||||
|
@Value("${export.url}")
|
||||||
|
private String exportUrl;
|
||||||
|
|
||||||
|
public CaseUsers findUser(String userName, String password) {
|
||||||
|
|
||||||
|
CaseUsers caseUser = new CaseUsers();
|
||||||
|
caseUser.setUserName(userName);
|
||||||
|
caseUser.setPassword(password);
|
||||||
|
return caseUsersMapper.selectOne(caseUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public CaseUsers selectByUserNoOrOpenId(String key) {
|
||||||
|
|
||||||
|
CaseUsers caseUser = new CaseUsers();
|
||||||
|
caseUser.setUserNo(key);
|
||||||
|
caseUser = caseUsersMapper.selectOne(caseUser);
|
||||||
|
if (null == caseUser) {
|
||||||
|
caseUser = new CaseUsers();
|
||||||
|
caseUser.setOpenId(key);
|
||||||
|
caseUser = caseUsersMapper.selectOne(caseUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
return caseUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CaseUsers findByUserNo(String userNo) {
|
||||||
|
|
||||||
|
CaseUsers caseUser = new CaseUsers();
|
||||||
|
caseUser.setUserNo(userNo);
|
||||||
|
return caseUsersMapper.selectOne(caseUser);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public CaseUsers currentUser() {
|
||||||
|
|
||||||
|
Subject subject = SecurityUtils.getSubject();
|
||||||
|
String key = JWTUtil.getKey(subject.getPrincipal().toString());
|
||||||
|
CaseUsers caseUser = selectByUserNoOrOpenId(key);
|
||||||
|
return caseUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String autoLogin(String params) {
|
||||||
|
|
||||||
|
logger.info("------auto login param-----" + params);
|
||||||
|
String paramsJson = "";
|
||||||
|
//解码
|
||||||
|
try {
|
||||||
|
|
||||||
|
params = params.replaceAll(" ", "\\+");
|
||||||
|
paramsJson = EncryptUtils.aesDecrypt(params, Constants.MOFANG_KEY);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
//如果出问题就换一个json
|
||||||
|
try {
|
||||||
|
|
||||||
|
paramsJson = EncryptUtils.aesDecrypt(params, Constants.RETAIL_KEY);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
|
||||||
|
throw new RuntimeException("加密参数解析失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(paramsJson)) {
|
||||||
|
|
||||||
|
CaseUsers caseUsers = saveCompanyAndStore(paramsJson);
|
||||||
|
if (null == caseUsers) {
|
||||||
|
|
||||||
|
throw new RuntimeException("用户信息不一致,请联系管理员");
|
||||||
|
|
||||||
|
}
|
||||||
|
String token = JWTUtil.sign(caseUsers.getUserNo());
|
||||||
|
return token;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存信息
|
||||||
|
*
|
||||||
|
* @param paramsJson
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private CaseUsers saveCompanyAndStore(String paramsJson) {
|
||||||
|
|
||||||
|
//获取解析后的信息
|
||||||
|
JSONObject jsonObject = JSON.parseObject(paramsJson);
|
||||||
|
String companyName = jsonObject.getString("companyName");
|
||||||
|
String companyId = jsonObject.getString("companyId");
|
||||||
|
String storeName = jsonObject.getString("storeName");
|
||||||
|
String storeId = jsonObject.getString("storeId");
|
||||||
|
String userNo = jsonObject.getString("userNo");
|
||||||
|
String userName = jsonObject.getString("userName");
|
||||||
|
String mobile = jsonObject.getString("mobile");
|
||||||
|
|
||||||
|
CaseCompany caseCompany = new CaseCompany();
|
||||||
|
CaseStore caseStore = new CaseStore();
|
||||||
|
|
||||||
|
|
||||||
|
//保存公司信息
|
||||||
|
if (!StringUtils.isEmpty(companyId) && !StringUtils.isEmpty(companyName)) {
|
||||||
|
|
||||||
|
caseCompany.setCompanyName(companyName);
|
||||||
|
caseCompany.setCompanyId(companyId);
|
||||||
|
CaseCompany temp = caseCompanyMapper.selectOne(caseCompany);
|
||||||
|
if (null == temp) {
|
||||||
|
|
||||||
|
caseCompany.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseCompany.setState(Constants.ENABLE);
|
||||||
|
caseCompanyMapper.insert(caseCompany);
|
||||||
|
} else {
|
||||||
|
caseCompany.setId(temp.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//保存店铺信息
|
||||||
|
if (!StringUtils.isEmpty(storeId) && !StringUtils.isEmpty(storeName)) {
|
||||||
|
|
||||||
|
caseStore.setStoreId(storeId);
|
||||||
|
caseStore.setStoreName(storeName);
|
||||||
|
CaseStore temp = caseStoreMapper.selectOne(caseStore);
|
||||||
|
if (null == temp) {
|
||||||
|
|
||||||
|
caseStore.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseStore.setState(Constants.ENABLE);
|
||||||
|
caseStoreMapper.insert(caseStore);
|
||||||
|
} else {
|
||||||
|
caseStore.setId(temp.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//保存用户信息
|
||||||
|
CaseUsers caseUsers = new CaseUsers();
|
||||||
|
|
||||||
|
if (!StringUtils.isEmpty(userName) && !StringUtils.isEmpty(userNo)) {
|
||||||
|
|
||||||
|
// users.setMobile(mobile);
|
||||||
|
caseUsers.setUserNo(userNo);
|
||||||
|
caseUsers.setUserName(userName);
|
||||||
|
CaseUsers temp = caseUsersMapper.selectOne(caseUsers);
|
||||||
|
if (null == temp) {
|
||||||
|
|
||||||
|
caseUsers.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseUsers.setStoreName(caseStore.getStoreName());
|
||||||
|
caseUsers.setStoreCode(caseStore.getStoreId());
|
||||||
|
caseUsers.setStoreId(caseStore.getId());
|
||||||
|
caseUsers.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
caseUsers.setCompanyCode(caseCompany.getCompanyId());
|
||||||
|
caseUsers.setCompanyId(caseCompany.getId());
|
||||||
|
caseUsers.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseUsers.setRole(Constants.MOFANG_USER);
|
||||||
|
caseUsers.setState(Constants.ENABLE);
|
||||||
|
caseUsersMapper.insert(caseUsers);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (StringUtils.isEmpty(caseUsers.getCompanyId())) {
|
||||||
|
|
||||||
|
temp.setCompanyId(caseCompany.getId());
|
||||||
|
temp.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
caseUsersMapper.updateByPrimaryKey(temp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return caseUsers;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String wxLogin(JSONObject jsonObject) {
|
||||||
|
|
||||||
|
String code = jsonObject.getString("code");
|
||||||
|
String userInfor = WechatAccessUtils.userInfor(code);
|
||||||
|
JSONObject userJson = JSONObject.parseObject(userInfor);
|
||||||
|
String openId = userJson.getString("openid");
|
||||||
|
String userName = userJson.getString("nickname");
|
||||||
|
String userImage = userJson.getString("headimgurl");
|
||||||
|
|
||||||
|
CaseUsers caseUsers = new CaseUsers();
|
||||||
|
caseUsers.setOpenId(openId);
|
||||||
|
caseUsers = caseUsersMapper.selectOne(caseUsers);
|
||||||
|
if (null == caseUsers) {
|
||||||
|
|
||||||
|
caseUsers = new CaseUsers();
|
||||||
|
caseUsers.setOpenId(openId);
|
||||||
|
caseUsers.setUserName(userName);
|
||||||
|
caseUsers.setUserImage(userImage);
|
||||||
|
caseUsers.setRole(Constants.WECHAT_USER);
|
||||||
|
caseUsers.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseUsersMapper.insert(caseUsers);
|
||||||
|
}
|
||||||
|
|
||||||
|
return JWTUtil.sign(caseUsers.getOpenId());
|
||||||
|
}
|
||||||
|
|
||||||
|
public CaseUsers findById(Integer userId) {
|
||||||
|
|
||||||
|
return caseUsersMapper.selectByPrimaryKey(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public PageAjax<CaseUsers> listByPage(JSONObject params) {
|
||||||
|
|
||||||
|
Integer page = params.getInteger("page");
|
||||||
|
Integer state = params.getInteger("state");
|
||||||
|
String key = params.getString("key");
|
||||||
|
Integer companyId = params.getInteger("companyId");
|
||||||
|
Integer storeId = params.getInteger("storeId");
|
||||||
|
|
||||||
|
Condition condition = new Condition(CaseUsers.class);
|
||||||
|
Example.Criteria criteria = condition.createCriteria();
|
||||||
|
criteria.andCondition("state=" + state);
|
||||||
|
|
||||||
|
if (null != companyId) {
|
||||||
|
|
||||||
|
criteria.andCondition("company_id=" + companyId).andCondition("state=" + state);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null != storeId) {
|
||||||
|
|
||||||
|
criteria.andCondition("store_id=" + storeId).andCondition("state=" + state);
|
||||||
|
}
|
||||||
|
if (null != key) {
|
||||||
|
|
||||||
|
key = com.bsd.cases.util.StringUtils.generateLike(key);
|
||||||
|
criteria.andLike("userName", key).orLike("userNo", key).andCondition("state=" + state);
|
||||||
|
}
|
||||||
|
condition.orderBy("createDate").desc();
|
||||||
|
|
||||||
|
PageHelper.startPage(page, Constants.PAGE_SIZE);
|
||||||
|
List<CaseUsers> usersList = caseUsersMapper.selectByExample(condition);
|
||||||
|
PageAjax<CaseUsers> pageAjax = new PageAjax<>(usersList);
|
||||||
|
return pageAjax;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(JSONObject params) {
|
||||||
|
|
||||||
|
Integer userId = params.getInteger("userId");
|
||||||
|
String userName = params.getString("userName");
|
||||||
|
String userNo = params.getString("userNo");
|
||||||
|
Long storeId = params.getLong("storeId");
|
||||||
|
String storeName = params.getString("storeName");
|
||||||
|
Long companyId = params.getLong("companyId");
|
||||||
|
String companyName = params.getString("companyName");
|
||||||
|
Integer role = params.getInteger("role");
|
||||||
|
|
||||||
|
if (userId == null) {
|
||||||
|
|
||||||
|
CaseUsers caseUsers = new CaseUsers();
|
||||||
|
|
||||||
|
caseUsers.setUserName(userName);
|
||||||
|
caseUsers.setUserNo(userNo);
|
||||||
|
caseUsers.setCompanyName(companyName);
|
||||||
|
caseUsers.setCompanyId(companyId);
|
||||||
|
caseUsers.setStoreId(storeId);
|
||||||
|
|
||||||
|
if (role != Constants.HEAD_USER) {
|
||||||
|
|
||||||
|
if (role != Constants.COMPANY_USER) {
|
||||||
|
|
||||||
|
CaseStore caseStore = caseStoreMapper.selectByPrimaryKey(storeId);
|
||||||
|
caseUsers.setStoreCode(caseStore.getStoreId());
|
||||||
|
caseUsers.setStoreName(storeName);
|
||||||
|
caseUsers.setStoreId(caseStore.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
CaseCompany caseCompany = caseCompanyMapper.selectByPrimaryKey(companyId);
|
||||||
|
caseUsers.setCompanyCode(caseCompany.getCompanyId());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
caseUsers.setState(Constants.ENABLE);
|
||||||
|
caseUsers.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseUsers.setRole(role);
|
||||||
|
caseUsersMapper.insert(caseUsers);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
CaseUsers caseUsers = caseUsersMapper.selectByPrimaryKey(userId);
|
||||||
|
caseUsers.setUserName(userName);
|
||||||
|
|
||||||
|
if (role != Constants.HEAD_USER) {
|
||||||
|
|
||||||
|
if (role != Constants.COMPANY_USER) {
|
||||||
|
|
||||||
|
CaseStore caseStore = caseStoreMapper.selectByPrimaryKey(storeId);
|
||||||
|
caseUsers.setStoreCode(caseStore.getStoreId());
|
||||||
|
caseUsers.setStoreId(caseStore.getId());
|
||||||
|
caseUsers.setStoreName(caseStore.getStoreName());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CaseCompany caseCompany = caseCompanyMapper.selectByPrimaryKey(companyId);
|
||||||
|
caseUsers.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
caseUsers.setCompanyId(caseCompany.getId());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
caseUsers.setRole(role);
|
||||||
|
caseUsersMapper.updateByPrimaryKey(caseUsers);
|
||||||
|
//如果不是微信用户或者管理员、需要更新用户之前上传的
|
||||||
|
//updateSignUp(caseUsers);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// private void updateSignUp(Users users) {
|
||||||
|
//
|
||||||
|
// ActivitySignUp activitySignUp = new ActivitySignUp();
|
||||||
|
// activitySignUp.setUserId(users.getId());
|
||||||
|
// List<ActivitySignUp> activitySignUpList = activitySignUpMapper.select(activitySignUp);
|
||||||
|
//
|
||||||
|
// for (ActivitySignUp temp : activitySignUpList) {
|
||||||
|
//
|
||||||
|
// temp.setStoreName(users.getStoreName());
|
||||||
|
// temp.setStoreCode(users.getStoreCode());
|
||||||
|
// temp.setStoreId(users.getStoreId());
|
||||||
|
// temp.setCompanyId(users.getCompanyId());
|
||||||
|
// temp.setCompanyName(users.getCompanyName());
|
||||||
|
// temp.setUserName(users.getUserName());
|
||||||
|
// temp.setUserName(users.getUserName());
|
||||||
|
// activitySignUpMapper.updateByPrimaryKey(temp);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
public List<ImportPO> importFromExcel(String uploadPath, String fileName) throws IOException {
|
||||||
|
|
||||||
|
|
||||||
|
String absolutePath = uploadPath + fileName;
|
||||||
|
|
||||||
|
File file = new File(absolutePath);
|
||||||
|
|
||||||
|
InputStream inputStream = null;
|
||||||
|
try {
|
||||||
|
inputStream = new FileInputStream(file);
|
||||||
|
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
|
||||||
|
HSSFSheet sheet = workbook.getSheetAt(0);
|
||||||
|
|
||||||
|
List<ImportPO> importPOList = new ArrayList<>();
|
||||||
|
for (int i = 1; i < sheet.getLastRowNum() + 1; i++) {
|
||||||
|
|
||||||
|
HSSFRow row = sheet.getRow(i);
|
||||||
|
|
||||||
|
ImportPO importPO = new ImportPO();
|
||||||
|
if (row != null) {
|
||||||
|
|
||||||
|
row.getCell(0).setCellType(CellType.STRING);
|
||||||
|
String userNo = row.getCell(0).getStringCellValue();
|
||||||
|
userNo = userNo.replaceAll("\'", "");
|
||||||
|
importPO.setUserNo(userNo);
|
||||||
|
|
||||||
|
row.getCell(1).setCellType(CellType.STRING);
|
||||||
|
String userName = row.getCell(1).getStringCellValue();
|
||||||
|
importPO.setUserName(userName);
|
||||||
|
|
||||||
|
if (row.getCell(2) != null) {
|
||||||
|
|
||||||
|
row.getCell(2).setCellType(CellType.STRING);
|
||||||
|
String mobile = row.getCell(2).getStringCellValue();
|
||||||
|
importPO.setMobile(mobile);
|
||||||
|
}
|
||||||
|
|
||||||
|
row.getCell(3).setCellType(CellType.STRING);
|
||||||
|
String accoutType = row.getCell(3).getStringCellValue();
|
||||||
|
|
||||||
|
switch (accoutType) {
|
||||||
|
|
||||||
|
case "总部账号":
|
||||||
|
|
||||||
|
importPO.setRole(Constants.HEAD_USER);
|
||||||
|
break;
|
||||||
|
case "店铺账号":
|
||||||
|
|
||||||
|
importPO.setRole(Constants.MOFANG_USER);
|
||||||
|
break;
|
||||||
|
case "零售公司账号":
|
||||||
|
|
||||||
|
importPO.setRole(Constants.COMPANY_USER);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (row.getCell(4) != null) {
|
||||||
|
|
||||||
|
row.getCell(4).setCellType(CellType.STRING);
|
||||||
|
String companyCode = row.getCell(4).getStringCellValue();
|
||||||
|
importPO.setCompanyCode(companyCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (row.getCell(5) != null) {
|
||||||
|
|
||||||
|
row.getCell(5).setCellType(CellType.STRING);
|
||||||
|
String companyName = row.getCell(5).getStringCellValue();
|
||||||
|
importPO.setCompanyName(companyName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (row.getCell(6) != null) {
|
||||||
|
|
||||||
|
row.getCell(6).setCellType(CellType.STRING);
|
||||||
|
String storeCode = row.getCell(6).getStringCellValue();
|
||||||
|
importPO.setStoreCode(storeCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (row.getCell(7) != null) {
|
||||||
|
|
||||||
|
row.getCell(7).setCellType(CellType.STRING);
|
||||||
|
String storeName = row.getCell(7).getStringCellValue();
|
||||||
|
importPO.setStoreName(storeName);
|
||||||
|
}
|
||||||
|
if (row.getCell(8) != null) {
|
||||||
|
|
||||||
|
row.getCell(8).setCellType(CellType.STRING);
|
||||||
|
String areaName = row.getCell(8).getStringCellValue();
|
||||||
|
importPO.setAreaName(areaName);
|
||||||
|
}
|
||||||
|
|
||||||
|
importPOList.add(importPO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return importPOList;
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void saveUserList(String uploadPath, String fileName) {
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
List<ImportPO> importPOList = importFromExcel(uploadPath, fileName);
|
||||||
|
|
||||||
|
for (ImportPO importPO : importPOList) {
|
||||||
|
|
||||||
|
CaseUsers importUsers = new CaseUsers();
|
||||||
|
|
||||||
|
BeanUtils.copyProperties(importPO, importUsers);
|
||||||
|
|
||||||
|
//获取数据库存储的用户信息
|
||||||
|
CaseUsers caseUsers = new CaseUsers();
|
||||||
|
caseUsers.setUserNo(importPO.getUserNo());
|
||||||
|
caseUsers = caseUsersMapper.selectOne(caseUsers);
|
||||||
|
|
||||||
|
if (caseUsers == null) {
|
||||||
|
|
||||||
|
caseUsers = new CaseUsers();
|
||||||
|
}
|
||||||
|
|
||||||
|
int role = importPO.getRole();
|
||||||
|
if (role == Constants.HEAD_USER) {
|
||||||
|
|
||||||
|
caseUsers.setUserNo(importPO.getUserNo());
|
||||||
|
caseUsers.setUserName(importPO.getUserName());
|
||||||
|
caseUsers.setMobile(importPO.getMobile());
|
||||||
|
caseUsers.setRole(Constants.HEAD_USER);
|
||||||
|
|
||||||
|
} else if (role == Constants.MOFANG_USER || role == Constants.COMPANY_USER) {
|
||||||
|
|
||||||
|
if (importPO.getCompanyCode() == null || importPO.getCompanyName() == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
caseUsers = wrapUsers(importPO, caseUsers, role);
|
||||||
|
}
|
||||||
|
if (caseUsers.getId() == null) {
|
||||||
|
|
||||||
|
caseUsers.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
caseUsers.setState(Constants.ENABLE);
|
||||||
|
caseUsersMapper.insert(caseUsers);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
//先判断用户是什么角色
|
||||||
|
caseUsersMapper.updateByPrimaryKey(caseUsers);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private CaseStore wrapStore(ImportPO importPO) {
|
||||||
|
|
||||||
|
CaseStore caseStore = new CaseStore();
|
||||||
|
String storeCode = importPO.getStoreCode();
|
||||||
|
caseStore.setStoreId(storeCode);
|
||||||
|
caseStore = caseStoreMapper.selectOne(caseStore);
|
||||||
|
CaseCompany caseCompany = new CaseCompany();
|
||||||
|
|
||||||
|
//如果店铺不存在,初始化店铺信息
|
||||||
|
if (null == caseStore) {
|
||||||
|
|
||||||
|
caseStore = new CaseStore();
|
||||||
|
caseStore.setStoreId(storeCode);
|
||||||
|
caseStore.setStoreName(importPO.getStoreName());
|
||||||
|
caseStore.setState(Constants.ENABLE);
|
||||||
|
caseStore.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
|
||||||
|
caseCompany = wrapCompany(importPO);
|
||||||
|
caseStore.setCompanyCode(caseCompany.getCompanyId());
|
||||||
|
caseStore.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
caseStore.setCompanyId(caseCompany.getId());
|
||||||
|
caseStoreMapper.insert(caseStore);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
//如果店铺存在则更新,店铺名称、店铺所属公司信息
|
||||||
|
caseStore.setStoreName(importPO.getStoreName());
|
||||||
|
//获取店铺所属的公司信息
|
||||||
|
caseCompany = wrapCompany(importPO);
|
||||||
|
caseStore.setCompanyCode(caseCompany.getCompanyId());
|
||||||
|
caseStore.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
caseStore.setCompanyId(caseCompany.getId());
|
||||||
|
caseStoreMapper.updateByPrimaryKey(caseStore);
|
||||||
|
}
|
||||||
|
|
||||||
|
return caseStore;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private CaseArea wrapArea(ImportPO importPO) {
|
||||||
|
|
||||||
|
CaseArea caseArea = new CaseArea();
|
||||||
|
caseArea.setAreaName(importPO.getAreaName());
|
||||||
|
caseArea = caseAreaMapper.selectOne(caseArea);
|
||||||
|
//更新公司的区域信息
|
||||||
|
if (null == caseArea) {
|
||||||
|
|
||||||
|
caseArea = new CaseArea();
|
||||||
|
caseArea.setAreaName(importPO.getAreaName());
|
||||||
|
caseArea.setState(Constants.ENABLE);
|
||||||
|
caseAreaMapper.insert(caseArea);
|
||||||
|
}
|
||||||
|
|
||||||
|
return caseArea;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 封装公司信息
|
||||||
|
*
|
||||||
|
* @param importPO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private CaseCompany wrapCompany(ImportPO importPO) {
|
||||||
|
|
||||||
|
CaseCompany caseCompany = new CaseCompany();
|
||||||
|
//获取店铺所属的公司信息
|
||||||
|
caseCompany.setCompanyId(importPO.getCompanyCode());
|
||||||
|
caseCompany = caseCompanyMapper.selectOne(caseCompany);
|
||||||
|
//如果公司不存在
|
||||||
|
if (null == caseCompany) {
|
||||||
|
|
||||||
|
caseCompany = new CaseCompany();
|
||||||
|
caseCompany.setCompanyId(importPO.getCompanyCode());
|
||||||
|
caseCompany.setCompanyName(importPO.getCompanyName());
|
||||||
|
caseCompany.setState(Constants.ENABLE);
|
||||||
|
caseCompany.setCreateDateTime(DateUtils.curDateTime());
|
||||||
|
|
||||||
|
CaseArea caseArea = wrapArea(importPO);
|
||||||
|
caseCompany.setAreaId(caseArea.getId());
|
||||||
|
caseCompanyMapper.insert(caseCompany);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
//如果公司存在,则店铺所属的公司信息
|
||||||
|
caseCompany.setCompanyName(importPO.getCompanyName());
|
||||||
|
//更新公司所属区域信息
|
||||||
|
CaseArea caseArea = wrapArea(importPO);
|
||||||
|
caseCompany.setAreaId(caseArea.getId());
|
||||||
|
caseCompanyMapper.updateByPrimaryKey(caseCompany);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return caseCompany;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 封装用户信息
|
||||||
|
*
|
||||||
|
* @param importPO
|
||||||
|
* @param users
|
||||||
|
*/
|
||||||
|
private CaseUsers wrapUsers(ImportPO importPO, CaseUsers users, int role) {
|
||||||
|
|
||||||
|
//判断店铺是否存在
|
||||||
|
if (role == Constants.MOFANG_USER) {
|
||||||
|
|
||||||
|
CaseStore caseStore = wrapStore(importPO);
|
||||||
|
users.setMobile(importPO.getMobile());
|
||||||
|
users.setRole(Constants.HEAD_USER);
|
||||||
|
users.setStoreId(caseStore.getId());
|
||||||
|
users.setStoreName(caseStore.getStoreName());
|
||||||
|
users.setStoreCode(caseStore.getStoreId());
|
||||||
|
users.setCompanyName(caseStore.getCompanyName());
|
||||||
|
users.setCompanyCode(caseStore.getCompanyCode());
|
||||||
|
users.setCompanyId(caseStore.getCompanyId());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
CaseCompany caseCompany = wrapCompany(importPO);
|
||||||
|
users.setCompanyName(caseCompany.getCompanyName());
|
||||||
|
users.setCompanyCode(caseCompany.getCompanyId());
|
||||||
|
users.setCompanyId(caseCompany.getId());
|
||||||
|
}
|
||||||
|
users.setRole(role);
|
||||||
|
users.setMobile(importPO.getMobile());
|
||||||
|
users.setUserName(importPO.getUserName());
|
||||||
|
users.setUserNo(importPO.getUserNo());
|
||||||
|
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CaseUsers detail(JSONObject params) {
|
||||||
|
|
||||||
|
Integer userId = params.getInteger("userId");
|
||||||
|
return caseUsersMapper.selectByPrimaryKey(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(JSONObject params) {
|
||||||
|
|
||||||
|
Integer userId = params.getInteger("userId");
|
||||||
|
CaseUsers caseUsers = caseUsersMapper.selectByPrimaryKey(userId);
|
||||||
|
caseUsers.setState(Constants.DISABLE);
|
||||||
|
caseUsersMapper.updateByPrimaryKey(caseUsers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String export(JSONObject params) {
|
||||||
|
|
||||||
|
Integer state = params.getInteger("state");
|
||||||
|
String key = params.getString("key");
|
||||||
|
Integer companyId = params.getInteger("companyId");
|
||||||
|
Integer storeId = params.getInteger("storeId");
|
||||||
|
Condition condition = new Condition(CaseUsers.class);
|
||||||
|
Example.Criteria criteria = condition.createCriteria();
|
||||||
|
criteria.andCondition("state=" + state);
|
||||||
|
|
||||||
|
if (null != companyId) {
|
||||||
|
|
||||||
|
criteria.andCondition("company_id=" + companyId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null != storeId) {
|
||||||
|
|
||||||
|
criteria.andCondition("store_id=" + storeId);
|
||||||
|
}
|
||||||
|
if (null != key) {
|
||||||
|
|
||||||
|
key = com.bsd.cases.util.StringUtils.generateLike(key);
|
||||||
|
criteria.andLike("userName", key).orLike("userNo", key);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<CaseUsers> usersList = caseUsersMapper.selectByExample(condition);
|
||||||
|
|
||||||
|
|
||||||
|
String[] title = {"员工姓名", "员工号", "电话", "店铺编号", "店铺编号", "店铺编号", "店铺编号", "用户类型"};
|
||||||
|
//创建HSSF工作薄
|
||||||
|
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||||
|
//创建一个Sheet页
|
||||||
|
HSSFSheet sheet = workbook.createSheet();
|
||||||
|
//创建第一行(一般是表头)
|
||||||
|
HSSFRow row0 = sheet.createRow(0);
|
||||||
|
//创建列
|
||||||
|
HSSFCell cell = null;
|
||||||
|
|
||||||
|
// 设置字体
|
||||||
|
HSSFFont font = workbook.createFont();
|
||||||
|
font.setFontName("黑体"); //字体
|
||||||
|
font.setFontHeightInPoints((short) 12);
|
||||||
|
// 设置单元格类型
|
||||||
|
HSSFCellStyle cellStyle = workbook.createCellStyle();
|
||||||
|
cellStyle.setFont(font);
|
||||||
|
cellStyle.setAlignment(HorizontalAlignment.CENTER); //水平布局:居中
|
||||||
|
cellStyle.setWrapText(true);
|
||||||
|
|
||||||
|
//设置表头
|
||||||
|
for (int i = 0; i < title.length; i++) {
|
||||||
|
|
||||||
|
cell = row0.createCell(i);
|
||||||
|
cell.setCellStyle(cellStyle);
|
||||||
|
cell.setCellValue(title[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//填充20行数据
|
||||||
|
for (int i = 0; i < usersList.size(); i++) {
|
||||||
|
|
||||||
|
CaseUsers users = usersList.get(i);
|
||||||
|
HSSFRow row = sheet.createRow(i + 1);
|
||||||
|
HSSFCell cell1 = row.createCell(0);
|
||||||
|
cell1.setCellStyle(cellStyle);
|
||||||
|
cell1.setCellValue(i + 1);
|
||||||
|
|
||||||
|
HSSFCell cell2 = row.createCell(1);
|
||||||
|
cell2.setCellStyle(cellStyle);
|
||||||
|
cell2.setCellValue(users.getUserName());
|
||||||
|
|
||||||
|
HSSFCell cell3 = row.createCell(2);
|
||||||
|
cell3.setCellStyle(cellStyle);
|
||||||
|
cell3.setCellValue(users.getUserNo());
|
||||||
|
|
||||||
|
HSSFCell cell4 = row.createCell(3);
|
||||||
|
cell4.setCellStyle(cellStyle);
|
||||||
|
cell4.setCellValue(users.getStoreCode());
|
||||||
|
|
||||||
|
HSSFCell cell5 = row.createCell(4);
|
||||||
|
cell5.setCellStyle(cellStyle);
|
||||||
|
cell5.setCellValue(users.getStoreName());
|
||||||
|
|
||||||
|
HSSFCell cell6 = row.createCell(5);
|
||||||
|
cell6.setCellStyle(cellStyle);
|
||||||
|
cell6.setCellValue(users.getCompanyCode());
|
||||||
|
|
||||||
|
HSSFCell cell7 = row.createCell(6);
|
||||||
|
cell7.setCellStyle(cellStyle);
|
||||||
|
cell7.setCellValue(users.getCompanyName());
|
||||||
|
|
||||||
|
HSSFCell cell8 = row.createCell(7);
|
||||||
|
cell8.setCellStyle(cellStyle);
|
||||||
|
|
||||||
|
int role = users.getRole();
|
||||||
|
|
||||||
|
switch (role) {
|
||||||
|
|
||||||
|
case Constants.MOFANG_USER:
|
||||||
|
|
||||||
|
cell8.setCellValue("店铺用户");
|
||||||
|
break;
|
||||||
|
case Constants.WECHAT_USER:
|
||||||
|
|
||||||
|
cell8.setCellValue("微信用户");
|
||||||
|
break;
|
||||||
|
case Constants.HEAD_USER:
|
||||||
|
|
||||||
|
cell8.setCellValue("总部用户");
|
||||||
|
break;
|
||||||
|
case Constants.COMPANY_USER:
|
||||||
|
|
||||||
|
cell8.setCellValue("店铺用户");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sheet.autoSizeColumn((short) 0);
|
||||||
|
sheet.autoSizeColumn((short) 1);
|
||||||
|
sheet.autoSizeColumn((short) 2);
|
||||||
|
sheet.autoSizeColumn((short) 3);
|
||||||
|
sheet.autoSizeColumn((short) 4);
|
||||||
|
sheet.autoSizeColumn((short) 5);
|
||||||
|
sheet.autoSizeColumn((short) 6);
|
||||||
|
sheet.autoSizeColumn((short) 7);
|
||||||
|
|
||||||
|
String fileName = System.currentTimeMillis() + ".xls";
|
||||||
|
String absPath = exportPath + fileName;
|
||||||
|
String url = exportUrl + fileName;
|
||||||
|
//保存到本地
|
||||||
|
File file = new File(absPath);
|
||||||
|
FileOutputStream outputStream = null;
|
||||||
|
try {
|
||||||
|
outputStream = new FileOutputStream(file);
|
||||||
|
workbook.write(outputStream);
|
||||||
|
outputStream.flush();
|
||||||
|
outputStream.close();
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//将Excel写入输出流中
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
package com.bsd.cases.util;
|
||||||
|
|
||||||
|
public class StringUtils {
|
||||||
|
|
||||||
|
|
||||||
|
public static String generateLike(String key) {
|
||||||
|
|
||||||
|
return new StringBuilder("%").append(key).append("%").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,176 @@
|
|||||||
|
package com.bsd.cases.util;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by ThinkPad on 2016/7/13.
|
||||||
|
*/
|
||||||
|
public class WechatAccessUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信
|
||||||
|
*/
|
||||||
|
public static final String APPID = "wxe636fa842e12a619";
|
||||||
|
public static final String SECRET = "30d1ea3ad012d7e07ad4e6a0190b2d50";
|
||||||
|
|
||||||
|
public static final String GET_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";
|
||||||
|
public static final String GET_TICKET_URL = "https://api.weixin.qq.com/cgi-bin/ticket/getticket";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* generate random string for wechat config
|
||||||
|
*
|
||||||
|
* @param length length of random string
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getRandomString(int length) {
|
||||||
|
|
||||||
|
String base = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||||
|
|
||||||
|
Random random = new Random();
|
||||||
|
StringBuffer sb = new StringBuffer();
|
||||||
|
|
||||||
|
for (int i = 0; i < length; i++) {
|
||||||
|
|
||||||
|
int number = random.nextInt(base.length());
|
||||||
|
sb.append(base.charAt(number));
|
||||||
|
}
|
||||||
|
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getJsapiTicket() {
|
||||||
|
|
||||||
|
|
||||||
|
String requestUrl = "https://api.weixin.qq.com/cgi-bin/token?";
|
||||||
|
String params = "grant_type=client_credential&appid=" + APPID + "&secret=" + SECRET + "";
|
||||||
|
String result = HttpRequestUtils.sendGet(requestUrl + params);
|
||||||
|
String access_token = JSONObject.parseObject(result).getString("access_token");
|
||||||
|
requestUrl = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?";
|
||||||
|
params = "access_token=" + access_token + "&type=jsapi";
|
||||||
|
result = HttpRequestUtils.sendGet(requestUrl + params);
|
||||||
|
String jsapi_ticket = JSONObject.parseObject(result).getString("ticket");
|
||||||
|
int activeTime = Integer.parseInt(JSONObject.parseObject(result).getString("expires_in"));
|
||||||
|
return jsapi_ticket;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取token
|
||||||
|
*/
|
||||||
|
public static String accessToken() {
|
||||||
|
|
||||||
|
//redis中获取
|
||||||
|
//如果获取的为空那么请求wechat
|
||||||
|
String token = HttpRequestUtils.sendGet(GET_ACCESS_TOKEN_URL, "grant_type=client_credential&appid=" + APPID + "&secret=" + SECRET);
|
||||||
|
JSONObject jsonObject = JSON.parseObject(token);
|
||||||
|
String string = (String) jsonObject.get("access_token");
|
||||||
|
return string;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String userInfor(String code) {
|
||||||
|
|
||||||
|
String openIdUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxe636fa842e12a619&secret=30d1ea3ad012d7e07ad4e6a0190b2d50&code=" + code + "&grant_type=authorization_code";
|
||||||
|
String openIdString = HttpRequestUtils.sendGet(openIdUrl);
|
||||||
|
JSONObject jsonObject = JSON.parseObject(openIdString);
|
||||||
|
String string = jsonObject.getString("access_token");
|
||||||
|
String openId = jsonObject.getString("openid");
|
||||||
|
String result = HttpRequestUtils.sendGet("https://api.weixin.qq.com/sns/userinfo?access_token=" + string + "&openid=" + openId + "&lang=zh_CN");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) throws UnsupportedEncodingException {
|
||||||
|
|
||||||
|
// String json = "{\"openid\":\"oclE4xBC8O92tHHO0Hv5g9XOngp4\",\"nickname\":\"朱姚姚\",\"sex\":1,\"language\":\"zh_CN\",\"city\":\"\",\"province\":\"上海\",\"country\":\"中国\",\"headimgurl\":\"http:\\/\\/thirdwx.qlogo.cn\\/mmopen\\/vi_32\\/Q0j4TwGTfTLEtAN5k3v81rbmoPPicymGPMNCPVybJJvv9d8bpx0LYMFG55AHLjr3sWTU2YjROFsvgvWwAMeARkg\\/132\",\"privilege\":[],\"unionid\":\"o15urwhxT44muqRacFs9P3nL9z6A\"}";
|
||||||
|
// JSONObject obj = JSONObject.parseObject(json);
|
||||||
|
// System.out.println(obj.getString("openid"));
|
||||||
|
// System.out.println(obj.getString("nickname"));
|
||||||
|
// System.out.println(obj.getString("headimgurl"));
|
||||||
|
|
||||||
|
String result = HttpRequestUtils.sendGet("http://pro.kiisoo.com/retail-app/open/token?appid=wxe636fa842e12a619&secret=30d1ea3ad012d7e07ad4e6a0190b2d50");
|
||||||
|
String ticket = JSONObject.parseObject(result).getJSONObject("results").get("ticket").toString();
|
||||||
|
System.out.println(ticket);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static JSONObject share(String url) throws Exception {
|
||||||
|
|
||||||
|
long timestamp = System.currentTimeMillis() / 1000;
|
||||||
|
String nonceStr = UUID.randomUUID().toString();
|
||||||
|
|
||||||
|
String result = HttpRequestUtils.sendGet("http://pro.kiisoo.com/retail-app/open/token?appid=wxe636fa842e12a619&secret=30d1ea3ad012d7e07ad4e6a0190b2d50");
|
||||||
|
String ticket = JSONObject.parseObject(result).getJSONObject("results").get("ticket").toString();
|
||||||
|
String signature = getSignature(
|
||||||
|
ticket, nonceStr, timestamp,
|
||||||
|
url);
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("appid", APPID);
|
||||||
|
jsonObject.put("timestamp", timestamp);
|
||||||
|
jsonObject.put("nonceStr", nonceStr);
|
||||||
|
jsonObject.put("signature", signature);
|
||||||
|
return jsonObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得分享链接的签名。
|
||||||
|
*
|
||||||
|
* @param ticket
|
||||||
|
* @param nonceStr
|
||||||
|
* @param timeStamp
|
||||||
|
* @param url
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public static String getSignature(String ticket, String nonceStr, long timeStamp, String url) throws Exception {
|
||||||
|
String sKey = "jsapi_ticket=" + ticket
|
||||||
|
+ "&noncestr=" + nonceStr + "×tamp=" + timeStamp
|
||||||
|
+ "&url=" + url;
|
||||||
|
return getSignature(sKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证签名
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getSignature(String sKey) throws Exception {
|
||||||
|
String ciphertext = null;
|
||||||
|
MessageDigest md = MessageDigest.getInstance("SHA-1");
|
||||||
|
byte[] digest = md.digest(sKey.toString().getBytes());
|
||||||
|
ciphertext = byteToStr(digest);
|
||||||
|
return ciphertext.toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将字节数组转换为十六进制字符串
|
||||||
|
*
|
||||||
|
* @param byteArray
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private static String byteToStr(byte[] byteArray) {
|
||||||
|
String strDigest = "";
|
||||||
|
for (int i = 0; i < byteArray.length; i++) {
|
||||||
|
strDigest += byteToHexStr(byteArray[i]);
|
||||||
|
}
|
||||||
|
return strDigest;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static String byteToHexStr(byte mByte) {
|
||||||
|
char[] Digit = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
|
||||||
|
char[] tempArr = new char[2];
|
||||||
|
tempArr[0] = Digit[(mByte >>> 4) & 0X0F];
|
||||||
|
tempArr[1] = Digit[mByte & 0X0F];
|
||||||
|
|
||||||
|
String s = new String(tempArr);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue