Explorar o código

Merge remote-tracking branch 'origin/develop' into develop

‘linchangsheng’ hai 6 meses
pai
achega
bf60721819

+ 16 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/worker/WorkerTeamApplyBean.java

@@ -0,0 +1,16 @@
+package com.gree.mall.miniapp.bean.worker;
+
+import com.gree.mall.miniapp.plus.entity.WorkerTeamApply;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel
+public class WorkerTeamApplyBean extends WorkerTeamApply {
+
+    @ApiModelProperty(value = "网点名称")
+    private String websitName;
+}

+ 16 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/bean/worker/WorkerTeamBean.java

@@ -0,0 +1,16 @@
+package com.gree.mall.miniapp.bean.worker;
+
+import com.gree.mall.miniapp.plus.entity.WorkerTeam;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel
+public class WorkerTeamBean extends WorkerTeam {
+
+    @ApiModelProperty(value = "网点名称")
+    private String websitName;
+}

+ 6 - 4
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/worker/WorkerTeamController.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.miniapp.bean.worker.TeamCount;
 import com.gree.mall.miniapp.bean.worker.WebsitWorkerBean;
+import com.gree.mall.miniapp.bean.worker.WorkerTeamApplyBean;
+import com.gree.mall.miniapp.bean.worker.WorkerTeamBean;
 import com.gree.mall.miniapp.enums.ExamineStatusEnum;
 import com.gree.mall.miniapp.exception.RemoteServiceException;
 import com.gree.mall.miniapp.helper.ResponseHelper;
