| | |
| | | import com.whyc.mapper.KeyInfMapper; |
| | | import com.whyc.pojo.db_area.KeyInf; |
| | | import com.whyc.pojo.db_area.LockInf; |
| | | import com.whyc.pojo.db_user.UserInf; |
| | | import com.whyc.util.ActionUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | public class KeyInfService { |
| | | @Autowired(required = false) |
| | | private KeyInfMapper mapper; |
| | | |
| | | @Autowired(required = false) |
| | | private AreaInfService areaInfService; |
| | | |
| | | @Autowired(required = false) |
| | | private AreaUserService areaUserService; |
| | | |
| | | //查询所有钥匙信息 |
| | | public Response getAllKeyInf(String keyName, String uname, int pageNum, int pageSize) { |
| | | PageHelper.startPage(pageNum,pageSize); |
| | | UserInf uinf= ActionUtil.getUser(); |
| | | List areaList=areaInfService.getAllAreaUser(uinf.getUid(),uinf.getUrole()); |
| | | List<String> unameList=new ArrayList<>(); |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | if(uinf.getUrole()==0){ |
| | | unameList.add(uinf.getUname()); |
| | | wrapper.in("uname",unameList); |
| | | } |
| | | if(uinf.getUrole()==1){ |
| | | //获取区域对应的用户名 |
| | | unameList=areaUserService.getUserNameByAreaIds(areaList); |
| | | wrapper.in("uname",unameList); |
| | | } |
| | | if(keyName!=null){ |
| | | wrapper.like("key_name",keyName); |
| | | } |
| | | if(uname!=null){ |
| | | wrapper.like("uname",uname); |
| | | } |
| | | List<LockInf> list=mapper.selectList(wrapper); |
| | | wrapper.ne("key_id",0);//排除蓝牙钥匙 |
| | | PageHelper.startPage(pageNum,pageSize); |
| | | List<KeyInf> list=mapper.selectList(wrapper); |
| | | PageInfo pageInfo=new PageInfo(list); |
| | | return new Response().setII(1,list!=null,pageInfo,"查询所有钥匙信息"); |
| | | } |
| | | //添加钥匙 |
| | | public Response addKey(KeyInf kinf) { |
| | | //获取最大的keyid |
| | | int keyId=getMaxKeyId()+1; |
| | | kinf.setKeyId(keyId); |
| | | kinf.setCreateName(new Date()); |
| | | mapper.insert(kinf); |
| | | return new Response().set(1,true); |
| | | Integer keyType=kinf.getKeyType(); |
| | | if(keyType==1){//验证钥匙编码 |
| | | //先验证钥匙编码是否存在 |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | wrapper.eq("key_number",kinf.getKeyNumber()); |
| | | wrapper.last("limit 1"); |
| | | KeyInf k=mapper.selectOne(wrapper); |
| | | if(null==k){ |
| | | //获取最大的keyid |
| | | int keyId=getMaxKeyId()+1; |
| | | kinf.setKeyId(keyId); |
| | | kinf.setCreateTime(new Date()); |
| | | mapper.insert(kinf); |
| | | return new Response().set(1,true,"钥匙添加成功"); |
| | | }else{ |
| | | return new Response().set(1,false,"钥匙编码已存在"); |
| | | } |
| | | }else{ |
| | | //获取最大的keyid |
| | | int keyId=getMaxKeyId()+1; |
| | | kinf.setKeyId(keyId); |
| | | kinf.setCreateTime(new Date()); |
| | | mapper.insert(kinf); |
| | | return new Response().set(1,true,"钥匙添加成功"); |
| | | } |
| | | } |
| | | //获取最大的keyid |
| | | private int getMaxKeyId() { |
| | |
| | | |
| | | //删除钥匙 |
| | | public Response delKey(Integer keyId) { |
| | | UpdateWrapper wrapper=new UpdateWrapper(); |
| | | wrapper.eq("key_id",keyId); |
| | | mapper.delete(wrapper); |
| | | return new Response().set(1,true); |
| | | if(keyId==0){ |
| | | return new Response().set(1,false,"该蓝牙钥匙为默认钥匙不可删除"); |
| | | }else{ |
| | | UpdateWrapper wrapper=new UpdateWrapper(); |
| | | wrapper.eq("key_id",keyId); |
| | | mapper.delete(wrapper); |
| | | return new Response().set(1,true); |
| | | } |
| | | } |
| | | //修改钥匙 |
| | | public Response updateKey(KeyInf kinf) { |
| | | UpdateWrapper wrapper=new UpdateWrapper(); |
| | | wrapper.eq("key_id",kinf.getKeyId()); |
| | | if(kinf.getAreaId()!=null){ |
| | | wrapper.set("area_id",kinf.getAreaId()); |
| | | if(kinf.getKeyId()==0){ |
| | | return new Response().set(1,false,"该蓝牙钥匙为默认钥匙不可删除"); |
| | | }else { |
| | | UpdateWrapper wrapper = new UpdateWrapper(); |
| | | wrapper.eq("key_id", kinf.getKeyId()); |
| | | if (kinf.getKeyName() != null) { |
| | | wrapper.set("key_name", kinf.getKeyName()); |
| | | } |
| | | if (kinf.getKeyType() != null) { |
| | | wrapper.set("key_type", kinf.getKeyType()); |
| | | } |
| | | if (kinf.getKeyNumber() != null) { |
| | | wrapper.set("key_number", kinf.getKeyNumber()); |
| | | } |
| | | if (kinf.getKeyAddress() != null) { |
| | | wrapper.set("key_address", kinf.getKeyAddress()); |
| | | } |
| | | if (kinf.getUname() != null) { |
| | | wrapper.set("uname", kinf.getUname()); |
| | | } |
| | | mapper.update(null, wrapper); |
| | | return new Response().set(1, true); |
| | | } |
| | | if(kinf.getKeyName()!=null){ |
| | | wrapper.set("key_name",kinf.getKeyName()); |
| | | } |
| | | if(kinf.getKeyType()!=null){ |
| | | wrapper.set("key_type",kinf.getKeyType()); |
| | | } |
| | | if(kinf.getKeyNumber()!=null){ |
| | | wrapper.set("key_number",kinf.getKeyNumber()); |
| | | } |
| | | if(kinf.getKeyAddress()!=null){ |
| | | wrapper.set("key_address",kinf.getKeyAddress()); |
| | | } |
| | | if(kinf.getUname()!=null){ |
| | | wrapper.set("uname",kinf.getUname()); |
| | | } |
| | | mapper.update(null,wrapper); |
| | | return new Response().set(1,true); |
| | | } |
| | | //授权时查询所有钥匙信息(不分页,要keyid为0的) |
| | | public Response getKeyInfAuth() { |
| | | List<KeyInf> list=mapper.selectList(null); |
| | | return new Response().setII(1,list!=null,list,"授权时查询所有钥匙信息(不分页)"); |
| | | } |
| | | //查询所有钥匙名信息(用于下拉) |
| | | public Response getkinf() { |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | wrapper.ne("ket_id",0); |
| | | List<KeyInf> list=mapper.selectList(wrapper); |
| | | List<String> lnameList = list.stream() |
| | | .map(KeyInf::getKeyName) // 提取名字 |
| | | .collect(Collectors.toList()); // 转换为列表*/ |
| | | return new Response().setII(1,list!=null,lnameList,"查询所有钥匙名信息(用于下拉)"); |
| | | } |
| | | |
| | | } |