puhanshu
2022-08-16 43f0578e80af82ecae6c61b51bd0539c6b960603
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPropertyServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.constants.UserConstants;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComPropertyVO;
@@ -14,10 +15,16 @@
import com.panzhihua.service_community.service.ComPropertyService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
import static org.apache.commons.lang3.StringUtils.isNotBlank;
/**
 * (ComProperty)表服务实现类
@@ -32,6 +39,8 @@
    private ComPropertyDao comPropertyDao;
    @Resource
    private UserService userService;
    @Resource
    private StringRedisTemplate stringRedisTemplate;
    @Override
    public R pageList(CommonPage commonPage) {
        return R.ok(comPropertyDao.pageList(new Page(commonPage.getPage(),commonPage.getSize()),commonPage));
@@ -48,23 +57,29 @@
        if(comPropertyVO!=null){
            ComProperty comProperty=new ComProperty();
            BeanUtils.copyProperties(comPropertyVO,comProperty);
            AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
            administratorsUserVO.setType(3);
            administratorsUserVO.setAccount(comPropertyVO.getAccount());
            administratorsUserVO.setPassword(comPropertyVO.getPassword());
            administratorsUserVO.setRoleId(comPropertyVO.getRoleId());
            administratorsUserVO.setCommunityId(comPropertyVO.getCommunityId());
            administratorsUserVO.setAreaId(comPropertyVO.getAreaId());
            administratorsUserVO.setName(comPropertyVO.getContactName());
            administratorsUserVO.setPhone(comPropertyVO.getPhone());
            R r=userService.addUserBackstageProperty(administratorsUserVO);
            if(R.isOk(r)){
                comProperty.setUserId(Long.parseLong(r.getData().toString()));
            if (isNotBlank(comPropertyVO.getAccount())) {
                AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
                administratorsUserVO.setType(3);
                administratorsUserVO.setAccount(comPropertyVO.getAccount());
                administratorsUserVO.setPassword(comPropertyVO.getPassword());
                administratorsUserVO.setRoleId(comPropertyVO.getRoleId());
                administratorsUserVO.setCommunityId(comPropertyVO.getCommunityId());
                administratorsUserVO.setAreaId(comPropertyVO.getAreaId());
                administratorsUserVO.setName(comPropertyVO.getContactName());
                administratorsUserVO.setPhone(comPropertyVO.getPhone());
                R r=userService.addUserBackstageProperty(administratorsUserVO);
                if(R.isOk(r)){
                    comProperty.setUserId(Long.parseLong(r.getData().toString()));
                    comProperty.setCreateTime(DateUtil.date());
                    this.comPropertyDao.insert(comProperty);
                    return R.ok();
                }
            } else {
                comProperty.setCreateTime(DateUtil.date());
                this.comPropertyDao.insert(comProperty);
                return R.ok();
            }
            return R.fail(r.getMsg());
            return R.fail("账号或手机号已存在");
        }
        return R.fail();
    }
@@ -74,7 +89,22 @@
        if(comPropertyVO!=null){
            ComProperty comProperty=new ComProperty();
            BeanUtils.copyProperties(comPropertyVO,comProperty);
            if(comPropertyVO.getRoleId()!=null){
                ComProperty comPropertyBase=this.comPropertyDao.selectById(comPropertyVO.getId());
                AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
                administratorsUserVO.setUserId(comPropertyBase.getUserId());
                administratorsUserVO.setAccount(comPropertyVO.getAccount());
                administratorsUserVO.setPassword(comPropertyVO.getPassword());
                administratorsUserVO.setRoleId(comPropertyVO.getRoleId());
                administratorsUserVO.setLastLoginTime(DateUtil.date());
                administratorsUserVO.setAreaId(comPropertyVO.getAreaId());
                this.userService.putUserBackstage(administratorsUserVO);
                // 删除用户信息缓存
                String userKey = UserConstants.LOGIN_USER_INFO + comPropertyBase.getUserId();
                stringRedisTemplate.delete(userKey);
            }
            this.comPropertyDao.updateById(comProperty);
            return R.ok();
        }
        return R.fail();
@@ -89,10 +119,27 @@
                administratorsUserVO.setUserId(comProperty.getUserId());
                administratorsUserVO.setCommunityId(comProperty.getCommunityId());
                userService.deleteUserBackstage(administratorsUserVO);
                this.comPropertyDao.deleteById(id);
                return R.ok();
            }
            this.comPropertyDao.deleteById(id);
            return R.ok();
        }
        return R.fail("用户账号错误");
    }
    /**
     * 物业公司详情
     * @param id
     * @return
     */
    @Override
    public R detailProperty(Long id) {
        ComProperty comProperty = comPropertyDao.selectById(id);
        if (isNull(comProperty)) {
            return R.fail("资源不存在");
        }
        ComPropertyVO comPropertyVO = new ComPropertyVO();
        BeanUtils.copyProperties(comProperty, comPropertyVO);
        comPropertyVO.setPassword(null);
        return R.ok(comPropertyVO);
    }
}