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