| | |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.SeClientMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.SeGeneralMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.*; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeClientCard; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeManagerCard; |
| | | import com.dy.pipIrrGlobal.voSe.*; |
| | | import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge; |
| | | import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.dubbo.common.utils.PojoUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.DecimalFormat; |
| | |
| | | @Autowired |
| | | private BaSettingsMapper baSettingsMapper; |
| | | |
| | | @Autowired |
| | | private SeManagerCardMapper seManagerCardMapper; |
| | | |
| | | @Value("${project.projectNo}") |
| | | private Integer projectNo; |
| | | |
| | | /** |
| | | * 添加开卡记录 |
| | |
| | | public Long getAreaCodeById(Long clientId) { |
| | | return seClientMapper.getAreaCodeById(clientId); |
| | | } |
| | | |
| | | /** |
| | | * 根据行政区划串模块查询水卡编号,开卡使用 |
| | | * @param areaCode |
| | | * @return |
| | | */ |
| | | String getCardNumOfMax(String areaCode) { |
| | | public String getCardNumOfMax(String areaCode) { |
| | | return seClientCardMapper.getCardNumOfMax(areaCode); |
| | | } |
| | | |
| | | /** |
| | | * 根据行政区划串模糊查询管理卡编号,创建管理卡使用 |
| | | * @param areaCode |
| | | * @return |
| | | */ |
| | | public String getManagerCardNumOfMax(String areaCode) { |
| | | return seManagerCardMapper.getManagerCardNumOfMax(areaCode); |
| | | } |
| | | |
| | | /** |
| | | * 创建管理卡 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Long addManagerCard(SeManagerCard po) { |
| | | seManagerCardMapper.insert(po); |
| | | return po.getId(); |
| | | } |
| | | |
| | | /** |
| | |
| | | Long operator = po.getOperator(); |
| | | Date rechargeTime = new Date(); |
| | | |
| | | |
| | | // 验证水卡状态是否支持当前操作 |
| | | String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse(""); |
| | | if(stateName.length() == 0 || !stateName.equals("正常")) { |
| | | return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); |
| | | return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap()); |
| | | if(map == null || map.size() <= 0) { |
| | | return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage()); |
| | | return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage()); |
| | | } |
| | | cardId = Long.parseLong(map.get("cardId").toString()); |
| | | clientId = Long.parseLong(map.get("clientId").toString()); |
| | |
| | | seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ()); |
| | | Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); |
| | | if(rec_updateClientCard == 0) { |
| | | return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); |
| | | return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); |
| | | } |
| | | |
| | | /** |
| | |
| | | seCardOperateMapper.insert(seCardOperate); |
| | | Long rec = Optional.ofNullable(seCardOperate.getId()).orElse(0L); |
| | | if(rec == 0) { |
| | | return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage()); |
| | | return BaseResponseUtils.buildErrorMsg(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage()); |
| | | } |
| | | |
| | | return BaseResponseUtils.buildSuccess(true) ; |
| | | Map map_response = new HashMap(); |
| | | // map_response.put("projectNo", String.format("%02x", Integer.parseInt(getProjectNo()))); |
| | | map_response.put("projectNo", String.format("%02x", projectNo)); |
| | | map_response.put("orderNumber", rec); |
| | | map_response.put("cardNum", cardNum); |
| | | return BaseResponseUtils.buildSuccess(map_response) ; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | 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); |
| | | } |
| | | //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); |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 根据指定条件获取IC卡注销记录 |
| | | * 根据指定条件获取通用操作记录 |
| | | * @param queryVo |
| | | * @return |
| | | */ |
| | |
| | | * @return 是否已挂失未补卡 |
| | | */ |
| | | public Boolean isLostAndUnreplaced(Long cardNum) { |
| | | Integer rec = seClientCardMapper.isLostAndUnreplaced(cardNum); |
| | | if(rec != null && rec > 0) { |
| | | return false; |
| | | Integer lostCount = seClientCardMapper.getLostCount(cardNum); |
| | | Integer replacedCount = seClientCardMapper.getReplacedCount(cardNum); |
| | | if(lostCount > 0 && replacedCount == 0) { |
| | | return true; |
| | | } |
| | | return true; |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | |
| | | public String getProjectNo() { |
| | | return baSettingsMapper.getItemValue("projectNo"); |
| | | } |
| | | |
| | | /** |
| | | * 根据水卡编号获取其挂失时退款金额(补卡时判断使用) |
| | | * @param cardNum |
| | | * @return |
| | | */ |
| | | 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; |
| | | } |
| | | } |