package com.java110.report.cmd.fee; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.CmdContextUtils; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.reportFee.ReportFeeMonthStatisticsDto; import com.java110.intf.report.IQueryPayFeeDetailInnerServiceSMO; import com.java110.intf.user.IStaffCommunityV1InnerServiceSMO; import com.java110.utils.exception.CmdException; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.DateUtil; import com.java110.utils.util.ListUtil; import com.java110.utils.util.StringUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.text.ParseException; import java.util.List; @Java110Cmd(serviceCode = "fee.queryAdminPayFeeDetail") public class QueryAdminPayFeeDetailCmd extends Cmd { @Autowired private IQueryPayFeeDetailInnerServiceSMO queryPayFeeDetailInnerServiceSMOImpl; @Autowired private IStaffCommunityV1InnerServiceSMO staffCommunityV1InnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { super.validatePageInfo(reqJson); super.validateAdmin(context); String endTime = reqJson.getString("endTime"); if (!StringUtil.isEmpty(endTime) && !endTime.contains(":")) { endTime += " 23:59:59"; reqJson.put("endTime", endTime); } } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = BeanConvertUtil.covertBean(reqJson, ReportFeeMonthStatisticsDto.class); reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + ""); reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + ""); String staffId = CmdContextUtils.getUserId(context); List communityIds = staffCommunityV1InnerServiceSMOImpl.queryStaffCommunityIds(staffId); if (!ListUtil.isNull(communityIds)) { reportFeeMonthStatisticsDto.setCommunityIds(communityIds.toArray(new String[communityIds.size()])); } ResultVo resultVo = queryPayFeeDetailInnerServiceSMOImpl.query(reportFeeMonthStatisticsDto); ResponseEntity responseEntity = new ResponseEntity(resultVo.toString(), HttpStatus.OK); context.setResponseEntity(responseEntity); } }