101captain
2022-04-19 00a59b93c16b24e7be77c6f1ce4866c75a2e0431
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java
@@ -8,6 +8,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@@ -38,6 +39,7 @@
import com.panzhihua.common.model.vos.community.convenient.ConvenientProductSpecificationVO;
import com.panzhihua.common.model.vos.community.convenient.ConvenientProductVO;
import com.panzhihua.common.model.vos.community.convenient.ConvenientViewStatisticsVO;
import com.panzhihua.common.model.vos.community.convenient.ExportMerchantVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.service_community.dao.ComActDAO;
import com.panzhihua.service_community.dao.ConvenientConsultationStatisticsDAO;
@@ -52,6 +54,8 @@
import com.panzhihua.service_community.model.dos.ConvenientViewStatisticsDO;
import com.panzhihua.service_community.service.ConvenientMerchantService;
import lombok.extern.slf4j.Slf4j;
/**
 * @title: ConvenientMerchantServiceImpl
 * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
@@ -60,6 +64,7 @@
 * @date: 2021/09/16 16:14
 */
@Service
@Slf4j
public class ConvenientMerchantServiceImpl extends ServiceImpl<ConvenientMerchantDAO, ConvenientMerchantDO> implements ConvenientMerchantService {
    @Resource
@@ -75,14 +80,28 @@
    @Resource
    private ConvenientViewStatisticsDAO convenientViewStatisticsDAO;
    private static final String DQ="510402";
    private static final String RHQ="510411";
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addMerchant(ConvenientMerchantDTO convenientMerchantDTO) {
        ComActDO comActDO = comActDAO.selectById(convenientMerchantDTO.getCommunityId());
        ConvenientMerchantDO convenientMerchantDO = new ConvenientMerchantDO();
        BeanUtils.copyProperties(convenientMerchantDTO, convenientMerchantDO);
        if(convenientMerchantDTO.getCommunityId()==0){
            if(DQ.equals(convenientMerchantDTO.getAreaCode())){
                convenientMerchantDO.setCommunityName("东区社区");
            }else if(RHQ.equals(convenientMerchantDTO.getAreaCode())){
                convenientMerchantDO.setCommunityName("仁和区社区");
            }else{
                convenientMerchantDO.setCommunityName("西区社区");
            }
        }
        else {
            ComActDO comActDO = comActDAO.selectById(convenientMerchantDTO.getCommunityId());
            convenientMerchantDO.setCommunityName(comActDO.getName());
        }
        convenientMerchantDO.setUserId(0L);
        convenientMerchantDO.setCommunityName(comActDO.getName());
        convenientMerchantDO.setCreatedAt(new Date());
        int insertResult = this.baseMapper.insert(convenientMerchantDO);
        if (insertResult > 0) {
@@ -120,7 +139,12 @@
        Long communityId = convenientMerchantDTO.getCommunityId();
        if (nonNull(communityId)) {
            ComActDO comActDO = comActDAO.selectById(communityId);
            convenientMerchantDO.setCommunityName(comActDO.getName());
            if(comActDO!=null){
                convenientMerchantDO.setCommunityName(comActDO.getName());
            }
            else {
                convenientMerchantDO.setCommunityName("西区社区");
            }
        }
        String account = convenientMerchantDTO.getAccount();
        if (isNotBlank(account)) {
@@ -140,6 +164,7 @@
            });
        }
        BeanUtils.copyProperties(convenientMerchantDTO, convenientMerchantDO);
        convenientMerchantDO.setIntroduction(convenientMerchantDTO.getIntroduction());
        this.baseMapper.updateById(convenientMerchantDO);
        return R.ok();
    }
@@ -159,6 +184,15 @@
        page.setSize(pageConvenientMerchantDTO.getPageSize());
        page.setCurrent(pageConvenientMerchantDTO.getPageNum());
        IPage<ConvenientMerchantVO> iPage = this.baseMapper.pageMerchant(page, pageConvenientMerchantDTO);
        if (nonNull(pageConvenientMerchantDTO.getServiceId())) {
            List<ConvenientMerchantVO> records = iPage.getRecords();
            if (!records.isEmpty()) {
                records.forEach(record -> {
                    String serviceScope = convenientServiceCategoryDAO.selectServiceScopeByMerchantId(record.getId());
                    record.setServiceScope(serviceScope);
                });
            }
        }
        return R.ok(iPage);
    }
