| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package com.uas.kanban.dao;
- import com.uas.kanban.annotation.NotEmpty;
- import com.uas.kanban.base.BaseDao;
- import com.uas.kanban.model.PanelInstance;
- import com.uas.kanban.model.User;
- import com.uas.kanban.support.SystemSession;
- import com.uas.kanban.util.CollectionUtils;
- import org.mongodb.morphia.query.Query;
- import org.springframework.stereotype.Component;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 面板实例
- *
- * @author sunyj
- * @since 2017/10/18 14:21
- */
- @Component
- public class PanelInstanceDao extends BaseDao<PanelInstance> {
- @Override
- protected Map<String, Object> globalFilter() {
- User user = SystemSession.checkUser();
- Map<String, Object> filters = new HashMap<>();
- // 所有用户只能操作自己的实例
- filters.put("userCode", user.getCode());
- return filters;
- }
- /**
- * 获取指定面板的实例
- *
- * @param panelCode 所指定的面板 code
- * @return 面板实例
- */
- public PanelInstance findByPanelCode(@NotEmpty("panelCode") String panelCode) {
- return findOneBy("panelCode", panelCode);
- }
- /**
- * 根据用户和面板,删除相应的实例
- *
- * @param userCode 用户 code
- * @param panelCodes 面板 code
- * @return 删除的数据条数
- */
- public int deleteByUserCodeAndPanelCode(@NotEmpty("userCode") String userCode, List<String> panelCodes) {
- if (CollectionUtils.isEmpty(panelCodes)) {
- return 0;
- }
- Query<PanelInstance> query = createQueryWithoutGlobalFilter();
- query.field("userCode").equal(userCode);
- query.field("panelCode").in(panelCodes);
- return delete(query);
- }
- }
|