@@ -31,22 +33,22 @@ public class WorkerTeamController {
 
     @PostMapping("/page")
     @ApiOperation(value = "列表")
-    public ResponseHelper<Page<WorkerTeamApply>> page(
+    public ResponseHelper<Page<WorkerTeamApplyBean>> page(
             @ApiParam(value = "页号", required = true) @RequestParam Integer pageNum,
             @ApiParam(value = "页大小", required = true) @RequestParam Integer pageSize
 
     ) throws RemoteServiceException {
-        IPage<WorkerTeamApply> page = workerTeamLogic.page(pageNum, pageSize);
+        IPage<WorkerTeamApplyBean> page = workerTeamLogic.page(pageNum, pageSize);
         return ResponseHelper.success(page);
     }
 
     @PostMapping("/manage/page")
     @ApiOperation(value = "后台列表")
-    public ResponseHelper<Page<WorkerTeam>> managePage(
+    public ResponseHelper<Page<WorkerTeamBean>> managePage(
             @ApiParam(value = "页号", required = true) @RequestParam Integer pageNum,
             @ApiParam(value = "页大小", required = true) @RequestParam Integer pageSize
     ) throws RemoteServiceException {
-        IPage<WorkerTeam> page = workerTeamLogic.managePage(pageNum, pageSize);
+        IPage<WorkerTeamBean> page = workerTeamLogic.managePage(pageNum, pageSize);
         return ResponseHelper.success(page);
     }
 

+ 56 - 13
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/worker/WorkerTeamLogic.java

@@ -1,28 +1,29 @@
 package com.gree.mall.miniapp.logic.worker;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.miniapp.bean.user.CurrentCompanyWechat;
 import com.gree.mall.miniapp.bean.worker.TeamCount;
 import com.gree.mall.miniapp.bean.worker.WebsitWorkerBean;
+import com.gree.mall.miniapp.bean.worker.WorkerTeamApplyBean;
+import com.gree.mall.miniapp.bean.worker.WorkerTeamBean;
 import com.gree.mall.miniapp.enums.ExamineStatusEnum;
 import com.gree.mall.miniapp.enums.StateEnum;
 import com.gree.mall.miniapp.exception.RemoteServiceException;
 import com.gree.mall.miniapp.logic.common.CommonLogic;
-import com.gree.mall.miniapp.plus.entity.User;
-import com.gree.mall.miniapp.plus.entity.WebsitUser;
-import com.gree.mall.miniapp.plus.entity.WorkerTeam;
-import com.gree.mall.miniapp.plus.entity.WorkerTeamApply;
-import com.gree.mall.miniapp.plus.service.UserService;
-import com.gree.mall.miniapp.plus.service.WebsitUserService;
-import com.gree.mall.miniapp.plus.service.WorkerTeamApplyService;
-import com.gree.mall.miniapp.plus.service.WorkerTeamService;
+import com.gree.mall.miniapp.plus.entity.*;
+import com.gree.mall.miniapp.plus.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -39,9 +40,11 @@ public class WorkerTeamLogic {
     UserService userService;
     @Resource
     WebsitUserService websitUserService;
+    @Resource
+    AdminWebsitService adminWebsitUserService;
 
 
-    public IPage<WorkerTeamApply> page(Integer pageNum, Integer pageSize) {
+    public IPage<WorkerTeamApplyBean> page(Integer pageNum, Integer pageSize) {
         CurrentCompanyWechat current = commonLogic.getCurrentCompanyWechat();
         final Page<WorkerTeamApply> page = workerTeamApplyService.lambdaQuery()
                 .eq(WorkerTeamApply::getCompanyWechatId, current.getUser().getCompanyWechatId())
@@ -50,10 +53,30 @@ public class WorkerTeamLogic {
                         .eq(WorkerTeamApply::getAssistantWorkerId, current.getUser().getWorkerNumber())
                 )
                 .page(new Page<>(pageNum, pageSize));
-        return page;
+        Page<WorkerTeamApplyBean> newPage = new Page<>();
+        BeanUtil.copyProperties(page, newPage, "records");
+        newPage.setRecords(new ArrayList<>());
+
+        if (CollectionUtil.isNotEmpty(page.getRecords())) {
+            List<AdminWebsit> adminWebsitList = adminWebsitUserService.lambdaQuery()
+                    .eq(AdminWebsit::getCompanyWechatId, current.getUser().getCompanyWechatId())
+                    .in(AdminWebsit::getWebsitId, page.getRecords().stream()
+                            .map(WorkerTeamApply::getWebsitId)
+                            .collect(Collectors.toList()))
+                    .list();
+            Map<String, String> websitMap = adminWebsitList.stream().collect(Collectors.toMap(AdminWebsit::getWebsitId, AdminWebsit::getName));
+            final List<WorkerTeamApplyBean> beanList = BeanUtil.copyToList(page.getRecords(), WorkerTeamApplyBean.class);
+            for (WorkerTeamApplyBean applyBean : beanList) {
+                final String name = websitMap.get(applyBean.getWebsitId());
+                applyBean.setWebsitName(name);
+            }
+            newPage.setRecords(beanList);
+        }
+
+        return newPage;
     }
 
-    public IPage<WorkerTeam> managePage(Integer pageNum, Integer pageSize) {
+    public IPage<WorkerTeamBean> managePage(Integer pageNum, Integer pageSize) {
         CurrentCompanyWechat current = commonLogic.getCurrentCompanyWechat();
         final Page<WorkerTeam> page = workerTeamService.lambdaQuery()
                 .eq(WorkerTeam::getCompanyWechatId, current.getUser().getCompanyWechatId())
@@ -62,7 +85,27 @@ public class WorkerTeamLogic {
                         .eq(WorkerTeam::getAssistantWorkerId, current.getUser().getWorkerNumber())
                 )
                 .page(new Page<>(pageNum, pageSize));
-        return page;
+
+        Page<WorkerTeamBean> newPage = new Page<>();
+        BeanUtil.copyProperties(page, newPage, "records");
+        newPage.setRecords(new ArrayList<>());
+
+        if (CollectionUtil.isNotEmpty(page.getRecords())) {
+            List<AdminWebsit> adminWebsitList = adminWebsitUserService.lambdaQuery()
+                    .eq(AdminWebsit::getCompanyWechatId, current.getUser().getCompanyWechatId())
+                    .in(AdminWebsit::getWebsitId, page.getRecords().stream()
+                            .map(WorkerTeam::getWebsitId)
+                            .collect(Collectors.toList()))
+                    .list();
+            Map<String, String> websitMap = adminWebsitList.stream().collect(Collectors.toMap(AdminWebsit::getWebsitId, AdminWebsit::getName));
+            final List<WorkerTeamBean> beanList = BeanUtil.copyToList(page.getRecords(), WorkerTeamBean.class);
+            for (WorkerTeamBean applyBean : beanList) {
+                final String name = websitMap.get(applyBean.getWebsitId());
+                applyBean.setWebsitName(name);
+            }
+            newPage.setRecords(beanList);
+        }
+        return newPage;
     }