pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -64,4 +64,18 @@ * @return */ List<VoCardInfo> getCardInfoByClientId(@Param("clientId") Long clientId); /** * 根据水卡编号获取操作记录列表 * @param cardNum 水卡编号 * @return 水卡操作记录列表 */ List<Map<String, Object>> getOperateRecordsByCardNum(@Param("cardNum") Long cardNum); /** * 根据水卡编号获取余额 * @param cardNum 水卡编号 * @return 余额 */ Float getMoneyByCardNum(@Param("cardNum") Long cardNum); } pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java
@@ -23,6 +23,36 @@ @Schema(title = "ID") private Long id; @Schema(title = "县ID") private String countyId; @Schema(title = "县名称") private String countryName; @Schema(title = "镇ID") private String townId; @Schema(title = "镇名称") private String townName; @Schema(title = "村ID") private String villageId; @Schema(title = "村名称") private String villageName; @Schema(title = "片区ID") private String blockId; @Schema(title = "片区名称") private String bolckName; @Schema(title = "分水房ID") private String divideId; @Schema(title = "分水房名称") private String divideName; @Schema(title = "用户类型ID") private String waterTypeId; @Schema(title = "用户类型名称") private String waterTypeName; @Schema(title = "农户ID") private String clientId; @@ -36,7 +66,10 @@ private String phone; @Schema(title = "身份证号") private String idCard; private String idcard; @Schema(title = "种植面积") private Double area; @Schema(title = "卡片数量") private Integer cardCount; @@ -44,10 +77,11 @@ @Schema(title = "地址") private String address; @Schema(title = "备注") private String remarks; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Schema(title = "注册时间") private Date operateDt; } pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -272,4 +272,14 @@ FROM se_client_card WHERE clientId = ${clientId} </select> <!--根据水卡编号获取操作记录列表--> <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap"> SELECT * FROM v_operate WHERE cardNum = ${cardNum} </select> <!--根据水卡编号获取余额--> <select id="getMoneyByCardNum" resultType="java.lang.Float"> SELECT money FROM se_client_card WHERE cardNum = ${cardNum} </select> </mapper> pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -304,22 +304,26 @@ <!--根据指定条件获取农户记录数--> <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount COUNT(*) AS recordCount FROM se_client cli , (SELECT @i:=0) AS itable <where> AND disabled = 0 AND deleted = 0 AND cli.disabled = 0 AND cli.deleted = 0 <if test = "name != null and name !=''"> AND name like CONCAT('%',#{name},'%') AND cli.name like CONCAT('%',#{name},'%') </if> <if test = "num != null and num !=''"> AND clientNum like CONCAT('%',#{num},'%') <if test = "clientNum != null and clientNum !=''"> AND cli.clientNum like CONCAT('%',#{clientNum},'%') </if> <if test = "phone != null and phone !=''"> AND phone like CONCAT('%',#{phone},'%') AND cli.phone like CONCAT('%',#{phone},'%') </if> <if test = "address != null and address !=''"> AND cli.address like CONCAT('%',#{address},'%') </if> </where> @@ -329,37 +333,57 @@ <!--根据指定条件获取农户数据--> <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> SELECT (@i:=@i+1) AS id, CAST(id AS char) AS clientId, name, clientNum, phone, idCard, (SELECT COUNT(*) FROM se_client_card WHERE clientNum = cli.clientNum) AS cardCount, address, operateDt (@i:=@i+1) AS id, CAST(cli.countyId AS char) AS countyId, dis_con.name AS countryName, CAST(cli.townId AS char) AS townId, dis_town.name AS townName, CAST(cli.villageId AS char) AS villageId, dis_village.name AS villageName, CAST(cli.blockId AS char) AS blockId, blo.name AS bolckName, CAST(cli.divideId AS char) AS divideId, divi.name AS divideName, CAST(cli.typeId AS char) AS waterTypeId, wat.typeName AS waterTypeName, CAST(cli.id AS char) AS clientId, cli.name, cli.clientNum, cli.phone, cli.idCard, cli.area, (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id) AS cardCount, cli.address, cli.remarks, cli.operateDt FROM se_client cli LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id LEFT JOIN ba_block blo ON cli.blockId = blo.id LEFT JOIN pr_divide divi ON cli.divideId = divi.id LEFT JOIN se_water_type wat ON cli.typeId = wat.id , (SELECT @i:=0) AS itable <where> AND disabled = 0 AND deleted = 0 AND cli.disabled = 0 AND cli.deleted = 0 <if test = "name != null and name !=''"> AND name like CONCAT('%',#{name},'%') AND cli.name like CONCAT('%',#{name},'%') </if> <if test = "clientNum != null and clientNum !=''"> AND clientNum like CONCAT('%',#{clientNum},'%') AND cli.clientNum like CONCAT('%',#{clientNum},'%') </if> <if test = "phone != null and phone !=''"> AND phone like CONCAT('%',#{phone},'%') AND cli.phone like CONCAT('%',#{phone},'%') </if> <if test = "address != null and address !=''"> AND address like CONCAT('%',#{address},'%') AND cli.address like CONCAT('%',#{address},'%') </if> </where> ORDER BY operateDt DESC ORDER BY cli.operateDt DESC <if test="pageCurr != null and pageSize != null"> LIMIT ${pageCurr}, ${pageSize} </if> pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java
@@ -16,12 +16,10 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * @author ZhuBaoMin @@ -38,6 +36,11 @@ public class ClientCardCtrl { private final ClientCardSv clientCardSv; /** * 获取指定用户名下全部水卡 * @param clientId * @return */ @Operation(summary = "获得全部水卡", description = "返回全部水卡数据") @ApiResponses(value = { @ApiResponse( @@ -58,4 +61,30 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } /** * 根据水卡编号获取操作记录及余额 * @param cardNum 水卡编号 * @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 = BaClient.class))} ) }) @GetMapping(path = "/getoperaterecords") @SsoAop() public BaseResponse<List<Map<String, Object>>> getOperateRecordsAndMoney(@RequestParam("cardNum") Long cardNum){ try { Map map = clientCardSv.getOperateRecordsAndMoney(cardNum); return BaseResponseUtils.buildSuccess(map); } catch (Exception e) { log.error("查询操作记录异常", e); return BaseResponseUtils.buildException(e.getMessage()) ; } } } pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java
@@ -7,10 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.*; /** * @author ZhuBaoMin @@ -83,4 +80,18 @@ return new ArrayList<>(); } } /** * 根据水卡编号获取操作记录及余额 * @param cardNum * @return */ public Map getOperateRecordsAndMoney(Long cardNum) { List<Map<String, Object>> list = Optional.ofNullable(seClientCardMapper.getOperateRecordsByCardNum(cardNum)).orElse(new ArrayList<>()); Float mondy = Optional.ofNullable(seClientCardMapper.getMoneyByCardNum(cardNum)).orElse(0f); Map map = new HashMap(); map.put("mondy", mondy); map.put("list", list); return map; } }