feat:事项配置

This commit is contained in:
苏竹红
2025-07-24 17:28:42 +08:00
parent 4ba6266f5c
commit b10f129271
29 changed files with 2462 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
package com.cool.store.service;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.MatterConfigDAO;
import com.cool.store.entity.MatterConfigDO;
import com.cool.store.request.notice.MatterConfigAddRequest;
import com.cool.store.request.notice.MatterConfigQueryRequest;
import com.cool.store.userholder.CurrentUser;
import com.cool.store.vo.notice.MatterAndMatterDetailVO;
import com.github.pagehelper.PageInfo;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/7/24 15:21
* @Version 1.0
*/
public interface MatterConfigService {
/**
* 新增配置
* @param request
* @param currentUser
* @return
*/
int addMatterConfig(MatterConfigAddRequest request, LoginUserInfo currentUser);
/**
* 编辑
* @param request
* @param currentUser
* @return
*/
int editMatterConfig(MatterConfigAddRequest request, LoginUserInfo currentUser);
/**
* 删除配置
* @param ids
* @param currentUser
* @return
*/
Boolean deleteMatterConfig(List<Long> ids, LoginUserInfo currentUser);
/**
* 查询配置
* @param request
* @return
*/
PageInfo<MatterAndMatterDetailVO> listByCondition(MatterConfigQueryRequest request);
}

View File

@@ -0,0 +1,83 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.MatterConfigDAO;
import com.cool.store.dto.notice.CommonDTO;
import com.cool.store.entity.MatterConfigDO;
import com.cool.store.request.notice.MatterConfigAddRequest;
import com.cool.store.request.notice.MatterConfigQueryRequest;
import com.cool.store.service.MatterConfigService;
import com.cool.store.vo.notice.MatterAndMatterDetailVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/7/24 16:41
* @Version 1.0
*/
@Service
public class MatterConfigServiceImpl implements MatterConfigService {
@Resource
MatterConfigDAO matterConfigDAO;
@Override
public int addMatterConfig(MatterConfigAddRequest request, LoginUserInfo currentUser) {
MatterConfigDO matterConfigDO = new MatterConfigDO();
BeanUtils.copyProperties(request, matterConfigDO);
matterConfigDO.setCreateUserId(currentUser.getUserId());
matterConfigDO.setDefaultStoreInfo(JSONObject.toJSONString(request.getStoreInfoList()));
matterConfigDO.setDefaultHandlePersonInfo(JSONObject.toJSONString(request.getUserInfoList()));
return matterConfigDAO.insert(matterConfigDO);
}
@Override
public int editMatterConfig(MatterConfigAddRequest request, LoginUserInfo currentUser) {
MatterConfigDO matterConfigDO = new MatterConfigDO();
BeanUtils.copyProperties(request, matterConfigDO);
matterConfigDO.setUpdateUserId(currentUser.getUserId());
matterConfigDO.setUpdateTime(new Date());
matterConfigDO.setDefaultStoreInfo(JSONObject.toJSONString(request.getStoreInfoList()));
matterConfigDO.setDefaultHandlePersonInfo(JSONObject.toJSONString(request.getUserInfoList()));
return matterConfigDAO.updateForce(matterConfigDO);
}
@Override
public Boolean deleteMatterConfig(List<Long> ids, LoginUserInfo currentUser) {
matterConfigDAO.batchDelete(ids,currentUser.getUserId());
return Boolean.TRUE;
}
@Override
public PageInfo<MatterAndMatterDetailVO> listByCondition(MatterConfigQueryRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<MatterConfigDO> matterConfigDOS = matterConfigDAO.ListByCondition(request);
if (CollectionUtils.isEmpty(matterConfigDOS)){
return new PageInfo<>();
}
PageInfo result = new PageInfo<>(matterConfigDOS);
List<MatterAndMatterDetailVO> list = new ArrayList<>();
matterConfigDOS.forEach(x->{
MatterAndMatterDetailVO matterAndMatterDetailVO = new MatterAndMatterDetailVO();
BeanUtils.copyProperties(x,matterAndMatterDetailVO);
matterAndMatterDetailVO.setStoreInfoList(JSONObject.parseArray(x.getDefaultStoreInfo(), CommonDTO.class));
matterAndMatterDetailVO.setUserInfoList(JSONObject.parseArray(x.getDefaultHandlePersonInfo(),CommonDTO.class));
list.add(matterAndMatterDetailVO);
});
result.setList(list);
return result;
}
}