@@ -172,7 +206,15 @@
    @Override
    public R disableOrEnableMerchant(DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO) {
        List<ConvenientMerchantDO> convenientMerchantDOList = this.baseMapper.selectList(new QueryWrapper<ConvenientMerchantDO>()
                .lambda().in(ConvenientMerchantDO::getId, disableOrEnableConvenientMerchantDTO.getIds()));
        List<Long> userIds = convenientMerchantDOList.stream().map(ConvenientMerchantDO::getUserId).collect(Collectors.toList());
        disableOrEnableConvenientMerchantDTO.setUserIds(userIds);
        R result = userService.disableOrEnableMerchantUsers(disableOrEnableConvenientMerchantDTO);
        int type = disableOrEnableConvenientMerchantDTO.getType().intValue();
        if (type == 2) {
            this.baseMapper.batchUpdateBusinessStatus(convenientMerchantDOList, 0);
        }
        if (R.isOk(result)) {
            return R.ok();
        }
@@ -181,9 +223,12 @@
    @Override
    public R resetPasswordMerchant(ResetPasswordConvenientMerchantDTO resetPasswordConvenientMerchantDTO) {
        List<ConvenientMerchantDO> convenientMerchantDOList = this.baseMapper.selectList(new QueryWrapper<ConvenientMerchantDO>()
                .lambda().in(ConvenientMerchantDO::getId, resetPasswordConvenientMerchantDTO.getIds()));
        List<Long> userIds = convenientMerchantDOList.stream().map(ConvenientMerchantDO::getUserId).collect(Collectors.toList());
        EventGridMemberPassResetDTO eventGridMemberPassResetDTO = new EventGridMemberPassResetDTO();
        eventGridMemberPassResetDTO.setPassword(resetPasswordConvenientMerchantDTO.getPassword());
        eventGridMemberPassResetDTO.setIds(resetPasswordConvenientMerchantDTO.getIds());
        eventGridMemberPassResetDTO.setIds(userIds);
        return userService.gridMemberPassReset(eventGridMemberPassResetDTO);
    }
@@ -229,10 +274,14 @@
        SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd");
        String moth = mothFormat.format(nowDate);
        String day = dayFormat.format(nowDate);
        int consultationCount = convenientConsultationStatisticsDAO.selectTotalConsultationVolume(merchantId);
        int monthConsultationVolume = convenientConsultationStatisticsDAO.selectMonthConsultationVolume(merchantId, moth);
        int dayConsultationVolume = convenientConsultationStatisticsDAO.selectDayConsultationVolume(merchantId, day);
        Integer viewCount = convenientViewStatisticsDAO.selectTotalViewNum(merchantId);
        int monthViewNum = convenientViewStatisticsDAO.selectMonthViewNum(merchantId, moth);
        int dayViewNum = convenientViewStatisticsDAO.selectDayViewNum(merchantId, day);
        convenientMerchantVO.setConsultationVolume(consultationCount);
        convenientMerchantVO.setViewNum(viewCount);
        convenientMerchantVO.setMonthConsultationVolume(monthConsultationVolume);
        convenientMerchantVO.setDayConsultationVolume(dayConsultationVolume);
        convenientMerchantVO.setMonthViewNum(monthViewNum);
@@ -248,7 +297,16 @@
        Page page = new Page<>();
        page.setSize(pagePopularMerchantDTO.getPageSize());
        page.setCurrent(pagePopularMerchantDTO.getPageNum());
        IPage<ConvenientMerchantVO> merchantVOList = this.baseMapper.getPopularMerchants(page, pagePopularMerchantDTO.getCommunityId(), currentMon);
        IPage<ConvenientMerchantVO> merchantVOList = this.baseMapper.getPopularMerchants(page, pagePopularMerchantDTO.getCommunityId(), currentMon,pagePopularMerchantDTO.getAreaCode());
        if(pagePopularMerchantDTO.getPageNum().equals(1L)){
            //第一页默认把犇师傅维修中心加载到第一个
            List<ConvenientMerchantVO> merchantList = this.baseMapper.selectMerchantByName(pagePopularMerchantDTO.getCommunityId(), currentMon);
            if(merchantList != null && merchantList.size() > 0){
                merchantList.addAll(merchantVOList.getRecords());
                merchantVOList.setRecords(merchantList);
            }
        }
        return R.ok(merchantVOList);
    }
