package com.zteits.business.biz.impl; import org.apache.commons.lang3.StringUtils; import com.clouds.common.utils.ListCopyUtil; import com.clouds.common.utils.SequenceUtil; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import com.zteits.business.dao.TdCBusinessAcctDao; import com.zteits.business.dao.TdCCustBusinessPicDao; import com.zteits.business.domain.TdCBusinessAcct; import com.zteits.business.domain.TdCBusinessOrderParkRecord; import com.zteits.business.domain.TdCCustBusiness; import com.zteits.business.domain.TdCCustBusinessPic; import com.zteits.clouds.api.apibase.constants.BasicEnum; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.apibase.constants.ErrorType; import com.zteits.clouds.api.apibase.constants.SequenceTypeEnum; import com.zteits.clouds.api.apibase.exception.BizException; import com.zteits.clouds.api.dto.business.dto.TdCBusinessOrderParkRecordDTO; import com.zteits.clouds.api.dto.business.dto.TdCCustBusinessPicDTO; import com.zteits.clouds.api.dto.business.param.*; import com.zteits.clouds.api.service.business.TdCCustBusinessService; import com.zteits.business.dao.TdCCustBusinessDao; import com.zteits.clouds.api.dto.business.dto.TdCCustBusinessDTO; import org.apache.commons.collections4.CollectionUtils; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.apibase.bean.PageBean; import com.zteits.clouds.api.dto.clouds.param.BatchDeleteByPrimaryKeyRequest; import com.zteits.sys.pagepaper.PageBeanUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @Component public class TdCCustBusinessServiceImpl implements TdCCustBusinessService { private static final Logger logger = LoggerFactory.getLogger(TdCCustBusinessServiceImpl.class); @Autowired private TdCCustBusinessDao tdCCustBusinessDao; @Autowired private TdCCustBusinessPicDao tdCCustBusinessPicDao; @Autowired private TdCBusinessAcctDao tdCBusinessAcctDao; @Override public BizResult> queryTdCCustBusiness(TdCCustBusinessRequest request) { List tdCCustBusinessDTOS = new ArrayList<>(); List tdCCustBusinesss = tdCCustBusinessDao.queryTdCCustBusiness(request); if(CollectionUtils.isEmpty(tdCCustBusinesss)){ return new BizResult<>(tdCCustBusinessDTOS); } for (TdCCustBusiness source:tdCCustBusinesss){ TdCCustBusinessDTO dto = new TdCCustBusinessDTO(); BeanUtils.copyProperties(source,dto); tdCCustBusinessDTOS.add(dto); } return new BizResult<>(tdCCustBusinessDTOS); } @Override public BizResult> queryTdCCustBusinessForPage(TdCCustBusinessRequest request) { logger.info("进入查询商户信息"); PageBean pageBean = new PageBean<>(); PageInfo pageInfo = tdCCustBusinessDao.queryTdCCustBusinessForPage(request); if (pageInfo != null && pageInfo.getList() != null && pageInfo.getList().size() > 0) { PageBeanUtil.copyProperties(pageInfo, pageBean, TdCCustBusinessDTO.class); } return new BizResult<>(pageBean); } @Override public BizResult> queryBusinessParkOrderForPage(TdCBusinessOrderParkRecordRequest request){ logger.info("进入查询减免停车记录信息"); PageBean pageBean = new PageBean<>(); PageInfo pageInfo = tdCCustBusinessDao.queryBusinessParkOrderForPage(request); if (pageInfo != null && pageInfo.getList() != null && pageInfo.getList().size() > 0) { PageBeanUtil.copyProperties(pageInfo, pageBean, TdCBusinessOrderParkRecordDTO.class); } return new BizResult<>(pageBean); } @Override public BizResult batchDeleteTdCCustBusinessByPrimaryKey(BatchDeleteByPrimaryKeyRequest request) { int delenum = tdCCustBusinessDao.batchDeleteTdCCustBusinessByPrimaryKey(request.getIds(),request.getOpId(),request.getsOpName()); if(delenum>0){ for(Long id :request.getIds()){ TdCCustBusiness tdCCustBusiness = tdCCustBusinessDao.queryByPrimaryKey(id); TdCBusinessAcctRequest tdCBusinessAcctRequest = new TdCBusinessAcctRequest(); tdCBusinessAcctRequest.setSysCode(BasicEnum.SYS_CODE.getValue()); tdCBusinessAcctRequest.setBusinessId(tdCCustBusiness.getBusinessId()); List list = tdCBusinessAcctDao.queryTdCBusinessAcct(tdCBusinessAcctRequest); for(TdCBusinessAcct acct:list){ acct.setDataState(DataStatusEnum.DATA_STATUS_FROZEN.value()); acct.setModifyDate(new Date()); acct.setModifyEmpid(request.getOpId()); tdCBusinessAcctDao.updateByPrimaryKeySelective(acct); } } } return new BizResult<>(delenum>0); } @Override public BizResult saveTdCCustBusiness(TdCCustBusinessSaveRequest request) { /**1.判断商户是否存在,商户名称不能重复*/ TdCCustBusinessRequest requestQ = new TdCCustBusinessRequest(); requestQ.setBusinessName(request.getBusinessName()); requestQ.setOrgId(request.getOrgId()); List businessList = tdCCustBusinessDao.queryTdCCustBusiness(requestQ); if(CollectionUtils.isNotEmpty(businessList)){ throw new BizException(ErrorType.RECORD_IS_EXIST, "商户记录已存在"); } /**2.保存商户信息*/ TdCCustBusiness tdCCustBusiness = new TdCCustBusiness(); BeanUtils.copyProperties(request,tdCCustBusiness); /**生成企业ID*/ String businessId = SequenceUtil.getNextId(SequenceTypeEnum.BUSINESS_ID); tdCCustBusiness.setBusinessId(businessId); int saveNum = tdCCustBusinessDao.saveTdCCustBusiness(tdCCustBusiness); /**3.保存图片关联信息*/ if(CollectionUtils.isNotEmpty(request.getPicPathList())) { for(TdCCustBusinessPicRequest picPathR: request.getPicPathList()) { TdCCustBusinessPic tdCCustBusinessPic = new TdCCustBusinessPic(); tdCCustBusinessPic.setBusinessId(businessId); tdCCustBusinessPic.setPicType(picPathR.getPicType()); tdCCustBusinessPic.setPicPath(picPathR.getPicPath()); tdCCustBusinessPic.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); tdCCustBusinessPic.setCreateEmpid(tdCCustBusiness.getCreateEmpid()); tdCCustBusinessPic.setCreateDate(new Date()); tdCCustBusinessPicDao.saveTdCCustBusinessPic(tdCCustBusinessPic); } } TdCBusinessAcct tdCBusinessAcct = new TdCBusinessAcct(); String acctId = SequenceUtil.getNextId(SequenceTypeEnum.ACCOUNT_ID_C_SQE); tdCBusinessAcct.setAcctId(acctId); tdCBusinessAcct.setBusinessId(businessId); tdCBusinessAcct.setBusinessName(tdCCustBusiness.getBusinessName()); tdCBusinessAcct.setUserPhone(tdCCustBusiness.getUserPhone()); tdCBusinessAcct.setAcctType(1); tdCBusinessAcct.setAcctBalance(new BigDecimal(0)); tdCBusinessAcct.setAcctOrder(0); tdCBusinessAcct.setCreateEmpid(request.getCreateEmpId()); tdCBusinessAcct.setCreateDate(request.getCreateDate()); tdCBusinessAcctDao.saveTdCBusinessAcct(tdCBusinessAcct); return new BizResult<>(saveNum>0); } @Override public BizResult updateByPrimaryKeySelective(TdCCustBusinessSaveRequest request) { TdCCustBusiness tdCCustBusiness = new TdCCustBusiness(); BeanUtils.copyProperties(request,tdCCustBusiness); int upNum = tdCCustBusinessDao.updateByPrimaryKeySelective(tdCCustBusiness); if(CollectionUtils.isNotEmpty(request.getPicPathList())) { for(TdCCustBusinessPicRequest picPathR: request.getPicPathList()) { TdCCustBusinessPic tdCCustBusinessPic = new TdCCustBusinessPic(); BeanUtils.copyProperties(picPathR,tdCCustBusinessPic); int update = tdCCustBusinessPicDao.updateByPrimaryKeySelective(tdCCustBusinessPic); if(update<1){ tdCCustBusinessPic.setBusinessId(request.getBusinessId()); tdCCustBusinessPic.setPicType(picPathR.getPicType()); tdCCustBusinessPic.setPicPath(picPathR.getPicPath()); tdCCustBusinessPic.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); tdCCustBusinessPic.setCreateEmpid(tdCCustBusiness.getCreateEmpid()); tdCCustBusinessPic.setCreateDate(new Date()); tdCCustBusinessPicDao.saveTdCCustBusinessPic(tdCCustBusinessPic); } } } return new BizResult<>(upNum>0); } @Override public BizResult> queryTdCCustBusinessPicsByBusinessId (TdCCustBusinessRequest req){ List dtos = Lists.newArrayList(); if(null == req || StringUtils.isEmpty(req.getBusinessId())){ throw new BizException(ErrorType.PARAMM_NULL,"商户ID不能为空"); } List list = tdCCustBusinessPicDao.queryTdCCustBusinessPicsByBusinessId(req); if(CollectionUtils.isNotEmpty(list)){ ListCopyUtil.listCopyProperties(list,dtos,TdCCustBusinessPicDTO.class); } return new BizResult<>(dtos); } }