master
zyy 6 years ago
parent 5409fe83d2
commit 692fd6a34f

@ -225,6 +225,16 @@
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
</dependencies>
<build>

@ -2,6 +2,14 @@ package com.bsd.cases.constants;
public class Constants {
public static final int PAGE_SIZE = 20;
public static final String RETAIL_KEY = "cb472ab819ba7209e37fbf0e501a2964";
public static final String MOFANG_KEY = "876215850057f8245d2bd82554bd7e7c";
public static final String SYSTEM_USER = "admin";
/**
* state 1
@ -11,4 +19,34 @@ public class Constants {
* state 0
*/
public static final Integer STATE_INVALID = 0;
//禁用
public static final int DISABLE = 0;
//启用
public static final int ENABLE = 1;
//管理员
public static final int ADMIN_USER = 1;
//店铺用户
public static final int MOFANG_USER = 2;
//微信用户
public static final int WECHAT_USER = 3;
//总部用户
public static final int HEAD_USER = 4;
//店铺用户
public static final int COMPANY_USER = 5;
public static final String DOWNLOAD_TYPE_IMAGE = ".png";
public static final String DOWNLOAD_TYPE_VIDEO = ".mp4";
//缓存 key
public static final String SIGN_UP_KEY = "SIGN_UP_KEY";
public static final String ACTIVITY_KEY = "ACTIVITY_KEY";
public static final String RANK_KEY = "RANK_KEY";
public static final Integer SIGN_UP_SELECTED = 1;
}

