yanghui
2022-11-29 3da01b2a6cf247f90aed86fc37d8cb0ab51a4b4c
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,20 +57,33 @@
        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());
            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);
                if (comPropertyVO.getCommunityId().equals(10172)){
                    administratorsUserVO.setType(20);
                }
                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());
                administratorsUserVO.setAppid(userService.detailUser(comPropertyVO.getCreateUserId()).getData().getAppId());
                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("账号或手机号已存在");
        }
        return R.fail();
    }
@@ -71,7 +93,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();
@@ -85,14 +122,33 @@
                AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
                administratorsUserVO.setUserId(comProperty.getUserId());
                administratorsUserVO.setCommunityId(comProperty.getCommunityId());
                R r=userService.deleteUserBackstage(administratorsUserVO);
                if(R.isOk(r)){
                    this.comPropertyDao.deleteById(id);
                    return R.ok();
                }
                return R.fail("账号删除失败");
                userService.deleteUserBackstage(administratorsUserVO);
            }
            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);
    }
    @Override
    public R noticeList(Integer page, Integer size, Long propertyId) {
        return R.ok(comPropertyDao.noticeList(new Page(page,size),propertyId));
    }
}