From 7ccce6911249a0a9df42f2e04e7a34da4c66a6da Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 30 八月 2024 10:01:33 +0800 Subject: [PATCH] 2024-08-30 朱宝民 获取地图中心坐标、是否允许开卡验证 --- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java | 22 +++++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java | 1 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoMapCenter.java | 31 ++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictSv.java | 29 +++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 10 +++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java | 5 + pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictCtrl.java | 22 +++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java | 16 ++++ 8 files changed, 134 insertions(+), 2 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java index 12fbdc8..f444fe3 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java @@ -3,11 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voSe.VoCardInfo; - import com.dy.pipIrrGlobal.voSe.VoCardInfo1; import com.dy.pipIrrGlobal.voSe.VoCards; import com.dy.pipIrrGlobal.voSe.VoCards2; -import com.dy.pipIrrGlobal.voSt.VoICCard; import com.dy.pipIrrGlobal.voWe.VoCards3; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -190,4 +188,18 @@ * @return */ Double getTotalMoneyIcCards(); + + /** + * 鏍规嵁姘村崱鍦板潃鑾峰彇姘村崱鏁伴噺锛岀敤鏉ュ垽鏂鍗℃槸鍚﹀厑璁稿紑鍗� + * @param cardAddr + * @return + */ + Long getCountByCardAddr(String cardAddr); + + /** + * 鏍规嵁姘村崱鍦板潃鑾峰彇鎸囧畾鐘舵�佺殑姘村崱鏁伴噺锛岀敤鏉ュ垽鏂鍗℃槸鍚﹀厑璁稿紑鍗� + * @param cardAddr + * @return + */ + Long getCountByCardAddrAndState(String cardAddr); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoMapCenter.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoMapCenter.java new file mode 100644 index 0000000..24e2e9f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voBa/VoMapCenter.java @@ -0,0 +1,31 @@ +package com.dy.pipIrrGlobal.voBa; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author ZhuBaoMin + * @date 2024-08-29 17:27 + * @LastEditTime 2024-08-29 17:27 + * @Description + */ + +@Data +public class VoMapCenter { + private static final long serialVersionUID = 202408291727001L; + + /** + * 绾害 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private BigDecimal lat; + + /** + * 缁忓害 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private BigDecimal lng; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml index bd1b81a..d34f935 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml @@ -615,4 +615,14 @@ `se_client_card` WHERE state = 1 </select> + + <!--鏍规嵁姘村崱鍦板潃鑾峰彇姘村崱鏁伴噺--> + <select id="getCountByCardAddr" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount FROM se_client_card WHERE cardAddr = #{cardAddr} + </select> + + <!--鏍规嵁姘村崱鍦板潃鑾峰彇鎸囧畾鐘舵�佺殑姘村崱鏁伴噺--> + <select id="getCountByCardAddrAndState" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount FROM se_client_card WHERE cardAddr = #{cardAddr} AND state IN(1,3) + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictCtrl.java index 58b1b24..b10b657 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictCtrl.java @@ -4,6 +4,7 @@ import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.voBa.VoDictItem; +import com.dy.pipIrrGlobal.voBa.VoMapCenter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -40,4 +41,25 @@ return BaseResponseUtils.buildSuccess(dictSv.getDictItemsByDictCode(dictCode)); } + /** + * 鏍规嵁閰嶇疆椤瑰悕绉拌幏鍙栭厤缃」鍊� + * @param itemName + * @return + */ + @GetMapping(path = "setting") + @SsoAop() + public BaseResponse<String> getSettingValue(String itemName) { + return BaseResponseUtils.buildSuccess(dictSv.getItemValue(itemName)); + } + + /** + * 鑾峰彇鍦板浘涓績鍧愭爣 + * @return + */ + @GetMapping(path = "map_center") + @SsoAop + public BaseResponse<VoMapCenter> getMapCenter() { + return BaseResponseUtils.buildSuccess(dictSv.getMapCenter()); + } + } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictSv.java index 0f6e424..f59b604 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/dict/DictSv.java @@ -1,11 +1,14 @@ package com.dy.pipIrrBase.dict; import com.dy.pipIrrGlobal.daoBa.BaDictItemMapper; +import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; import com.dy.pipIrrGlobal.voBa.VoDictItem; +import com.dy.pipIrrGlobal.voBa.VoMapCenter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -23,6 +26,9 @@ @Autowired private BaDictItemMapper dictItemMapper; + @Autowired + private BaSettingsMapper baSettingsMapper; + /** * 鏍规嵁瀛楀吀Code鑾峰彇瀛楀吀椤� * @param dictCode @@ -32,4 +38,27 @@ List<VoDictItem> rs = Optional.ofNullable(dictItemMapper.getDictItemsByDictCode(dictCode)).orElse(new ArrayList<>()); return rs ; } + + /** + * 鏍规嵁閰嶇疆椤瑰悕绉拌幏鍙栭厤缃」鍊� + * @param itemName + * @return + */ + public String getItemValue(String itemName) { + return baSettingsMapper.getItemValue(itemName); + } + + /** + * 鑾峰彇鍦板浘涓績鍧愭爣 + * @return + */ + public VoMapCenter getMapCenter() { + BigDecimal lat = new BigDecimal(baSettingsMapper.getItemValue("lat")); + BigDecimal lng = new BigDecimal(baSettingsMapper.getItemValue("lng")); + + VoMapCenter po = new VoMapCenter(); + po.setLat(lat); + po.setLng(lng); + return po; + } } 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 5bc30ff..98c5e85 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 @@ -76,6 +76,11 @@ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } + // 渚濇嵁姘村崱鍦板潃鍒ゆ柇璇ュ崱鏄惁鍙互寮�鍗★紝鏈紑杩囧崱鎴栦笉鏄甯哥姸鎬併�佹寕澶辩姸鎬佺殑鍙紑鍗� + if(!cardOperateSv.canActiveCard(po.getCardAddr())) { + return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_CARD_ESIST.getMessage()); + } + Long clientId = po.getClientId(); // 鑾峰彇5绾ц鏀垮尯鍒掍覆areaCode 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 76bb686..a927bb2 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 @@ -491,4 +491,26 @@ public Double getTradeAmountByCardNo(Long cardNum) { return seCardOperateMapper.getTradeAmountByCardNo(cardNum); } + + /** + * 鏍规嵁姘村崱鍦板潃鍒ゆ柇璇ュ崱鏄惁鍙互寮�鍗� + * @param cardAddr + * @return + */ + public Boolean canActiveCard(String cardAddr) { + + // 鎸囧畾姘村崱鍦板潃鐨勬按鍗℃暟閲� + Long cardCount = Optional.ofNullable(seClientCardMapper.getCountByCardAddr(cardAddr)).orElse(0L); + if(cardCount == 0) { + return true; + } + + // 鎸囧畾姘村崱鍦板潃涓旀甯哥姸鎬佹垨鎸傚け鐘舵�佺殑姘村崱鏁伴噺 + cardCount = Optional.ofNullable(seClientCardMapper.getCountByCardAddrAndState(cardAddr)).orElse(0L); + if(cardCount == 0) { + return true; + } + + return false; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java index 5acba42..ef8f6fa 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java @@ -19,6 +19,7 @@ AREA_CODE_MISTAKE(10001, "璇ュ啘鎴疯鏀垮尯鍒掑紓甯�"), CLIENT_NUM_ERROR(10001, "鍐滄埛缂栧彿閿欒"), CARD_NUMBER_OVERRUN(10002, "姘村崱缂栧彿宸叉弧"), + ACTIVE_FAIL_CARD_ESIST(10005, "寮�鍗″け璐�-姝ゅ崱宸插瓨鍦�"), ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR(10003, "寮�鍗″け璐�-鍐滄埛鍗″啓鍏ュ紓甯�"), ACTIVE_FAIL_WRITE_ACTIVE_CARD_ERROR(10004, "寮�鍗″け璐�-寮�鍗¤褰曞啓鍏ュ紓甯�"), ACTIVE_FAIL_RECHARGE_EXCEPTION(10005, "寮�鍗″け璐�-鍏呭�煎紓甯�"), -- Gitblit v1.8.0