@@ -261,6 +319,13 @@
        page.setSize(pageClassifyMerchantDTO.getPageSize());
        page.setCurrent(pageClassifyMerchantDTO.getPageNum());
        IPage<ConvenientMerchantVO> merchantVOList = this.baseMapper.getClassifyMerchants(page, pageClassifyMerchantDTO, currentMon);
        List<ConvenientMerchantVO> records = merchantVOList.getRecords();
        if (!records.isEmpty()) {
            records.forEach(record -> {
                String serviceScope = convenientServiceCategoryDAO.selectServiceScopeByMerchantId(record.getId());
                record.setServiceScope(serviceScope);
            });
        }
        return R.ok(merchantVOList);
    }
@@ -313,6 +378,10 @@
    @Override
    public R consultMerchant(Long merchantId) {
        ConvenientMerchantDO merchantDO = this.baseMapper.selectById(merchantId);
        if (isNull(merchantDO)) {
            return R.fail("商家不存在");
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String nowDate = simpleDateFormat.format(new Date());
        ConvenientConsultationStatisticsDO statisticsDO = convenientConsultationStatisticsDAO.selectOne(new LambdaQueryWrapper<ConvenientConsultationStatisticsDO>()
@@ -327,6 +396,10 @@
    @Override
    public R incrMerchantView(Long merchantId) {
        ConvenientMerchantDO merchantDO = this.baseMapper.selectById(merchantId);
        if (isNull(merchantDO)) {
            return R.fail("商家不存在");
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String nowDate = simpleDateFormat.format(new Date());
        ConvenientViewStatisticsDO statisticsDO = convenientViewStatisticsDAO.selectOne(new LambdaQueryWrapper<ConvenientViewStatisticsDO>()
@@ -341,7 +414,19 @@
    @Override
    public R exportMerchant(ExportMerchantDTO exportMerchantDTO) {
        return R.ok(this.baseMapper.exportMerchant(exportMerchantDTO));
        List<Long> needExportIds = exportMerchantDTO.getIds();
        if (nonNull(needExportIds) && !needExportIds.isEmpty()) {
            //根据id导出
            return R.ok(this.baseMapper.exportMerchantByIds(needExportIds));
        }
        List<ExportMerchantVO> exportMerchantVOList = this.baseMapper.exportMerchantBySearch(exportMerchantDTO);
        if (nonNull(exportMerchantDTO.getServiceId()) && !exportMerchantVOList.isEmpty()) {
            exportMerchantVOList.forEach(merchant -> {
                String serviceScope = convenientServiceCategoryDAO.selectServiceScopeByMerchantId(merchant.getId());
                merchant.setServiceScope(serviceScope);
            });
        }
        return R.ok(exportMerchantVOList);
    }
    /**
@@ -356,4 +441,20 @@
        this.baseMapper.batchUpdateMerchantViewNum(viewVOList);
        return R.ok();
    }
    /**
     * check商家/店铺是否有效
     * @param userId
     * @return
     */
    @Override
    public Boolean checkStoreIsValid(Long userId) {
        R<LoginUserInfoVO> loginUserInfo = userService.getUserInfoByUserId(userId.toString());
        LoginUserInfoVO loginUserInfoVO =
                JSONObject.parseObject(JSONObject.toJSONString(loginUserInfo.getData()), LoginUserInfoVO.class);
        if (isNull(loginUserInfoVO) || !loginUserInfoVO.getType().equals(10) || loginUserInfoVO.getStatus() != 1) {
            return false;
        }
        return true;
    }
}