|
@@ -4,8 +4,7 @@ import cn.com.ctop.common.module.entity.Project;
|
|
|
import cn.com.ctop.common.module.entity.SysUser;
|
|
|
import cn.com.ctop.common.module.entity.UserAllocation;
|
|
|
import cn.com.ctop.common.module.mapper.UserAllocationMapper;
|
|
|
-import cn.com.ctop.common.module.service.ISysRoleExtService;
|
|
|
-import cn.com.ctop.common.module.service.IUserAllocationService;
|
|
|
+import cn.com.ctop.common.module.service.*;
|
|
|
import cn.com.ctop.common.module.utils.Check;
|
|
|
import cn.com.ctop.common.module.utils.CtopAdConstant;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
@@ -17,6 +16,7 @@ import org.apache.shiro.SecurityUtils;
|
|
|
import org.jeecg.common.system.vo.LoginUser;
|
|
|
import org.jeecg.modules.ctop.entity.ProjectMember;
|
|
|
import org.jeecg.modules.ctop.mapper.ProjectMemberMapper;
|
|
|
+import org.jeecg.modules.ctop.service.IAdvertiserService;
|
|
|
import org.jeecg.modules.ctop.service.IProjectMemberService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -42,6 +42,14 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
private ISysRoleExtService sysRoleService;
|
|
|
@Autowired
|
|
|
private UserAllocationMapper userAllocationMapper;
|
|
|
+ @Autowired
|
|
|
+ private IProjectService projectService;
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService userService;
|
|
|
+ @Autowired
|
|
|
+ private IAdvertiserService advertiserService;
|
|
|
+ @Autowired
|
|
|
+ private IProductService productService;
|
|
|
|
|
|
private static final String[] PERMISSION_VIEW_PROJECT = {"admin", "saleDirector", "sale", "saleAssistant", "saleAm", "meidaManager"};
|
|
|
|
|
@@ -313,5 +321,103 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<ProjectMember> getMapsByProjectList(List<ProjectMember> projectMembers) {
|
|
|
+ if (Check.isNull(projectMembers)) {
|
|
|
+ return projectMembers;
|
|
|
+ }
|
|
|
+ JSONArray projectIdArray = new JSONArray();
|
|
|
+ if (!Check.isNull(projectMembers)) {
|
|
|
+ for (ProjectMember member : projectMembers) {
|
|
|
+ projectIdArray.add(member.getProjectId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<JSONObject> projectList = projectService.getProjectListByIds(projectIdArray);
|
|
|
+ if (Check.isNull(projectList)) {
|
|
|
+ return projectMembers;
|
|
|
+ }
|
|
|
+ Map<Long, JSONObject> projectMap = new HashMap<>();
|
|
|
+ for (int i = 0; i < projectList.size(); i++) {
|
|
|
+ JSONObject projectJson = projectList.get(i);
|
|
|
+ projectMap.put(projectJson.getLong("projectId"), projectJson);
|
|
|
+ }
|
|
|
+ Map<String, String> userIdMap = new HashMap<>();
|
|
|
+ Map<String, String> advertiserIdMap = new HashMap<>();
|
|
|
+ Map<Long, Long> productIdMap = new HashMap<>();
|
|
|
+ for (int i = 0; i < projectList.size(); i++) {
|
|
|
+ JSONObject projectJson = projectList.get(i);
|
|
|
+ if (!Check.isNull(projectJson.getString("responsibleId"))) {
|
|
|
+ userIdMap.put(projectJson.getString("responsibleId"), projectJson.getString("responsibleId"));
|
|
|
+ }
|
|
|
+ if (!Check.isNull(projectJson.getString("designResponsibleId"))) {
|
|
|
+ userIdMap.put(projectJson.getString("designResponsibleId"), projectJson.getString("designResponsibleId"));
|
|
|
+ }
|
|
|
+ if (!Check.isNull(projectJson.getString("advertiserId"))) {
|
|
|
+ advertiserIdMap.put(projectJson.getString("advertiserId"), projectJson.getString("advertiserId"));
|
|
|
+ }
|
|
|
+ if (!Check.isNull(projectJson.getString("productId"))) {
|
|
|
+ productIdMap.put(projectJson.getLong("productId"), projectJson.getLong("productId"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, String> userMap = new HashMap<>();
|
|
|
+ if (!Check.isNull(userIdMap)) {
|
|
|
+ List<JSONObject> userList = userService.getUserMapByMap(userIdMap);
|
|
|
+ if (!Check.isNull(userList)) {
|
|
|
+ for (int i = 0; i < userList.size(); i++) {
|
|
|
+ JSONObject userJson = userList.get(i);
|
|
|
+ userMap.put(userJson.getString("id"), userJson.getString("realname"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, String> advertiserMap = new HashMap<>();
|
|
|
+ if (!Check.isNull(advertiserIdMap)) {
|
|
|
+ List<JSONObject> advertiserList = advertiserService.getAdvertiserByMap(advertiserIdMap);
|
|
|
+ if (!Check.isNull(advertiserList)) {
|
|
|
+ for (int i = 0; i < advertiserList.size(); i++) {
|
|
|
+ JSONObject advertiserJson = advertiserList.get(i);
|
|
|
+ advertiserMap.put(advertiserJson.getString("id"), advertiserJson.getString("name"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<Long, String> productMap = new HashMap<>();
|
|
|
+ if (!Check.isNull(productIdMap)) {
|
|
|
+ List<JSONObject> productList = productService.getProductByMap(productIdMap);
|
|
|
+ if (!Check.isNull(productList)) {
|
|
|
+ for (int i = 0; i < productList.size(); i++) {
|
|
|
+ JSONObject productJson = productList.get(i);
|
|
|
+ productMap.put(productJson.getLong("id"), productJson.getString("productName"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (ProjectMember member : projectMembers) {
|
|
|
+ Long projectId = member.getProjectId();
|
|
|
+ JSONObject projectJson = projectMap.get(projectId);
|
|
|
+ if (Check.isNull(projectJson)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ member.setMediaId(projectJson.getString("mediaId"));
|
|
|
+ member.setMaxBid(projectJson.getLong("maxBid"));
|
|
|
+ String advertiserId = projectJson.getString("advertiserId");
|
|
|
+ member.setAdvertiserId(advertiserId);
|
|
|
+ if (!Check.isNull(advertiserMap)) {
|
|
|
+ member.setAdvertiserName(advertiserMap.get(advertiserId));
|
|
|
+ }
|
|
|
+ String responsibleId = projectJson.getString("responsibleId");
|
|
|
+ String designResponsibleId = projectJson.getString("designResponsibleId");
|
|
|
+ if (!Check.isNull(userMap)) {
|
|
|
+ member.setResponsibleName(userMap.get(responsibleId));
|
|
|
+ member.setDesignResponsibleName(userMap.get(designResponsibleId));
|
|
|
+ }
|
|
|
+ Long productId = projectJson.getLong("productId");
|
|
|
+ member.setProductId(productId);
|
|
|
+ if (!Check.isNull(productMap)) {
|
|
|
+ member.setProductName(productMap.get(productId));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return projectMembers;
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|