pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java
@@ -44,7 +44,7 @@ * 获取农户全部虚拟卡 * @return */ List<VoVirtualCard> getVCs(@Param("clientId") Long clientId); List<VoVirtualCard> getVCs(@Param("alarmValue") Integer alarmValue, @Param("clientId") Long clientId); /** * 根据虚拟卡ID获取虚拟卡对象 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrControllerTramp.java
@@ -15,9 +15,7 @@ import com.dy.common.po.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.*; import org.hibernate.validator.constraints.Length; import java.util.Date; pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoActiveCard.java
@@ -1,5 +1,7 @@ package com.dy.pipIrrGlobal.voSe; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -45,7 +47,8 @@ private Double reissueAmount; @Schema(title = "支付方式") private Integer paymentId; @JSONField(serializeUsing= ObjectWriterImplToString.class) private Long paymentId; @Schema(title = "操作人") private String operator; pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoGeneral.java
@@ -1,6 +1,9 @@ package com.dy.pipIrrGlobal.voSe; import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -8,19 +11,22 @@ * @author ZhuBaoMin * @date 2024-01-24 17:00 * @LastEditTime 2024-01-24 17:00 * @Description * @Description 2024-08-22 朱宝民增加总额字段 */ @Data @JsonPropertyOrder({ "generalId", "cashierId", "cashierName", "tradeAmount", "gift", "refundAmount", "totalAmount", "operateDate", "auditStatus"}) @Schema(title = "财务对账之总账视图对象") public class VoGeneral implements BaseEntity { private static final long serialVersionUID = 202401241706001L; @Schema(title = "总账ID") private String generalId; @JSONField(serializeUsing= ObjectWriterImplToString.class) private Long generalId; @Schema(title = "收银员ID") private String cashierId; @JSONField(serializeUsing= ObjectWriterImplToString.class) private Long cashierId; @Schema(title = "收银员姓名") private String cashierName; @@ -34,6 +40,12 @@ @Schema(title = "返还金额") private Float refundAmount; /** * 总额 = 实收金额 + 赠送金额 + 返还金额 */ @Schema(title = "总额") private Float totalAmount; @Schema(title = "交易日期") private String operateDate; pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoVirtualCard.java
@@ -3,6 +3,7 @@ import com.alibaba.fastjson2.annotation.JSONField; import com.alibaba.fastjson2.writer.ObjectWriterImplToString; import com.dy.common.po.BaseEntity; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.Data; /** @@ -13,6 +14,7 @@ */ @Data @JsonPropertyOrder({ "id", "vcNum", "money", "inUse", "isAlarmValue"}) public class VoVirtualCard implements BaseEntity { private static final long serialVersionUID = 202405240815001L; @@ -24,8 +26,8 @@ private Double money; private Byte inUse; private Boolean inUse; private String inUseName; private Boolean isAlarmValue; } pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
@@ -5,7 +5,7 @@ #name: ym type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver #url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull # url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull #url: jdbc:mysql://8.130.130.233:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull #url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -68,7 +68,6 @@ lazy-load-trigger-methods: "" # 阻挡不相干的操作触发,实现懒加载 cache-enabled: true #打开全局缓存开关(二级环境),默认值是true default-enum-type-handler: com.dy.common.mybatis.envm.EnumCodeTypeHandler type-handlers-package: com.dy.pipIrrGlobal.pojoBa.MySqlJsonHandler pipIrr: global: @@ -183,4 +182,9 @@ signalIntensity: weak: 10 ordinary: 20 # strong: 20 # strong: 20 #虚拟卡配置参数 vc: #虚拟卡最低余额报警值 alarmValue: 10 pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml
@@ -269,7 +269,7 @@ SELECT COUNT(*) AS recordCount FROM ba_user user <!-- INNER JOIN ba_user_role usro ON usro.userId = user.id--> LEFT JOIN ba_user_role usro ON usro.userId = user.id <where> AND user.supperAdmin != 1 AND user.deleted = 0 @@ -302,7 +302,7 @@ CAST(blockId AS char) AS blockId, (SELECT name FROM ba_block WHERE id = user.blockId) AS blockName FROM ba_user user <!-- INNER JOIN ba_user_role usro ON usro.userId = user.id--> LEFT JOIN ba_user_role usro ON usro.userId = user.id <where> AND user.supperAdmin != 1 AND user.deleted = 0 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerTrampMapper.xml
@@ -116,7 +116,7 @@ <!--根据控制器编号获取流浪控制器信息--> <select id="getTrampControllerInfo" resultMap="BaseResultMap"> SELECT rtuAddr, protocol, findDt FROM pr_controller_tramp WHERE id = ${controllerId} SELECT rtuAddr, protocol, findDt FROM pr_controller_tramp WHERE id = #{controllerId} </select> <!-- 根据条件获取流浪控制器信息--> pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -287,9 +287,9 @@ ope.price, us.name AS opr, (CASE WHEN ope.operate_type = 1 THEN "开卡" WHEN ope.operate_type = 2 THEN "充值" WHEN ope.operate_type = 5 THEN "返还" WHEN ope.operate_type = 1 THEN '开卡' WHEN ope.operate_type = 2 THEN '充值' WHEN ope.operate_type = 5 THEN '返还' END) AS operateType, ope.operate_dt FROM se_card_operate ope @@ -334,7 +334,7 @@ FROM v_trade_details <where> <if test = "villageId != null and villageId > 0"> AND villageId = ${villageId} AND villageId = #{villageId} </if> <if test = "operateTimeStart != null and operateTimeStop != null"> @@ -342,7 +342,7 @@ </if> <if test = "cashierId != null and cashierId > 0"> AND cashierId = ${cashierId} AND cashierId = #{cashierId} </if> <if test = "tradeTime != null"> @@ -356,7 +356,7 @@ SELECT * FROM v_trade_details <where> <if test = "villageId != null and villageId > 0"> AND villageId = ${villageId} AND villageId = #{villageId} </if> <if test = "operateTimeStart != null and operateTimeStop != null"> @@ -364,12 +364,12 @@ </if> <if test = "cashierId != null and cashierId > 0"> AND cashierId = ${cashierId} AND cashierId = #{cashierId} </if> </where> ORDER BY tradeTime <if test="pageCurr != null and pageSize != null"> LIMIT ${pageCurr}, ${pageSize} LIMIT #{pageCurr}, #{pageSize} </if> </select> @@ -391,7 +391,7 @@ </if> <if test = "state != null and state > 0"> AND card.state = ${state} AND card.state = #{state} </if> <if test = "activeTimeStart != null and activeTimeStop != null"> @@ -409,9 +409,9 @@ card.cardNum AS cardNum, card.state AS state, (CASE WHEN card.state = 1 THEN "正常" WHEN card.state = 2 THEN "已注销" WHEN card.state = 3 THEN "已挂失" 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, @@ -431,7 +431,7 @@ </if> <if test = "state != null and state > 0"> AND card.state = ${state} AND card.state = #{state} </if> <if test = "activeTimeStart != null and activeTimeStop != null"> @@ -515,7 +515,7 @@ INNER JOIN ba_user us ON ope.operator = us.id <where> <if test = "operateType != null and operateType > 0"> AND ope.operate_type = ${operateType} AND ope.operate_type = #{operateType} </if> <if test = "clientName != null and clientName !=''"> @@ -542,7 +542,7 @@ ope.operate_dt AS operateDt, IFNULL(ope.trade_amount,0) AS refund, (CASE WHEN ope.payment_id = 1 THEN "现金" WHEN ope.payment_id = 1 THEN '现金' END) AS refundTypeName, card.money, IFNULL(ope.system_balance,0) AS systemBalance @@ -552,7 +552,7 @@ INNER JOIN ba_user us ON ope.operator = us.id <where> <if test = "operateType != null and operateType > 0"> AND ope.operate_type = ${operateType} AND ope.operate_type = #{operateType} </if> <if test = "clientName != null and clientName !=''"> @@ -589,7 +589,7 @@ <where> AND ope.operate_type IN(1,2) <if test = "operateId != null and operateId > 0"> AND ope.id = ${operateId} AND ope.id = #{operateId} </if> <if test = "clientName != null and clientName !=''"> @@ -634,7 +634,7 @@ <where> AND ope.operate_type IN(1,2) <if test = "operateId != null and operateId > 0"> AND ope.id = ${operateId} AND ope.id = #{operateId} </if> <if test = "clientName != null and clientName !=''"> @@ -667,7 +667,7 @@ <where> AND ope.operate_type IN(1,2) <if test = "operateId != null and operateId > 0"> AND ope.id = ${operateId} AND ope.id = #{operateId} </if> <if test = "clientName != null and clientName !=''"> pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml
@@ -198,7 +198,7 @@ </if> <if test = "auditStatus != null and auditStatus > 0"> AND audit_status = ${auditStatus} AND audit_status = #{auditStatus} </if> <if test = "operateDateStart != null and operateDateStop != null"> @@ -210,17 +210,18 @@ <!--根据指定条件获取总账记录--> <select id="getGenerals" resultType="com.dy.pipIrrGlobal.voSe.VoGeneral"> SELECT CAST(id AS char) AS generalId, CAST(cashier_id AS char) AS cashierId, id AS generalId, cashier_id AS cashierId, cashier_name AS cashierName, trade_amount AS tradeAmount, gift, refund_amount AS refundAmount, (trade_amount + gift + refund_amount) AS totalAmount, Date(operate_date) AS operateDate, (CASE WHEN audit_status = 1 THEN "未审核" WHEN audit_status = 2 THEN "同意" WHEN audit_status = 3 THEN "驳回" WHEN audit_status = 1 THEN '未审核' WHEN audit_status = 2 THEN '同意' WHEN audit_status = 3 THEN '驳回' END) AS auditStatus FROM se_general <where> @@ -229,7 +230,7 @@ </if> <if test = "auditStatus != null and auditStatus > 0"> AND audit_status = ${auditStatus} AND audit_status = #{auditStatus} </if> <if test = "operateDateStart != null and operateDateStop != null"> @@ -255,11 +256,11 @@ </if> <if test = "paymentId != null and paymentId >0"> AND ope.payment_id = ${paymentId} AND ope.payment_id = #{paymentId} </if> <if test = "cashierId != null and cashierId >0"> AND ope.operator = ${cashierId} AND ope.operator = #{cashierId} </if> </where> GROUP BY ope.payment_id, Date(ope.operate_dt) @@ -286,7 +287,7 @@ SELECT * FROM v_trade_summary <where> <if test = "cashierId != null and cashierId > 0"> AND cashierId = ${cashierId} AND cashierId = #{cashierId} </if> <if test = "timeStart != null and timeStop != null"> @@ -303,7 +304,7 @@ FROM v_trade_details <where> <if test = "cashierId != null and cashierId > 0"> AND cashierId = ${cashierId} AND cashierId = #{cashierId} </if> <if test = "tradeDate != null"> @@ -317,7 +318,7 @@ SELECT * FROM v_trade_details <where> <if test = "cashierId != null and cashierId > 0"> AND cashierId = ${cashierId} AND cashierId = #{cashierId} </if> <if test = "tradeDate != null"> pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeVirtualCardMapper.xml
@@ -175,22 +175,21 @@ <!--获取农户全部虚拟卡--> <select id="getVCs" resultType="com.dy.pipIrrGlobal.voSe.VoVirtualCard"> SELECT <!-- CAST(id AS char) AS id,--> id, vc_num AS vcNum, money, in_use AS inUse, (CASE WHEN in_use = 0 THEN '未使用' WHEN in_use = 1 THEN '使用中' END) AS inUseName WHEN money <= #{alarmValue} THEN true ELSE FALSE END) AS isAlarmValue FROM se_virtual_card <where> <if test = "clientId != null"> AND client_id = #{clientId} </if> </where> ORDER BY in_use, money ORDER BY in_use, money DESC </select> <!--根据虚拟卡ID获取虚拟卡对象--> pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java
@@ -94,11 +94,11 @@ public BaseResponse<QueryResultVo<List<VoUserInfo>>> some(QueryVo vo) { try { QueryResultVo<List<VoUserInfo>> res = this.sv.selectSome(vo); if(res.itemTotal == 0) { return BaseResponseUtils.buildSuccess(SystemResultCode.THE_USER_NOT_EXIST.getMessage()); }else { // if(res.itemTotal == 0) { // return BaseResponseUtils.buildSuccess(SystemResultCode.THE_USER_NOT_EXIST.getMessage()); // }else { return BaseResponseUtils.buildSuccess(res); } // } } catch (Exception e) { pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -877,9 +877,9 @@ public BaseResponse<QueryResultVo<List<VoActiveCard>>> getActiveCards(QoActiveCard vo){ try { QueryResultVo<List<VoActiveCard>> res = cardOperateSv.getActiveCards(vo); if(res.itemTotal == 0) { return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ActiveCards.getMessage()); } // if(res.itemTotal == 0) { // return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ActiveCards.getMessage()); // } return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("获取开卡记录异常", e); @@ -906,9 +906,9 @@ public BaseResponse<QueryResultVo<List<VoReissueCard>>> getReissueCards(QoReissueCard vo){ try { QueryResultVo<List<VoReissueCard>> res = cardOperateSv.getReissueCards(vo); if(res.itemTotal == 0) { return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ReissueCards.getMessage()); } // if(res.itemTotal == 0) { // return BaseResponseUtils.buildErrorMsg(SellResultCode.No_ReissueCards.getMessage()); // } return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("获取补卡记录异常", e); @@ -943,9 +943,9 @@ try { QueryResultVo<List<VoOperate>> res = cardOperateSv.getCommonOperations(vo); if(res.itemTotal == 0) { return BaseResponseUtils.buildErrorMsg(SellResultCode.No_CANCELS.getMessage()); } // if(res.itemTotal == 0) { // return BaseResponseUtils.buildErrorMsg(SellResultCode.No_CANCELS.getMessage()); // } return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("获取开卡记录异常", e); @@ -971,11 +971,11 @@ @SsoAop() public BaseResponse<Map> getReceipts(QoReceipt vo){ try { Map res = Optional.ofNullable(cardOperateSv.getReceipts(vo)).orElse(new HashMap()); if(res.size() == 0) { return BaseResponseUtils.buildErrorMsg(SellResultCode.No_RECEIPTS.getMessage()); } return BaseResponseUtils.buildSuccess(res); // Map res = Optional.ofNullable(cardOperateSv.getReceipts(vo)).orElse(new HashMap()); // if(res.size() == 0) { // return BaseResponseUtils.buildErrorMsg(SellResultCode.No_RECEIPTS.getMessage()); // } return BaseResponseUtils.buildSuccess(cardOperateSv.getReceipts(vo)); } catch (Exception e) { log.error("获取电子钱包账户记录", e); return BaseResponseUtils.buildException(e.getMessage()) ; pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -385,7 +385,7 @@ } /** * 根据指定条件获取IC卡注销记录 * 根据指定条件获取通用操作记录 * @param queryVo * @return */ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/virtualCard/VirtualCardSv.java
@@ -8,7 +8,6 @@ import com.dy.pipIrrGlobal.pojoSe.SeVcRefund; import com.dy.pipIrrGlobal.pojoSe.SeVcRefundItem; import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; import com.dy.pipIrrGlobal.voPr.VoController; import com.dy.pipIrrGlobal.voSe.VoOrders; import com.dy.pipIrrGlobal.voSe.VoVcRecharge; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; @@ -20,6 +19,7 @@ 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 org.springframework.transaction.annotation.Transactional; @@ -52,6 +52,9 @@ @Autowired private SeClientMapper seClientMapper; @Value("${vc.alarmValue}") private Integer alarmValue; /** * 根据农户ID获取5级行政区划代码,注册虚拟卡使用 * @param clientId 农户ID @@ -66,7 +69,7 @@ * @return */ public List<VoVirtualCard> getVCs(Long clientId) { return seVirtualCardMapper.getVCs(clientId); return seVirtualCardMapper.getVCs(alarmValue, clientId); } /** pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
@@ -126,7 +126,7 @@ } // 虚拟卡状态为使用中,且不是强制开阀时提示 if (vc.getInUse() == 1 && !forceOpen) { if (vc.getInUse() && !forceOpen) { return BaseResponseUtils.buildCodeMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getCode(), WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage()); } pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/virtualCard/VirtualCardSv.java
@@ -16,6 +16,7 @@ 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 org.springframework.transaction.annotation.Transactional; @@ -51,6 +52,9 @@ @Autowired private SeVcOperateMapper seVcOperateMapper; @Value("${vc.alarmValue}") private Integer alarmValue; /** * 根据农户ID获取5级行政区划代码,注册虚拟卡使用 * @param clientId 农户ID @@ -65,7 +69,7 @@ * @return */ public List<VoVirtualCard> getVCs(Long clientId) { return seVirtualCardMapper.getVCs(clientId); return seVirtualCardMapper.getVCs(alarmValue, clientId); } /**