package com.zheng.upms.rpc.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.zheng.common.annotation.BaseService; import com.zheng.common.base.BaseServiceImpl; import com.zheng.upms.dao.mapper.UpmsRolePermissionMapper; import com.zheng.upms.dao.model.UpmsRolePermission; import com.zheng.upms.dao.model.UpmsRolePermissionExample; import com.zheng.upms.rpc.api.UpmsRolePermissionService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * UpmsRolePermissionService实现 * Created by shuzheng on 2017/3/20. */ @Service @Transactional @BaseService public class UpmsRolePermissionServiceImpl extends BaseServiceImpl<UpmsRolePermissionMapper, UpmsRolePermission, UpmsRolePermissionExample> implements UpmsRolePermissionService { private static Logger _log = LoggerFactory.getLogger(UpmsRolePermissionServiceImpl.class); @Autowired UpmsRolePermissionMapper upmsRolePermissionMapper; @Override public int rolePermission(JSONArray datas, int id) { List<Integer> deleteIds = new ArrayList<>(); for (int i = 0; i < datas.size(); i ++) { JSONObject json = datas.getJSONObject(i); if (!json.getBoolean("checked")) { deleteIds.add(json.getIntValue("id")); } else { // 新增权限 UpmsRolePermission upmsRolePermission = new UpmsRolePermission(); upmsRolePermission.setRoleId(id); upmsRolePermission.setPermissionId(json.getIntValue("id")); upmsRolePermissionMapper.insertSelective(upmsRolePermission); } } // 删除权限 if (deleteIds.size() > 0) { UpmsRolePermissionExample upmsRolePermissionExample = new UpmsRolePermissionExample(); upmsRolePermissionExample.createCriteria() .andPermissionIdIn(deleteIds) .andRoleIdEqualTo(id); upmsRolePermissionMapper.deleteByExample(upmsRolePermissionExample); } return datas.size(); } }