mitao
2025-03-14 08f1b1f1804a8bd833d42f257908d80e88387b55
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java
@@ -3,16 +3,20 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.sangeshenbian.dao.SystemUserMapper;
import com.panzhihua.sangeshenbian.model.entity.SystemUser;
import com.panzhihua.sangeshenbian.model.vo.RegionVO;
import com.panzhihua.sangeshenbian.model.vo.UpdatePasswordDTO;
import com.panzhihua.sangeshenbian.service.ISystemUserService;
import com.panzhihua.sangeshenbian.warpper.SystemUserList;
import com.panzhihua.sangeshenbian.warpper.SystemUserListVo;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
@@ -28,11 +32,11 @@
    * @return
    */
   @Override
   public IPage<SystemUserListVo> list(Integer accountLevel, SystemUserList query) {
   public IPage<SystemUserListVo> list(SystemUser user, SystemUserList query) {
      Page page = new Page<>();
      page.setCurrent(query.getPageNum());
      page.setSize(query.getPageSize());
      IPage<SystemUserListVo> list = this.baseMapper.list(page, accountLevel, query);
      IPage<SystemUserListVo> list = this.baseMapper.list(page, user, query);
      return list;
   }
@@ -42,7 +46,7 @@
    * @return
    */
   @Override
   public Optional<SystemUser> getSystemUserByPhone(String phone) {
   public Optional<SystemUser> getSystemUserAdminByPhone(String phone) {
      if (StringUtils.isBlank(phone)) {
         return Optional.empty();
      }
@@ -50,39 +54,67 @@
            .eq(SystemUser::getPhone, phone).ne(SystemUser::getStatus, 3)
            .eq(SystemUser::getIsAdmin, 1).last("LIMIT 1").oneOpt();
   }
   @Override
   public Optional<SystemUser> getSystemUserByPhone(String phone) {
      if (StringUtils.isBlank(phone)) {
         return Optional.empty();
      }
      return this.lambdaQuery()
            .eq(SystemUser::getPhone, phone).ne(SystemUser::getStatus, 3).last("LIMIT 1").oneOpt();
   }
   /**
    * 获取行政区划数据
    *
    * @param pcode
    * @return
    */
   @Override
   public List<Map<String, Object>> getRegion(String pcode) {
   public List<RegionVO> getRegion(String pcode) {
      return this.baseMapper.getRegion(pcode);
   }
   
   
   /**
    * 获取街道数据
    *
    * @param areaCode
    * @return
    */
   @Override
   public List<Map<String, Object>> getStreet(String areaCode) {
   public List<RegionVO> getStreet(String areaCode) {
      return this.baseMapper.getStreet(areaCode);
   }
   
   
   /**
    * 获取社区数据
    *
    * @param streetId
    * @return
    */
   @Override
   public List<Map<String, Object>> getCommunity(String streetId) {
   public List<RegionVO> getCommunity(String streetId) {
      return this.baseMapper.getCommunity(streetId);
   }
   /**
    * 修改密码
    * @param dto
    * @param systemUserVo
    */
   @Override
   public void updatePassword(UpdatePasswordDTO dto, SystemUserVo systemUserVo) {
      if (systemUserVo == null) {
         throw new ServiceException("用户不存在");
      }
      if (systemUserVo.getPassword().equals(dto.getNewPassword())) {
         throw new ServiceException("新密码不能与旧密码相同");
      }
      if (!systemUserVo.getPassword().equals(dto.getOldPassword())) {
         throw new ServiceException("旧密码错误");
      }
      this.lambdaUpdate().set(SystemUser::getPassword, dto.getNewPassword()).eq(SystemUser::getId, systemUserVo.getId()).update();
   }
}