From 2edf3f1fd9505cbdd435524d316e7558b25f6760 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 26 六月 2025 14:25:02 +0800
Subject: [PATCH] 代码初始化
---
server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java | 166 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 149 insertions(+), 17 deletions(-)
diff --git a/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java
index 6d4430c..112f4c5 100644
--- a/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java
+++ b/server/src/main/java/com/doumee/service/business/impl/ManagersServiceImpl.java
@@ -1,19 +1,35 @@
package com.doumee.service.business.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.doumee.core.constants.Constants;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.CompanyMapper;
import com.doumee.dao.business.ManagersMapper;
+import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Managers;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.ManagersService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.models.auth.In;
+import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
/**
@@ -26,16 +42,89 @@
@Autowired
private ManagersMapper managersMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
+ private CompanyMapper companyMapper;
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public Integer create(Managers managers) {
- managersMapper.insert(managers);
- return managers.getId();
+
+ List<Managers> newList = new ArrayList<>();
+ if( managers.getIsMember() == null || managers.getType() == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ List<Member> memberList = new ArrayList<>();
+ List<Integer> memberIdList = new ArrayList<>();
+
+ //璁剧疆鑼冨洿 0鐩村睘閮ㄩ棬鍛樺伐 1閮ㄩ棬鍙婂叾涓嬬骇甯冩仼鍛樺伐 2鎸囧畾浜哄憳
+ if(Constants.equalsInteger(managers.getIsMember(),Constants.ZERO) || Constants.equalsInteger(managers.getIsMember(),Constants.ONE)){
+ //鐩村睘閮ㄩ棬 鎴� 閮ㄩ棬鍙婂叾瀛愰儴闂�
+ /* if(managers.getCompanyId() ==null ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ Company company = companyMapper.selectById(managers.getCompanyId());
+ if(company == null || Constants.equalsInteger(company.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝閮ㄩ棬淇℃伅涓嶅瓨鍦紝璇峰埛鏂伴〉闈㈤噸璇曪紒");
+ }*/
+ if(managers.getCompanyIds() ==null || managers.getCompanyIds().size() ==0 ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ memberList =memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+ .selectAll(Member.class)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .exists(Constants.equalsInteger(managers.getIsMember(),Constants.ZERO),"select (cm.id) from company_member cm where cm.company_id in ("+String.join(",",managers.getCompanyIds())+" ) and cm.member_id=t.id")
+// .exists(Constants.equalsInteger(managers.getIsMember(),Constants.ONE),"select (cm.id) from company_member cm where cm.company_id_path like '"+company.getIdPath()+"%' and cm.member_id=t.id")
+ );
+ }else{
+ if(managers.getMemberIds()==null || managers.getMemberIds().size()==0){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰閫夋嫨鎸囧畾鍛樺伐淇℃伅锛�");
+ }
+ memberList =memberMapper.selectList(new LambdaQueryWrapper<Member>()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .in(Member::getId,managers.getMemberIds()));
+ }
+ if(memberList.size() ==0){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝閫夋嫨鑼冨洿鏈煡璇㈠埌鐩稿叧鍛樺伐淇℃伅锛屾娆¤缃棤鏁堬紒");
+ }
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
+ Date date = new Date();
+ for(Member m :memberList){
+ Managers mm = new Managers();
+ mm.setCreator(user.getId());
+ mm.setCreateDate(date);
+ mm.setIsdeleted(Constants.ZERO);
+ mm.setEditor(mm.getCreator());
+ mm.setEditDate(mm.getCreateDate());
+ mm.setStatus(Constants.ZERO);
+ mm.setType(managers.getType());
+ mm.setMemberId(m.getId());
+ mm.setIsQw(managers.getIsQw());
+ mm.setIsEmail(managers.getIsEmail());
+ mm.setRemark(managers.getRemark());
+ memberIdList.add(m.getId());
+ newList.add(mm);
+ }
+ //娓呯┖鍘熸湁鐨勮缃俊鎭�
+ managersMapper.delete(new UpdateWrapper<Managers>().lambda()
+ .eq(Managers::getType,managers.getType())
+ .in(Managers::getMemberId,memberIdList)
+ );
+ managersMapper.insert(newList);
+ return newList.size();
}
@Override
public void deleteById(Integer id) {
- managersMapper.deleteById(id);
+ Managers managers = new Managers();
+ managers.setId(id);
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ managers.setEditor(user.getId());
+ managers.setEditDate(new Date());
+ managers.setIsdeleted(Constants.ONE);
+ managersMapper.updateById(managers);
}
@Override
@@ -49,11 +138,16 @@
if (CollectionUtils.isEmpty(ids)) {
return;
}
- managersMapper.deleteBatchIds(ids);
+ for(Integer id :ids){
+ deleteById(id);
+ }
}
@Override
public void updateById(Managers managers) {
+ LoginUserInfo user = new LoginUserInfo();
+ managers.setEditor(user.getId());
+ managers.setEditDate(new Date());
managersMapper.updateById(managers);
}
@@ -79,17 +173,56 @@
}
@Override
- public List<Managers> findList(Managers managers) {
- QueryWrapper<Managers> wrapper = new QueryWrapper<>(managers);
- return managersMapper.selectList(wrapper);
+ public List<Managers> findList(Managers pageWrap) {
+ MPJLambdaWrapper<Managers> queryWrapper = new MPJLambdaWrapper<>();
+ pageWrap.setIsdeleted(Constants.ZERO);
+ queryWrapper.selectAll(Managers.class )
+ .selectAs(Member::getPhone,Managers::getMemberPhone)
+ .selectAs(Member::getName,Managers::getMemberName)
+ .selectAs(Member::getEmail,Managers::getMemberEmail)
+ .selectAs(Member::getCompanyName,Managers::getCompanyName)
+ .selectAs(SystemUser::getUsername,Managers::getEditorName)
+ .leftJoin(Member.class,Member::getId,Managers::getMemberId)
+ .leftJoin(SystemUser.class,SystemUser::getId,Managers::getEditor)
+ .eq(pageWrap.getId() != null, Managers::getId, pageWrap.getId())
+ .eq(pageWrap.getCreator() != null, Managers::getCreator, pageWrap.getCreator())
+ .ge(pageWrap.getCreateDate() != null, Managers::getCreateDate, Utils.Date.getStart(pageWrap.getCreateDate()))
+ .le(pageWrap.getCreateDate() != null, Managers::getCreateDate, Utils.Date.getEnd(pageWrap.getCreateDate()))
+ .eq(pageWrap.getEditor() != null, Managers::getEditor, pageWrap.getEditor())
+ .ge(pageWrap.getEditDate() != null, Managers::getEditDate, Utils.Date.getStart(pageWrap.getEditDate()))
+ .le(pageWrap.getEditDate() != null, Managers::getEditDate, Utils.Date.getEnd(pageWrap.getEditDate()))
+ .eq(pageWrap.getIsdeleted() != null, Managers::getIsdeleted, pageWrap.getIsdeleted())
+ .eq(pageWrap.getCategoryId() != null, Managers::getCategoryId, pageWrap.getCategoryId())
+ .eq(pageWrap.getRemark() != null, Managers::getRemark, pageWrap.getRemark())
+ .eq(pageWrap.getStatus() != null, Managers::getStatus, pageWrap.getStatus())
+ .eq(pageWrap.getSortnum() != null, Managers::getSortnum, pageWrap.getSortnum())
+ .eq(pageWrap.getType() != null, Managers::getType, pageWrap.getType())
+ .eq(pageWrap.getMemberId() != null, Managers::getMemberId, pageWrap.getMemberId())
+ .like(pageWrap.getMemberName() != null, Member::getName, pageWrap.getMemberName());
+ if (pageWrap.getKeyword() != null) {
+ queryWrapper.and( ms->ms.like(Member::getName,pageWrap.getKeyword())
+ .or().like(Member::getPhone,pageWrap.getKeyword())
+ .or().like(Member::getCompanyName,pageWrap .getKeyword()));
+ }
+ queryWrapper.orderByDesc(Managers::getCreateDate);
+ return managersMapper.selectJoinList( Managers.class, queryWrapper);
}
@Override
public PageData<Managers> findPage(PageWrap<Managers> pageWrap) {
IPage<Managers> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<Managers> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<Managers> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
- queryWrapper.lambda()
+ pageWrap.getModel().setIsdeleted(Constants.ZERO);
+ queryWrapper.selectAll(Managers.class )
+ .selectAs(Member::getPhone,Managers::getMemberPhone)
+ .selectAs(Member::getName,Managers::getMemberName)
+ .selectAs(Member::getQwId,Managers::getMemberQwId)
+ .selectAs(Member::getEmail,Managers::getMemberEmail)
+ .selectAs(Member::getCompanyName,Managers::getCompanyName)
+ .selectAs(SystemUser::getUsername,Managers::getEditorName)
+ .leftJoin(Member.class,Member::getId,Managers::getMemberId)
+ .leftJoin(SystemUser.class,SystemUser::getId,Managers::getEditor)
.eq(pageWrap.getModel().getId() != null, Managers::getId, pageWrap.getModel().getId())
.eq(pageWrap.getModel().getCreator() != null, Managers::getCreator, pageWrap.getModel().getCreator())
.ge(pageWrap.getModel().getCreateDate() != null, Managers::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -104,15 +237,14 @@
.eq(pageWrap.getModel().getSortnum() != null, Managers::getSortnum, pageWrap.getModel().getSortnum())
.eq(pageWrap.getModel().getType() != null, Managers::getType, pageWrap.getModel().getType())
.eq(pageWrap.getModel().getMemberId() != null, Managers::getMemberId, pageWrap.getModel().getMemberId())
- ;
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
+ .like(pageWrap.getModel().getMemberName() != null, Member::getName, pageWrap.getModel().getMemberName());
+ if (pageWrap.getModel().getKeyword() != null) {
+ queryWrapper.and( ms->ms.like(Member::getName,pageWrap.getModel().getKeyword())
+ .or().like(Member::getPhone,pageWrap.getModel().getKeyword())
+ .or().like(Member::getCompanyName,pageWrap.getModel().getKeyword()));
}
- return PageData.from(managersMapper.selectPage(page, queryWrapper));
+ queryWrapper.orderByDesc(Managers::getCreateDate);
+ return PageData.from(managersMapper.selectJoinPage(page,Managers.class, queryWrapper));
}
@Override
--
Gitblit v1.9.3