diff --git a/pom.xml b/pom.xml
index cb09397..dfa67b5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -225,6 +225,16 @@
commons-logging
1.2
+
+ org.apache.poi
+ poi
+ 4.1.0
+
+
+ org.apache.poi
+ poi-ooxml
+ 4.1.0
+
diff --git a/src/main/java/com/bsd/cases/constants/Constants.java b/src/main/java/com/bsd/cases/constants/Constants.java
index bd1f4fd..efb9853 100644
--- a/src/main/java/com/bsd/cases/constants/Constants.java
+++ b/src/main/java/com/bsd/cases/constants/Constants.java
@@ -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;
}
diff --git a/src/main/java/com/bsd/cases/controller/CaseCompanyController.java b/src/main/java/com/bsd/cases/controller/CaseCompanyController.java
new file mode 100644
index 0000000..1e5e468
--- /dev/null
+++ b/src/main/java/com/bsd/cases/controller/CaseCompanyController.java
@@ -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 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;
+ }
+
+}
diff --git a/src/main/java/com/bsd/cases/controller/CaseStoreController.java b/src/main/java/com/bsd/cases/controller/CaseStoreController.java
new file mode 100644
index 0000000..6c19b55
--- /dev/null
+++ b/src/main/java/com/bsd/cases/controller/CaseStoreController.java
@@ -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 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 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;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/bsd/cases/controller/CaseUserController.java b/src/main/java/com/bsd/cases/controller/CaseUserController.java
new file mode 100644
index 0000000..8330312
--- /dev/null
+++ b/src/main/java/com/bsd/cases/controller/CaseUserController.java
@@ -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 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;
+ }
+
+}
diff --git a/src/main/java/com/bsd/cases/service/CaseAreaService.java b/src/main/java/com/bsd/cases/service/CaseAreaService.java
new file mode 100644
index 0000000..db71129
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/CaseAreaService.java
@@ -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 list();
+
+ public PageAjax listByPage(JSONObject params);
+
+ public void add(JSONObject params);
+}
diff --git a/src/main/java/com/bsd/cases/service/CaseCompanyService.java b/src/main/java/com/bsd/cases/service/CaseCompanyService.java
new file mode 100644
index 0000000..a064f8a
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/CaseCompanyService.java
@@ -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 list(JSONObject jsonObject);
+
+
+ PageAjax listByPage(JSONObject params);
+
+ CaseCompany detail(JSONObject params);
+
+ void delete(JSONObject params);
+
+ void add(JSONObject params);
+}
diff --git a/src/main/java/com/bsd/cases/service/CaseStoreService.java b/src/main/java/com/bsd/cases/service/CaseStoreService.java
new file mode 100644
index 0000000..6ea9bec
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/CaseStoreService.java
@@ -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 list(JSONObject params);
+
+ public PageAjax listByPage(JSONObject params);
+
+ public void add(JSONObject params);
+
+ public void delete(JSONObject params);
+
+ public CaseStore detail(JSONObject params);
+}
diff --git a/src/main/java/com/bsd/cases/service/CaseUsersService.java b/src/main/java/com/bsd/cases/service/CaseUsersService.java
new file mode 100644
index 0000000..47e27d3
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/CaseUsersService.java
@@ -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 listByPage(JSONObject params);
+
+ void add(JSONObject params);
+
+ List importFromExcel(String uploadPath, String fileName)throws IOException;
+
+
+ CaseUsers detail(JSONObject params);
+
+ void delete(JSONObject params);
+
+}
+
+
+
diff --git a/src/main/java/com/bsd/cases/service/impl/CaseAreaServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseAreaServiceImpl.java
new file mode 100644
index 0000000..b8a9b1c
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/impl/CaseAreaServiceImpl.java
@@ -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 list() {
+
+ return caseAreaMapper.selectAll();
+ }
+
+ public PageAjax 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 areaList = caseAreaMapper.selectByExample(condition);
+ PageAjax 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);
+ }
+ }
+}
diff --git a/src/main/java/com/bsd/cases/service/impl/CaseCompanyServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseCompanyServiceImpl.java
new file mode 100644
index 0000000..e274d8a
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/impl/CaseCompanyServiceImpl.java
@@ -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 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 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 companyList =caseCompanyMapper.selectByExample(condition);
+ PageAjax 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);
+ }
+
+ }
+}
diff --git a/src/main/java/com/bsd/cases/service/impl/CaseStoreServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseStoreServiceImpl.java
new file mode 100644
index 0000000..1ef3a6b
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/impl/CaseStoreServiceImpl.java
@@ -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 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 storeList = caseStoreMapper.selectByExample(condition);
+ PageAjax pageAjax = new PageAjax<>(storeList);
+ return pageAjax;
+ }
+
+ public PageAjax 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 usersList = caseStoreMapper.selectByExample(condition);
+ PageAjax 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);
+ }
+}
diff --git a/src/main/java/com/bsd/cases/service/impl/CaseUsersServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseUsersServiceImpl.java
new file mode 100644
index 0000000..bb8666e
--- /dev/null
+++ b/src/main/java/com/bsd/cases/service/impl/CaseUsersServiceImpl.java
@@ -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 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 usersList = caseUsersMapper.selectByExample(condition);
+ PageAjax 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 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 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 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 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 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;
+ }
+}
diff --git a/src/main/java/com/bsd/cases/util/DateUtils.java b/src/main/java/com/bsd/cases/util/DateUtils.java
index 913cfda..e70dfad 100644
--- a/src/main/java/com/bsd/cases/util/DateUtils.java
+++ b/src/main/java/com/bsd/cases/util/DateUtils.java
@@ -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) {
diff --git a/src/main/java/com/bsd/cases/util/StringUtils.java b/src/main/java/com/bsd/cases/util/StringUtils.java
new file mode 100644
index 0000000..fe56516
--- /dev/null
+++ b/src/main/java/com/bsd/cases/util/StringUtils.java
@@ -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();
+ }
+
+
+}
diff --git a/src/main/java/com/bsd/cases/util/WechatAccessUtils.java b/src/main/java/com/bsd/cases/util/WechatAccessUtils.java
new file mode 100644
index 0000000..f3e0848
--- /dev/null
+++ b/src/main/java/com/bsd/cases/util/WechatAccessUtils.java
@@ -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;
+ }
+
+}