@ -0,0 +1,149 @@
package com.bsd.cases.controller;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.model.CaseCompany;
import com.bsd.cases.service.CaseCompanyService;
import com.bsd.cases.util.AjaxResult;
import com.bsd.cases.util.PageAjax;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api("公司API")
@RestController
@RequestMapping("/api/company")
public class CaseCompanyController {
@Resource
private CaseCompanyService caseCompanyService;
@ApiOperation(value = "公司列表,不需要传参,返回所有公司信息", notes = "公司列表")
@PostMapping("list")
public AjaxResult list(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
ajaxResult.setData(caseCompanyService.list(jsonObject));
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setRetmsg("获取公司列表成功");
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("获取公司列表失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "公司列表PC", notes = "公司列表PC")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "起始页码"),
@ApiImplicitParam(name = "key", value = "公司名称"),
@ApiImplicitParam(name = "areaId", value = "区域id"),
@ApiImplicitParam(name = "state", value = "1正常0删除")
})
@PostMapping("listbypage")
@RequiresAuthentication
public AjaxResult listByPage(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
PageAjax<CaseCompany> pageAjax = caseCompanyService.listByPage(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setData(pageAjax);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "公司详情PC", notes = "公司详情PC")
@ApiImplicitParams({
@ApiImplicitParam(name = "companyId", value = "公司id")
})
@PostMapping("detail")
@RequiresAuthentication
public AjaxResult detail(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
CaseCompany caseCompany = caseCompanyService.detail(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setData(caseCompany);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "增加/编辑公司", notes = "增加/编辑公司")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "公司id"),
@ApiImplicitParam(name = "companyId", value = "公司编号"),
@ApiImplicitParam(name = "companyName", value = "公司名称"),
@ApiImplicitParam(name = "areaId", value = "区域id")
})
@PostMapping("add")
@RequiresAuthentication
public AjaxResult add(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseCompanyService.add(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "删除", notes = "增加公司")
@ApiImplicitParams({
@ApiImplicitParam(name = "companyId", value = "公司id")
})
@PostMapping("delete")
@RequiresAuthentication
public AjaxResult delete(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseCompanyService.delete(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
}

@ -0,0 +1,158 @@
package com.bsd.cases.controller;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.model.CaseStore;
import com.bsd.cases.service.CaseStoreService;
import com.bsd.cases.util.AjaxResult;
import com.bsd.cases.util.PageAjax;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api("店铺API")
@RestController
@RequestMapping("/api/store")
public class CaseStoreController {
@Resource
private CaseStoreService caseStoreService;
@ApiOperation(value = "店铺列表", notes = "店铺列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "起始页码")
})
@PostMapping("list")
public AjaxResult list(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
PageAjax<CaseStore> pageAjax = caseStoreService.list(jsonObject);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(pageAjax);
ajaxResult.setRetmsg("获取店铺成功");
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("获取店铺失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "店铺列表PC", notes = "店铺列表PC")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "起始页码"),
@ApiImplicitParam(name = "key", value = "店铺编号或店铺名称"),
@ApiImplicitParam(name = "companyId", value = "公司id"),
@ApiImplicitParam(name = "state", value = "1正常0删除")
})
@PostMapping("listbypage")
@RequiresAuthentication
public AjaxResult listByPage(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
PageAjax<CaseStore> pageAjax = caseStoreService.listByPage(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setData(pageAjax);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "保存店铺信息", notes = "保存店铺信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "storeName", value = "店铺名称"),
@ApiImplicitParam(name = "companyId", value = "公司id"),
@ApiImplicitParam(name = "companyCode", value = "公司编码"),
@ApiImplicitParam(name = "storeId", value = "店铺id"),
@ApiImplicitParam(name = "storeCode", value = "店铺编码"),
})
@PostMapping("add")
@RequiresAuthentication
public AjaxResult add(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseStoreService.add(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "删除", notes = "删除店铺")
@ApiImplicitParams({
@ApiImplicitParam(name = "storeId", value = "店铺id")
})
@PostMapping("delete")
@RequiresAuthentication
public AjaxResult delete(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseStoreService.delete(jsonObject);
ajaxResult.setRetmsg("操作成功");
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "店铺详情PC", notes = "店铺详情PC")
@ApiImplicitParams({
@ApiImplicitParam(name = "storeId", value = "店铺id")
})
@PostMapping("detail")
public AjaxResult detail(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
CaseStore caseStore = caseStoreService.detail(jsonObject);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(caseStore);
ajaxResult.setRetmsg("获取店铺详情成功");
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("获取失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
}

@ -0,0 +1,175 @@
package com.bsd.cases.controller;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.model.CaseUsers;
import com.bsd.cases.service.CaseUsersService;
import com.bsd.cases.util.AjaxResult;
import com.bsd.cases.util.FileUtils;
import com.bsd.cases.util.PageAjax;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@RestController
@RequestMapping("/api/user")
public class CaseUserController {
@Resource
private CaseUsersService caseUsersService;
@Value("${upload.path}")
private String uploadPath;
@ApiOperation(value = "用户列表PC", notes = "用户列表PC")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "起始页码"),
@ApiImplicitParam(name = "name", value = "员工工号或者姓名"),
@ApiImplicitParam(name = "storeId", value = "店铺id"),
@ApiImplicitParam(name = "companyId", value = "公司id"),
@ApiImplicitParam(name = "activityState", value = "活动状态"),
@ApiImplicitParam(name = "state", value = "1正常0删除")
})
@PostMapping("listbypage")
@RequiresAuthentication
public AjaxResult listByPage(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
PageAjax<CaseUsers> pageAjax = caseUsersService.listByPage(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setData(pageAjax);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "新增用户", notes = "新增用户")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "员工id"),
@ApiImplicitParam(name = "userName", value = "姓名"),
@ApiImplicitParam(name = "userNo", value = "员工工号"),
@ApiImplicitParam(name = "storeId", value = "店铺id"),
@ApiImplicitParam(name = "companyId", value = "公司id"),
@ApiImplicitParam(name = "storeName", value = "店铺名称"),
@ApiImplicitParam(name = "companyName", value = "公司名称"),
@ApiImplicitParam(name = "state", value = "1正常0删除")
})
@PostMapping("add")
@RequiresAuthentication
public AjaxResult add(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseUsersService.add(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "用户详情", notes = "用户详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户id")
})
@PostMapping("detail")
@RequiresAuthentication
public AjaxResult detail(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
CaseUsers users = caseUsersService.detail(jsonObject);
ajaxResult.setData(users);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "删除用户", notes = "删除用户")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户id")
})
@PostMapping("delete")
@RequiresAuthentication
public AjaxResult delete(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseUsersService.delete(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "导出用户", notes = "导入用户")
@PostMapping(value = "export")
@ResponseBody
public AjaxResult export(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
String url = caseUsersService.export(jsonObject);
ajaxResult.setData(url);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetcode(AjaxResult.FAILED);
}
//返回json
return ajaxResult;
}
//处理文件上传
@ApiOperation(value = "导入用户", notes = "导入用户")
@PostMapping(value = "uploadexcel")
@ResponseBody
public AjaxResult uploadExcel(@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();
AjaxResult ajaxResult = new AjaxResult();
try {
FileUtils.uploadFile(file.getBytes(), uploadPath, fileName);
caseUsersService.saveUserList(uploadPath, fileName);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetcode(AjaxResult.FAILED);
}
//返回json
return ajaxResult;
}
}

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

@ -88,6 +88,18 @@ public class DateUtils {
return dateFormat.format(date);
}
public static String curDateTimeString() {
Date date = Calendar.getInstance().getTime();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return df.format(date);
}
public static Date curDateTime() {
return Calendar.getInstance().getTime();
}
public static void main(String[] args) {

@ -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 + "&timestamp=" + 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…
Cancel
Save