1.查询开卡记录 2.修改取水口参数传入方式 3.完善取水口是否绑定控制器查询
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; |
| | | import com.dy.pipIrrGlobal.voSe.VoRecharge; |
| | | import com.dy.pipIrrGlobal.voSe.VoTransaction; |
| | | import com.dy.pipIrrGlobal.voSe.VoTransactionStatistics; |
| | | import com.dy.pipIrrGlobal.voSe.*; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | */ |
| | | //Float getPaymentSums(Map<?, ?> params); |
| | | Float getPaymentSums(@Param("tradeDate") String tradeDate, @Param("paymentId") Long paymentId); |
| | | |
| | | /** |
| | | * 根据指定条件获取开卡记录数 |
| | | * @param params |
| | | * @return |
| | | */ |
| | | Long getActiveCardRecordCount(Map<?, ?> params); |
| | | |
| | | /** |
| | | * 根据指定条件获取开卡记录 |
| | | * @param params |
| | | * @return |
| | | */ |
| | | List<VoActiveCardNew> getActiveCards(Map<?, ?> params); |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrGlobal.voSe; |
| | | |
| | | import com.dy.common.po.BaseEntity; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author :WuZeYu |
| | | * @Date :2024/1/23 16:36 |
| | | * @LastEditTime :2024/1/23 16:36 |
| | | * @Description |
| | | */ |
| | | |
| | | @Data |
| | | @Schema(title = "充值记录视图对象") |
| | | public class VoActiveCardNew implements BaseEntity { |
| | | private static final long serialVersionUID = 2024012316370001L; |
| | | |
| | | @Schema(title = "ID") |
| | | private Long id; |
| | | |
| | | @Schema(title = "农户姓名") |
| | | private String clientName; |
| | | |
| | | @Schema(title = "农户编号") |
| | | private String clientNum; |
| | | |
| | | @Schema(title = "水卡编号") |
| | | private String cardNum; |
| | | |
| | | @Schema(title = "水卡状态") |
| | | private Byte state; |
| | | |
| | | @Schema(title = "水卡状态名称") |
| | | private String stateName; |
| | | |
| | | @Schema(title = "卡片费用") |
| | | private Integer cardCost; |
| | | |
| | | |
| | | @Schema(title = "支付方式") |
| | | private Integer paymentId; |
| | | |
| | | @Schema(title = "操作人") |
| | | private String operator; |
| | | |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | @Schema(title = "操作时间") |
| | | private Date operateDt; |
| | | } |
| | |
| | | INNER JOIN ba_district country ON ge.countyId = country.id |
| | | INNER JOIN ba_district town ON ge.townId = town.id |
| | | INNER JOIN ba_district village ON ge.villageId = village.id |
| | | INNER JOIN pr_controller con ON con.intakeId = ge.id |
| | | , (SELECT @i:=0) AS itable |
| | | <where> |
| | | ge.deleted = 0 |
| | |
| | | divi.`name` AS divideName, |
| | | blo.`name` AS blockName, |
| | | ge.operateDt As operateDt, |
| | | (CASE |
| | | WHEN ge.id NOT IN(SELECT intakeId FROM pr_controller where deleted = 0) THEN "未绑定" |
| | | WHEN ge.id IN(SELECT intakeId FROM pr_controller where deleted = 0) THEN "已绑定" |
| | | END) AS isBind, |
| | | CONCAT(country.`name`, town.`name`, village.`name`) AS address |
| | | FROM pr_intake ge |
| | | INNER JOIN pr_divide divi ON ge.divideId = divi.id |
| | |
| | | INNER JOIN ba_district country ON ge.countyId = country.id |
| | | INNER JOIN ba_district town ON ge.townId = town.id |
| | | INNER JOIN ba_district village ON ge.villageId = village.id |
| | | INNER JOIN pr_controller con ON con.intakeId = ge.id |
| | | , (SELECT @i:=0) AS itable |
| | | <where> |
| | | ge.deleted = 0 |
| | |
| | | </where> |
| | | GROUP BY ope.payment_id, Date(ope.operate_dt) |
| | | </select> |
| | | |
| | | <!--根据指定条件获取开卡记录数量--> |
| | | <select id="getActiveCardRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | select |
| | | COUNT(*) AS recordCount |
| | | FROM se_card_operate ope |
| | | INNER JOIN se_client_card card ON ope.card_id = card.id |
| | | INNER JOIN se_client cli ON ope.client_id = cli.id |
| | | <where> |
| | | AND ope.operate_type = 1 |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | |
| | | <if test = "cardNum != null and cardNum !=''"> |
| | | AND card.cardNum like CONCAT('%',#{cardNum},'%') |
| | | </if> |
| | | |
| | | <if test = "state != null and state > 0"> |
| | | AND card.state = ${state} |
| | | </if> |
| | | |
| | | <if test = "activeTimeStart != null and activeTimeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{activeTimeStart} AND #{activeTimeStop} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取开卡记录--> |
| | | <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCardNew"> |
| | | SELECT |
| | | CAST(ope.id AS char) AS id , |
| | | cli.name AS clientName, |
| | | cli.clientNum AS clientNum, |
| | | card.cardNum AS cardNum, |
| | | card.state AS state, |
| | | (CASE |
| | | WHEN card.state = 1 THEN "正常" |
| | | WHEN card.state = 2 THEN "已注销" |
| | | WHEN card.state = 3 THEN "已挂失" |
| | | END) AS stateName, |
| | | ope.card_cost AS cardCost, |
| | | ope.payment_id AS paymentId, |
| | | (SELECT `name` FROM ba_user WHERE id = ope.operator) AS operator, |
| | | ope.operate_dt AS operateDt |
| | | FROM se_card_operate ope |
| | | INNER JOIN se_client_card card ON ope.card_id = card.id |
| | | INNER JOIN se_client cli ON ope.client_id = cli.id |
| | | <where> |
| | | AND ope.operate_type = 1 |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | |
| | | <if test = "cardNum != null and cardNum !=''"> |
| | | AND card.cardNum like CONCAT('%',#{cardNum},'%') |
| | | </if> |
| | | |
| | | <if test = "state != null and state > 0"> |
| | | AND card.state = ${state} |
| | | </if> |
| | | |
| | | <if test = "activeTimeStart != null and activeTimeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{activeTimeStart} AND #{activeTimeStop} |
| | | </if> |
| | | </where> |
| | | ORDER BY ope.operate_dt DESC |
| | | <if test="pageCurr != null and pageSize != null"> |
| | | LIMIT ${pageCurr}, ${pageSize} |
| | | </if> |
| | | </select> |
| | | </mapper> |
| | |
| | | schema = @Schema(implementation = VoActiveCard.class))} |
| | | ) |
| | | }) |
| | | @GetMapping(path = "getIntakes", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | @GetMapping(path = "getIntakes") |
| | | @SsoAop() |
| | | public BaseResponse<QueryResultVo<List<VoIntake>>> getIntakes(@RequestBody @Parameter(description = "查询form表单json数据", required = true) QueryVo vo){ |
| | | public BaseResponse<QueryResultVo<List<VoIntake>>> getIntakes(QueryVo vo){ |
| | | try { |
| | | QueryResultVo<List<VoIntake>> res = intakeSv.getIntakes(vo); |
| | | if(res == null) { |
| | |
| | | import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeClientCard; |
| | | import com.dy.pipIrrGlobal.util.Constant; |
| | | import com.dy.pipIrrGlobal.voSe.VoActiveCard; |
| | | import com.dy.pipIrrGlobal.voSe.VoActiveCardNew; |
| | | import com.dy.pipIrrGlobal.voSe.VoRecharge; |
| | | import com.dy.pipIrrSell.cardOperate.converter.RechargeDtoMapper; |
| | | import com.dy.pipIrrSell.cardOperate.dto.*; |
| | | import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoActiveCard; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoRecharge; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoTransaction; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoTransactionStatistics; |
| | |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据指定条件获取开卡记录 |
| | | * @param vo |
| | | * @return |
| | | */ |
| | | @Operation(summary = "获取开卡记录", description = "返回开卡记录") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "返回一页开卡数据(BaseResponse.content:QueryResultVo[{}])", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = VoActiveCard.class))} |
| | | ) |
| | | }) |
| | | @GetMapping(path = "/getActiveCards") |
| | | @SsoAop() |
| | | public BaseResponse<QueryResultVo<List<VoActiveCardNew>>> get(QoActiveCard vo){ |
| | | try { |
| | | QueryResultVo<List<VoActiveCardNew>> res = cardOperateSv.getActiveCards(vo); |
| | | if(res.itemTotal == 0) { |
| | | return BaseResponseUtils.buildFail(SellResultCode.No_ActiveCards.getMessage()); |
| | | } |
| | | return BaseResponseUtils.buildSuccess(res); |
| | | } catch (Exception e) { |
| | | log.error("获取开卡记录异常", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | import com.dy.pipIrrGlobal.daoSe.SeClientMapper; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeClientCard; |
| | | import com.dy.pipIrrGlobal.voSe.VoRecharge; |
| | | import com.dy.pipIrrGlobal.voSe.VoTransaction; |
| | | import com.dy.pipIrrGlobal.voSe.VoTransactionStatistics; |
| | | import com.dy.pipIrrGlobal.voSe.*; |
| | | import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge; |
| | | import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoActiveCard; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoRecharge; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoTransaction; |
| | | import com.dy.pipIrrSell.cardOperate.qo.QoTransactionStatistics; |
| | |
| | | |
| | | return map_result; |
| | | } |
| | | |
| | | /** |
| | | * 根据指定条件获取开卡记录 |
| | | * @param queryVo |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoActiveCardNew>> getActiveCards(QoActiveCard queryVo) { |
| | | //完善查询充值记录的起止时间 |
| | | String activeTimeStart = queryVo.activeTimeStart; |
| | | String activeTimeStop = queryVo.activeTimeStop; |
| | | if(activeTimeStart != null) { |
| | | activeTimeStart = activeTimeStart + " 00:00:00"; |
| | | queryVo.setActiveTimeStart(activeTimeStart); |
| | | } |
| | | if(activeTimeStop != null) { |
| | | activeTimeStop = activeTimeStop + " 23:59:59"; |
| | | queryVo.setActiveTimeStop(activeTimeStop); |
| | | } |
| | | |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); |
| | | |
| | | Long itemTotal = seCardOperateMapper.getActiveCardRecordCount(params); |
| | | |
| | | QueryResultVo<List<VoActiveCardNew>> rsVo = new QueryResultVo<>() ; |
| | | Integer pageCurr = 0; |
| | | Integer pageSize = 10000; |
| | | rsVo.pageCurr = 1; |
| | | rsVo.pageSize = 10000; |
| | | if(queryVo.pageSize != null && queryVo.pageCurr != null) { |
| | | rsVo.pageSize = queryVo.pageSize ; |
| | | rsVo.pageCurr = queryVo.pageCurr; |
| | | pageSize = queryVo.pageSize ; |
| | | pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); |
| | | } |
| | | params.put("pageCurr", pageCurr); |
| | | params.put("pageSize", pageSize); |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = seCardOperateMapper.getActiveCards(params); |
| | | return rsVo ; |
| | | } |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrSell.cardOperate.qo; |
| | | |
| | | import com.dy.common.webUtil.QueryConditionVo; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.*; |
| | | |
| | | /** |
| | | * @author :WuZeYu |
| | | * @Date :2024/1/23 14:41 |
| | | * @LastEditTime :2024/1/23 14:41 |
| | | * @Description |
| | | */ |
| | | |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ToString(callSuper = true) |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | @Builder |
| | | @Schema(name = "IC卡开卡记录查询条件") |
| | | public class QoActiveCard extends QueryConditionVo { |
| | | |
| | | // @Schema(description = "操作类型 1-开卡,2-补卡") |
| | | // private Byte operateType; |
| | | |
| | | @Schema(description = "农户姓名") |
| | | public String clientName; |
| | | |
| | | @Schema(description = "IC卡号") |
| | | //public String cardAddr; |
| | | public String cardNum; |
| | | |
| | | @Schema(description = "卡片状态") |
| | | private Byte state; |
| | | |
| | | //@Schema(description = "开卡时间_开始") |
| | | //public LocalDateTime activeTimeStart; |
| | | // |
| | | //@Schema(description = "开卡时间_结束") |
| | | //public LocalDateTime activeTimeStop; |
| | | |
| | | @Schema(description = "开卡时间_开始") |
| | | public String activeTimeStart; |
| | | |
| | | @Schema(description = "开卡时间_结束") |
| | | public String activeTimeStop; |
| | | } |
| | |
| | | CARD_NUMBER_ERROR(10006, "卡号错误,该卡不存在"), |
| | | REPLACE_FAIL_WRITE_CLIENT_CARD_ERROR(10007, "补卡失败-农户卡修改异常"), |
| | | REPLACE_FAIL_WRITE_RECHARGE_ERROR(10008, "补卡失败-补卡记录写入异常"), |
| | | No_ActiveCards(10009, "没有符合条件的开卡数据"), |
| | | |
| | | /** |
| | | * 充值 |