From 8394c7de622940269dca3160b8e74a99bcb87a4f Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期一, 22 一月 2024 09:41:25 +0800 Subject: [PATCH] 2024-01-22 朱宝民 充值查询接口,单点登录接口 --- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java | 46 ++++++++++- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java | 46 +++++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 75 ++++++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java | 11 +- pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoSv.java | 8 +- pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/UserVoMapper.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java | 29 ++++++- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java | 18 ++++ 9 files changed, 218 insertions(+), 21 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java index 798b5b4..340bbf4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java @@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; +import com.dy.pipIrrGlobal.voSe.VoRecharge; import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; /** * @author ZhuBaoMin @@ -24,4 +28,18 @@ int updateByPrimaryKeySelective(SeCardOperate record); int updateByPrimaryKey(SeCardOperate record); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰曟暟閲� + * @param params + * @return + */ + Long getRecordCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰� + * @param params + * @return + */ + List<VoRecharge> getRecharges(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java index e423945..f90ecf5 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java @@ -21,7 +21,7 @@ private static final long serialVersionUID = 1L; @Schema(title = "ID") - private Long id; + private String id; @Schema(title = "鍐滄埛濮撳悕") private String clientName; diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml index 52dc477..df474b2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml @@ -218,4 +218,79 @@ operate_dt = #{operateDt,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} </update> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰曟暟閲�--> + <select id="getRecordCount" 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 = 2 + <if test = "clientName != null and clientName !=''"> + AND cli.name like CONCAT('%',#{clientName},'%') + </if> + + <if test = "clientNum != null and clientNum > 0"> + AND cli.clientNum like CONCAT('%',#{clientNum},'%') + </if> + + <if test = "cardNum != null and cardNum !=''"> + AND card.cardNum like CONCAT('%',#{cardNum},'%') + </if> + + <if test = "paymentId != null and paymentId > 0"> + AND ope.payment_id = ${paymentId} + </if> + + <if test = "rechargeTimeStart != null and rechargeTimeStop != null"> + AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰�--> + <select id="getRecharges" resultType="com.dy.pipIrrGlobal.voSe.VoRecharge"> + SELECT + CAST(ope.id AS char) AS id , + cli.name AS clientName, + cli.clientNum, + card.cardNum, + ope.trade_amount AS amount, + (ope.money + ope.trade_amount) AS afterRecharge, + ope.payment_id, + ope.price, + (SELECT `name` FROM ba_user WHERE id = ope.operator) AS operator, + ope.operate_dt + 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 = 2 + <if test = "clientName != null and clientName !=''"> + AND cli.name like CONCAT('%',#{clientName},'%') + </if> + + <if test = "clientNum != null and clientNum > 0"> + AND cli.clientNum like CONCAT('%',#{clientNum},'%') + </if> + + <if test = "cardNum != null and cardNum !=''"> + AND card.cardNum like CONCAT('%',#{cardNum},'%') + </if> + + <if test = "paymentId != null and paymentId > 0"> + AND ope.payment_id = ${paymentId} + </if> + + <if test = "rechargeTimeStart != null and rechargeTimeStop != null"> + AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop} + </if> + </where> + ORDER BY ope.operate_dt DESC + <if test="pageCurr != null and pageSize != null"> + LIMIT ${pageCurr}, ${pageSize} + </if> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java index 94f9336..e17004d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java @@ -3,13 +3,16 @@ import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.util.Constant; +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.QoRecharge; import com.dy.pipIrrSell.clientCard.CardStateENUM; import com.dy.pipIrrSell.clientCard.ClientCardSv; import com.dy.pipIrrSell.clientCard.LastOperateENUM; @@ -26,10 +29,7 @@ import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.time.format.DateTimeFormatter; import java.util.*; @@ -729,4 +729,25 @@ return BaseResponseUtils.buildSuccess(true) ; } + + @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 = VoRecharge.class))} + ) + }) + @GetMapping(path = "/getRecharges") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoRecharge>>> get(QoRecharge vo){ + try { + QueryResultVo<List<VoRecharge>> res = cardOperateSv.getRecharges(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇鍏呭�艰褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java index f92a9f6..460678f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java @@ -2,24 +2,25 @@ import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; 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.pipIrrSell.cardOperate.dto.DtoRecharge; import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM; +import com.dy.pipIrrSell.cardOperate.qo.QoRecharge; import com.dy.pipIrrSell.clientCard.ClientCardSv; import com.dy.pipIrrSell.clientCard.LastOperateENUM; import com.dy.pipIrrSell.result.SellResultCode; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; +import java.util.*; /** * @author ZhuBaoMin @@ -182,4 +183,41 @@ return BaseResponseUtils.buildSuccess(true) ; } + + + public QueryResultVo<List<VoRecharge>> getRecharges(QoRecharge queryVo) { + //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿 + String rechargeTimeStart = queryVo.rechargeTimeStart; + String rechargeTimeStop = queryVo.rechargeTimeStop; + if(rechargeTimeStart != null) { + rechargeTimeStart = rechargeTimeStart + " 00:00:00"; + queryVo.setRechargeTimeStart(rechargeTimeStart); + } + if(rechargeTimeStop != null) { + rechargeTimeStop = rechargeTimeStop + " 23:59:59"; + queryVo.setRechargeTimeStop(rechargeTimeStop); + } + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + + Long itemTotal = seCardOperateMapper.getRecordCount(params); + + QueryResultVo<List<VoRecharge>> 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.getRecharges(params); + return rsVo ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java new file mode 100644 index 0000000..543e308 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoRecharge.java @@ -0,0 +1,46 @@ +package com.dy.pipIrrSell.cardOperate.qo; + +import com.dy.common.webUtil.QueryConditionVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +/** + * @author ZhuBaoMin + * @date 2024-01-20 11:35 + * @LastEditTime 2024-01-20 11:35 + * @Description + */ + +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Schema(name = "IC鍗″厖鍊艰褰曟煡璇㈡潯浠�") +public class QoRecharge extends QueryConditionVo { + + @Schema(description = "鍐滄埛濮撳悕") + public String clientName; + + @Schema(description = "鍐滄埛缂栧彿") + private Long clientId; + + @Schema(description = "IC鍗″彿") + public String cardAddr; + + @Schema(description = "浠樻鏂瑰紡") + public Integer paymentId; + + //@Schema(description = "鍏呭�兼椂闂確寮�濮�") + //public LocalDateTime rechargeTimeStart; + // + //@Schema(description = "鍏呭�兼椂闂確缁撴潫") + //public LocalDateTime rechargeTimeStop; + + @Schema(description = "鍏呭�兼椂闂確寮�濮�") + public String rechargeTimeStart; + + @Schema(description = "鍏呭�兼椂闂確缁撴潫") + public String rechargeTimeStop; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java index 07c5702..725177d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java @@ -7,7 +7,6 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoBa.BaUser; -import com.dy.pipIrrGlobal.util.DistrictLevel; import com.dy.pipIrrGlobal.util.Org; import com.mysql.cj.util.StringUtils; import io.swagger.v3.oas.annotations.Hidden; @@ -22,15 +21,15 @@ import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.cache.CacheManager; import org.springframework.http.MediaType; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.UUID; + +//import org.springframework.cache.CacheManager; /** * 娉ㄨВTag 鍦ˋPI涓樉绀猴細 Tag 娉ㄨВ, 缁欐暣涓帴鍙h捣浜嗕釜鍚嶅瓧涓庢弿杩�" @@ -230,7 +229,7 @@ @GetMapping(path = "loginUserId") public Long loginUserId(String token){ BaUser userPo = this.sv.getByUuid(token) ; - return userPo == null ? null : userPo.id ; + return userPo == null ? null : userPo.userId ; } /** * 姝ゆ柟娉曚緵瀛愭ā鍧楃郴缁熻皟鐢紝鎵�浠ヤ笉鍏紑鍦ˋPI鎺ュ彛涓� @@ -307,8 +306,8 @@ BaUser userPo = this.sv.getByUuid(token) ; CurUserVo vo = new CurUserVo(); if(userPo != null){ - vo.id = userPo.id ; - vo.name = userPo.name ; + vo.id = userPo.userId ; + vo.name = userPo.userName; } return vo ; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoSv.java index e1ddefe..c72b64b 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoSv.java @@ -41,8 +41,8 @@ @Cacheable(cacheNames=CacheConstants.cacheNames, key="'" + CacheConstants.loginUserKeyPrefix + "' + #uuid", sync=true) public BaUser loginWithMapperXml(String uuid, String phone, String password){ BaUser baUser = this.baUserMapper.login(phone, password) ; - if(baUser != null && baUser.id != null){ - baUser.privileges = this.baPrivilegeMapper.selectPrivilegeByUserId(baUser.id) ; + if(baUser != null && baUser.userId != null){ + baUser.privileges = this.baPrivilegeMapper.selectPrivilegeByUserId(baUser.userId) ; } return baUser; } @@ -66,8 +66,8 @@ .eq("phone", phone) .eq("password", password); BaUser baUser = this.baUserMapper.selectOne(qw) ; - if(baUser != null && baUser.id != null){ - baUser.privileges = this.baPrivilegeMapper.selectPrivilegeByUserId(baUser.id) ; + if(baUser != null && baUser.userId != null){ + baUser.privileges = this.baPrivilegeMapper.selectPrivilegeByUserId(baUser.userId) ; } return baUser; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/UserVoMapper.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/UserVoMapper.java index ef6d03b..0ffefbb 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/UserVoMapper.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/UserVoMapper.java @@ -15,8 +15,8 @@ * @param po * @return */ - @Mapping(target = "id", source = "id") - @Mapping(target = "name", source = "name") + @Mapping(target = "id", source = "userId") + @Mapping(target = "name", source = "userName") @Mapping(target = "phone", source = "phone") @Mapping(target = "token", ignore=true) UserVo po2vo(BaUser po); -- Gitblit v1.8.0