|
@@ -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();
|
|
|
- PagedResult<Postage> pagedResult = postageService.listPostage(pageNO, pageSize, postage, totalNum == 0);
|
|
|
+ Admin loginAdmin = AdminUtils.getLoginAdmin();
|
|
|
+
|
|
|
+ PagedResult<Postage> pagedResult = new PagedResult<>();
|
|
|
+
|
|
|
+
|
|
|
+ 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(){
|
|
|
-
|
|
|
- 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);
|
|
|
-
|
|
|
- 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){
|
|
|
- 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);
|
|
|
-
|
|
|
- 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);
|
|
|
+
|
|
|
+ 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);
|
|
|
+
|
|
|
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){
|
|
|
+ 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)){
|
|
|
+
|
|
|
+ postage.setPostageFinanceStatus(status);
|
|
|
+ num = postageService.updatePostage(postage);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
|
|
|
- if((post.getPostageFinanceStatus() == 2) ){
|
|
|
- Postage postage = new Postage();
|
|
|
- postage.setPostageId(postageId);
|
|
|
-
|
|
|
- postage.setPostageFinanceStatus(status);
|
|
|
- num = postageService.updatePostage(postage);
|
|
|
+ if((post.getPostageFinanceStatus() == 2) && verificaAuthority(post.getCompanyId(),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);
|
|
|
}
|
|
|
}
|
|
|
|