|
@@ -1,12 +1,10 @@
|
|
|
package com.iamberry.rst.controllers.cm;
|
|
|
|
|
|
-import com.iamberry.rst.core.cm.ComplaintTypeInfo;
|
|
|
-import com.iamberry.rst.core.cm.CustomerInfo;
|
|
|
-import com.iamberry.rst.core.cm.Postage;
|
|
|
-import com.iamberry.rst.core.cm.QuestionDescribe;
|
|
|
+import com.iamberry.rst.core.cm.*;
|
|
|
import com.iamberry.rst.core.order.ProductType;
|
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
|
import com.iamberry.rst.core.sys.Admin;
|
|
|
+import com.iamberry.rst.faces.cm.PostageAuthorityService;
|
|
|
import com.iamberry.rst.faces.cm.PostageService;
|
|
|
import com.iamberry.rst.faces.sys.SysService;
|
|
|
import com.iamberry.rst.utils.AdminUtils;
|
|
@@ -23,8 +21,11 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.lang.reflect.Array;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by wxm
|
|
@@ -38,6 +39,8 @@ public class AdminPostageController {
|
|
|
@Autowired
|
|
|
private PostageService postageService;
|
|
|
@Autowired
|
|
|
+ private PostageAuthorityService postageAuthorityService;
|
|
|
+ @Autowired
|
|
|
private SysService sysService;
|
|
|
|
|
|
/**
|
|
@@ -53,166 +56,188 @@ public class AdminPostageController {
|
|
|
@RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
|
|
|
@RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
|
|
|
ModelAndView mv = new ModelAndView("cm/postage/postage_list");
|
|
|
- List<String> operation = getAdminDept(); //1=客服 2=客服经理 3=财务经理 4=财务打款
|
|
|
- PagedResult<Postage> pagedResult = postageService.listPostage(pageNO, pageSize, postage, totalNum == 0);
|
|
|
+ Admin loginAdmin = AdminUtils.getLoginAdmin();
|
|
|
+
|
|
|
+ PagedResult<Postage> pagedResult = new PagedResult<>();
|
|
|
+
|
|
|
+ //获取登录人id
|
|
|
+ if(loginAdmin.getAdminDept() == 3 && loginAdmin.getAdminManager() == 1){ //员工
|
|
|
+ postage.setAdminId(loginAdmin.getAdminId());
|
|
|
+ }else if(loginAdmin.getAdminDept() == 3 && loginAdmin.getAdminManager() == 2) {
|
|
|
+
|
|
|
+ }else{
|
|
|
+ /* 获取个人权限所属的销售公司 ,只查询所分的权限的列表 */
|
|
|
+ ArrayList companyIdList = new ArrayList();
|
|
|
+ List<PostageAuthority> postageAuthorityList = postageAuthorityService.getPostageAuthorityListByAdminId(loginAdmin.getAdminId());
|
|
|
+ for (PostageAuthority postageAuthority:postageAuthorityList ) {
|
|
|
+ companyIdList.add(postageAuthority.getCompanyId());
|
|
|
+ }
|
|
|
+ Integer[] companyIds = (Integer[]) companyIdList.toArray(new Integer[companyIdList.size()]);//能正确运行
|
|
|
+ if(companyIds == null || companyIds.length == 0){
|
|
|
+ companyIds = new Integer[]{99};
|
|
|
+ }
|
|
|
+ postage.setCompanyIds(companyIds);
|
|
|
+ }
|
|
|
+ pagedResult = postageService.listPostage(pageNO, pageSize, postage, totalNum == 0);
|
|
|
if (totalNum != 0) {
|
|
|
pagedResult.setTotal(totalNum);
|
|
|
}
|
|
|
- //查询跟进客服集合
|
|
|
- Admin admin = new Admin();
|
|
|
- admin.setAdminStatus(1);
|
|
|
- List<Admin> adminList = sysService.listSelectAdmin(admin);
|
|
|
|
|
|
- mv.addObject("operation", operation);
|
|
|
- mv.addObject("adminList", adminList);
|
|
|
+ getManager(loginAdmin,pagedResult);
|
|
|
+
|
|
|
StitchAttrUtil.setModelAndView(postage, mv, "/admin/postage/postage_list", pagedResult);
|
|
|
return mv;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取登录用户的权限
|
|
|
- * @return
|
|
|
- */
|
|
|
- private List<String> getAdminDept(){
|
|
|
- //获取登录人id
|
|
|
- Admin loginAdmin = AdminUtils.getLoginAdmin();
|
|
|
- //判断当前登录人权限
|
|
|
- List<String> operation = sysService.listPermissionShiro(loginAdmin.getAdminId());
|
|
|
- return operation;
|
|
|
- }
|
|
|
|
|
|
+ private void getManager(Admin loginAdmin,PagedResult<Postage> pagedResult){
|
|
|
+ for (int i=0;i<pagedResult.getDataList().size();i++){
|
|
|
|
|
|
- /**
|
|
|
- * 客服确认状态
|
|
|
- * @return
|
|
|
- */
|
|
|
- @ResponseBody
|
|
|
- @RequiresPermissions("postage:update:confirm")
|
|
|
- @RequestMapping(value = "/updateConfirmPostage")
|
|
|
- public ResponseJson updateConfirmPostage(HttpServletRequest request, Integer postageId,Integer status) throws Exception {
|
|
|
- if(postageId == null || postageId == 0){
|
|
|
- return new ResponseJson(500, "未获取到记录id", 500);
|
|
|
- }
|
|
|
- if( status == null || status == 0){
|
|
|
- return new ResponseJson(500, "修改失败,请重试", 500);
|
|
|
- }
|
|
|
- Postage post = postageService.getPostage(postageId);
|
|
|
- Postage postage = new Postage();
|
|
|
- postage.setPostageId(postageId);
|
|
|
- //判断修改类型 1=客服修改申请状态 2=客服经理修改审核状态 3=财务经理修改审核转账状态
|
|
|
- Integer num = 0;
|
|
|
- if(post.getPostageCustomerStatus() == 1){
|
|
|
- if(status == 2){
|
|
|
- postage.setPostageCustomerStatus(status); //申请中,
|
|
|
- postage.setPostageManagerStatus(1); //审核中
|
|
|
+ Integer companyId = pagedResult.getDataList().get(i).getCompanyId();
|
|
|
+
|
|
|
+ Map<String,Integer> map = new HashMap<>();
|
|
|
+ ArrayList authorityCustomerManagerList = new ArrayList();
|
|
|
+ ArrayList authorityFinancialManagerList = new ArrayList();
|
|
|
+ ArrayList authorityFinancialPaymentList = new ArrayList();
|
|
|
+ List<PostageAuthority> postageAuthorityList = postageAuthorityService.getPostageAuthorityListByAdminId(loginAdmin.getAdminId());
|
|
|
+ for (PostageAuthority postageAuthority:postageAuthorityList ) {
|
|
|
+ if(companyId == postageAuthority.getCompanyId()){
|
|
|
+ if(loginAdmin.getAdminId() == postageAuthority.getAuthorityCustomerManager()){
|
|
|
+ authorityCustomerManagerList.add(postageAuthority.getAuthorityCustomerManager());
|
|
|
+ }
|
|
|
+ if(loginAdmin.getAdminId() == postageAuthority.getAuthorityFinancialManager()){
|
|
|
+ authorityFinancialManagerList.add(postageAuthority.getAuthorityFinancialManager());
|
|
|
+ }
|
|
|
+ if(loginAdmin.getAdminId() == postageAuthority.getAuthorityFinancialPayment()){
|
|
|
+ authorityFinancialPaymentList.add(postageAuthority.getAuthorityFinancialPayment());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(authorityCustomerManagerList != null && authorityCustomerManagerList.size() > 0){
|
|
|
+ pagedResult.getDataList().get(i).setCustomerManager(1);
|
|
|
+ }else{
|
|
|
+ pagedResult.getDataList().get(i).setCustomerManager(0);
|
|
|
}
|
|
|
- num = postageService.updatePostage(postage);
|
|
|
- }
|
|
|
|
|
|
- if(num > 0){
|
|
|
- return new ResponseJson(200, "修改成功", 200);
|
|
|
- }else{
|
|
|
- return new ResponseJson(500, "修改失败", 500);
|
|
|
- }
|
|
|
- }
|
|
|
+ if(authorityFinancialManagerList != null && authorityFinancialManagerList.size() > 0){
|
|
|
+ pagedResult.getDataList().get(i).setFinanceManager(1);
|
|
|
+ }else{
|
|
|
+ pagedResult.getDataList().get(i).setFinanceManager(0);
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 客服经理审核
|
|
|
- * @return
|
|
|
- */
|
|
|
- @ResponseBody
|
|
|
- @RequiresPermissions("postage:customer:review")
|
|
|
- @RequestMapping(value = "/updateCustomerReview")
|
|
|
- public ResponseJson updatePostageStatus(HttpServletRequest request, Integer postageId,Integer status) throws Exception {
|
|
|
- if(postageId == null || postageId == 0){
|
|
|
- return new ResponseJson(500, "未获取到记录id", 500);
|
|
|
- }
|
|
|
- if(status == null || status == 0){
|
|
|
- return new ResponseJson(500, "修改失败,请重试", 500);
|
|
|
- }
|
|
|
- Postage post = postageService.getPostage(postageId);
|
|
|
- Integer num = 0;
|
|
|
- if(post.getPostageManagerStatus() == 1){ //审核中
|
|
|
- Postage postage = new Postage();
|
|
|
- postage.setPostageId(postageId);
|
|
|
- if(status == 2){ //状态(客服经理审核)1:审核中 2:通过 3:驳回
|
|
|
- postage.setPostageManagerStatus(status);
|
|
|
- postage.setPostageFinanceStatus(1); //审核中
|
|
|
+ if(authorityFinancialPaymentList != null && authorityFinancialPaymentList.size() > 0){
|
|
|
+ pagedResult.getDataList().get(i).setFinancePay(1);
|
|
|
}else{
|
|
|
- postage.setPostageManagerStatus(status); //驳回
|
|
|
+ pagedResult.getDataList().get(i).setFinancePay(0);
|
|
|
}
|
|
|
- num = postageService.updatePostage(postage);
|
|
|
- }
|
|
|
|
|
|
- if(num > 0){
|
|
|
- return new ResponseJson(200, "修改成功", 200);
|
|
|
- }else{
|
|
|
- return new ResponseJson(500, "修改失败", 500);
|
|
|
+ if(pagedResult.getDataList().get(i).getAdminId() == loginAdmin.getAdminId()){
|
|
|
+ pagedResult.getDataList().get(i).setCustomerConfirm(1);
|
|
|
+ }else{
|
|
|
+ pagedResult.getDataList().get(i).setCustomerConfirm(0);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 财务经理审核
|
|
|
+ * 验证审核权限
|
|
|
+ * @param companyId 销售公司
|
|
|
+ * @param reviewNumber 2:客服经理 3:财务审核 4:财务打款
|
|
|
* @return
|
|
|
*/
|
|
|
- @ResponseBody
|
|
|
- @RequiresPermissions("postage:finance:review")
|
|
|
- @RequestMapping(value = "/updateFinanceReview")
|
|
|
- public ResponseJson updateFinanceReview(HttpServletRequest request, Integer postageId,Integer status) throws Exception {
|
|
|
- if(postageId == null || postageId == 0){
|
|
|
- return new ResponseJson(500, "未获取到记录id", 500);
|
|
|
- }
|
|
|
- if(status == null || status == 0){
|
|
|
- return new ResponseJson(500, "修改失败,请重试", 500);
|
|
|
- }
|
|
|
- Postage post = postageService.getPostage(postageId);
|
|
|
- Integer num = 0;
|
|
|
-
|
|
|
- if((post.getPostageFinanceStatus() == 1) ){
|
|
|
- Postage postage = new Postage();
|
|
|
- postage.setPostageId(postageId);
|
|
|
- //状态(财务审核) 1:审核中 2:通过(已申请待转账) 3:驳回 4:已转账
|
|
|
- postage.setPostageFinanceStatus(status);
|
|
|
- num = postageService.updatePostage(postage);
|
|
|
- }
|
|
|
+ private boolean verificaAuthority(Integer companyId,Integer reviewNumber){
|
|
|
+ if(companyId == null ) return false;
|
|
|
|
|
|
- if(num > 0){
|
|
|
- return new ResponseJson(200, "修改成功", 200);
|
|
|
- }else{
|
|
|
- return new ResponseJson(500, "修改失败", 500);
|
|
|
+ //获取登录人id
|
|
|
+ Admin loginAdmin = AdminUtils.getLoginAdmin();
|
|
|
+ boolean flag = false;
|
|
|
+ PostageAuthority postageAuthority = new PostageAuthority();
|
|
|
+ postageAuthority.setCompanyId(companyId);
|
|
|
+ List<PostageAuthority> postageAuthorityList = postageAuthorityService.getPostageAuthorityList(postageAuthority);
|
|
|
+ for (PostageAuthority authority : postageAuthorityList) {
|
|
|
+ switch (reviewNumber){
|
|
|
+ case 2:
|
|
|
+ if(authority.getAuthorityCustomerManager() == loginAdmin.getAdminId()){
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ if(authority.getAuthorityFinancialManager() == loginAdmin.getAdminId()){
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ if(authority.getAuthorityFinancialPayment() == loginAdmin.getAdminId()){
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
+ return flag;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
- * 财务经理打款
|
|
|
+ * 客服确认状态
|
|
|
* @return
|
|
|
*/
|
|
|
@ResponseBody
|
|
|
- @RequiresPermissions("postage:finance:money")
|
|
|
- @RequestMapping(value = "/updateFinanceMoney")
|
|
|
- public ResponseJson updateFinanceMoney(HttpServletRequest request, Integer postageId,Integer status) throws Exception {
|
|
|
+ @RequiresPermissions("postage:update:confirm")
|
|
|
+ @RequestMapping(value = "/updateConfirmPostage")
|
|
|
+ public ResponseJson updateConfirmPostage(HttpServletRequest request, Integer postageId,Integer status,Integer type) throws Exception {
|
|
|
if(postageId == null || postageId == 0){
|
|
|
return new ResponseJson(500, "未获取到记录id", 500);
|
|
|
}
|
|
|
- if(status == null || status == 0){
|
|
|
- return new ResponseJson(500, "修改失败,请重试", 500);
|
|
|
+ if( status == null || status == 0){
|
|
|
+ return new ResponseJson(500, "修改状态失败,请重试", 500);
|
|
|
}
|
|
|
Postage post = postageService.getPostage(postageId);
|
|
|
+
|
|
|
+ Postage postage = new Postage();
|
|
|
+ postage.setPostageId(postageId);
|
|
|
+ //判断修改类型 1=客服修改申请状态 2=客服经理修改审核状态 3=财务经理修改审核转账状态
|
|
|
Integer num = 0;
|
|
|
+ switch (type){
|
|
|
+ case 1: ////客服确认
|
|
|
+ if(post.getPostageCustomerStatus() == 1){
|
|
|
+ if(status == 2){
|
|
|
+ postage.setPostageCustomerStatus(status); //申请中,
|
|
|
+ postage.setPostageManagerStatus(1); //审核中
|
|
|
+ }
|
|
|
+ num = postageService.updatePostage(postage);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 2: //客服经理审核
|
|
|
+ if(post.getPostageManagerStatus() == 1 && verificaAuthority(post.getCompanyId(),2)){ //审核中
|
|
|
+ if(status == 2){ //状态(客服经理审核)1:审核中 2:通过 3:驳回
|
|
|
+ postage.setPostageManagerStatus(status);
|
|
|
+ postage.setPostageFinanceStatus(1); //审核中
|
|
|
+ }else{
|
|
|
+ postage.setPostageManagerStatus(status); //驳回
|
|
|
+ }
|
|
|
+ num = postageService.updatePostage(postage);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3: //财务审核
|
|
|
+ if((post.getPostageFinanceStatus() == 1) && verificaAuthority(post.getCompanyId(),3)){
|
|
|
+ //状态(财务审核) 1:审核中 2:通过(已申请待转账) 3:驳回 4:已转账
|
|
|
+ postage.setPostageFinanceStatus(status);
|
|
|
+ num = postageService.updatePostage(postage);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4: //财务打款
|
|
|
|
|
|
- if((post.getPostageFinanceStatus() == 2) ){
|
|
|
- Postage postage = new Postage();
|
|
|
- postage.setPostageId(postageId);
|
|
|
- //状态(财务审核) 1:审核中 2:通过(已申请待转账) 3:驳回 4:已转账
|
|
|
- postage.setPostageFinanceStatus(status);
|
|
|
- num = postageService.updatePostage(postage);
|
|
|
+ if((post.getPostageFinanceStatus() == 2) && verificaAuthority(post.getCompanyId(),4)){
|
|
|
+ //状态(财务审核) 1:审核中 2:通过(已申请待转账) 3:驳回 4:已转账
|
|
|
+ postage.setPostageFinanceStatus(status);
|
|
|
+ num = postageService.updatePostage(postage);
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
if(num > 0){
|
|
|
- return new ResponseJson(200, "修改成功", 200);
|
|
|
+ return new ResponseJson(200, "修改状态成功", 200);
|
|
|
}else{
|
|
|
- return new ResponseJson(500, "修改失败", 500);
|
|
|
+ return new ResponseJson(500, "修改状态失败", 500);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -231,9 +256,9 @@ public class AdminPostageController {
|
|
|
num = postageService.delPostage(postageId);
|
|
|
|
|
|
if(num > 0){
|
|
|
- return new ResponseJson(200, "修改成功", 200);
|
|
|
+ return new ResponseJson(200, "修改状态成功", 200);
|
|
|
}else{
|
|
|
- return new ResponseJson(500, "修改失败", 500);
|
|
|
+ return new ResponseJson(500, "修改状态失败", 500);
|
|
|
}
|
|
|
}
|
|
|
|