From 247deaeb173a6f7b593d9fa4d4ce1ae214f2cdb7 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 28 六月 2024 21:39:23 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java | 32 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 12 + pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java | 47 +++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java | 217 ++++++++++++----------- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java | 7 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java | 10 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java | 11 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 6 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java | 7 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java | 26 ++ pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java | 3 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/result/SellResultCode.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 18 + pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml | 67 +++++++ pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java | 43 ++++ pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java | 1 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java | 5 pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml | 7 20 files changed, 384 insertions(+), 143 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 00cb1f0..69f2e43 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 @@ -125,4 +125,11 @@ * @return */ Double getTotalAmount(Map<?, ?> params); + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級 + * @param cardNum + * @return + */ + Double getTradeAmountByCardNo(Long cardNum); } \ No newline at end of file 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 e16cd6b..d01603c 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 @@ -124,11 +124,18 @@ List<VoCards> getUnreplaced(Map<?, ?> params); /** - * 鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰� + * 鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇鎸傚け浜嬭褰曟暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級 + * @param cardNum + * @return + */ + Integer getLostCount(@Param("cardNum") Long cardNum); + + /** + * 鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇宸茶ˉ鍗℃暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級 * @param cardNum 姘村崱缂栧彿 * @return 绗﹀悎鏉′欢璁板綍鏁帮紝鏈�澶氫竴鏉� */ - Integer isLostAndUnreplaced(@Param("cardNum") Long cardNum); + Integer getReplacedCount(@Param("cardNum") Long cardNum); /** * 鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤 diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java new file mode 100644 index 0000000..8e663ae --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeWaterTypeMapper.java @@ -0,0 +1,26 @@ +package com.dy.pipIrrGlobal.daoSe; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoSe.SeWaterType; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author :WuZeYu + * @Date :2024/6/28 15:29 + * @LastEditTime :2024/6/28 15:29 + * @Description + */ +@Mapper +public interface SeWaterTypeMapper extends BaseMapper<SeWaterType> { + int deleteByPrimaryKey(Long id); + + int insert(SeWaterType record); + + int insertSelective(SeWaterType record); + + SeWaterType selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(SeWaterType record); + + int updateByPrimaryKey(SeWaterType record); +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java new file mode 100644 index 0000000..80d6485 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeWaterType.java @@ -0,0 +1,47 @@ +package com.dy.pipIrrGlobal.pojoSe; + +/** + * @author :WuZeYu + * @Date :2024/6/28 15:29 + * @LastEditTime :2024/6/28 15:29 + * @Description + */ + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.po.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import org.apache.logging.log4j.core.config.plugins.validation.constraints.NotBlank; + +/** + * 鐢ㄦ按绫诲瀷琛� + */ +@TableName(value="se_water_type", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "鐢ㄦ按绫诲瀷瀹炰綋") +public class SeWaterType implements BaseEntity { + public static final long serialVersionUID = 202406281535001L; + /** + * 涓婚敭 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long id; + + /** + * 鐢ㄦ按绫诲瀷 + */ + @Schema(description = "鐢ㄦ按绫诲瀷", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @NotBlank(message = "鐢ㄦ按绫诲瀷涓嶈兘涓虹┖") + private String typename; + +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java index becefee..361fc6c 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java @@ -20,8 +20,6 @@ public class VoClient implements BaseEntity { private static final long serialVersionUID = 1L; - @Schema(title = "ID") - private Long id; @Schema(title = "鍘縄D") private String countyId; @@ -49,7 +47,7 @@ private String divideName; @Schema(title = "鐢ㄦ埛绫诲瀷ID") - private String waterTypeId; + private String typeId; @Schema(title = "鐢ㄦ埛绫诲瀷鍚嶇О") private String waterTypeName; diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml index c427921..f914f43 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml @@ -24,6 +24,13 @@ <item4 item_name="controllerType" item_value="57" remarks="鎺у埗鍣ㄧ被鍨�"/> <item5 item_name="protocolName" item_value="p206V202404" remarks="鍗忚鍚嶇О"/> </settings> + <waterTypes> + <item1 typeName="鐏屾簤鐢ㄦ按"/> + <item2 typeName="宸ヤ笟鐢ㄦ按"/> + <item3 typeName="鐢熸椿鐢ㄦ按"/> + <item4 typeName="鍏绘畺鐢ㄦ按"/> + <item5 typeName="缁垮寲鐢ㄦ按"/> + </waterTypes> </org1> </orgs> </config> \ No newline at end of file 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 3114482..d9fa1de 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml @@ -665,4 +665,16 @@ </if> </where> </select> + + <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級--> + <select id="getTradeAmountByCardNo" resultType="java.lang.Double"> + SELECT + ope.trade_amount AS tradeAmount + FROM se_client_card card + INNER JOIN se_card_operate ope ON ope.card_id = card.id + <where> + AND ope.operate_type = 6 + AND card.cardNum = #{cardNum} + </where> + </select> </mapper> \ No newline at end of file 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 8a2ea9f..e3164a4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml @@ -435,12 +435,11 @@ </trim> </select> - <!--鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�--> - <select id="isLostAndUnreplaced" resultType="java.lang.Integer"> + <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇鎸傚け浜嬭褰曟暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級--> + <select id="getLostCount" resultType="java.lang.Integer"> SELECT COUNT(*) AS recordCount FROM se_client_card card - INNER JOIN se_client_card card2 ON card2.original_card_id = card.cardNum <where> AND card.state = 3 <if test = "cardNum != null and cardNum > 0"> @@ -448,6 +447,19 @@ </if> </where> </select> + + <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇宸茶ˉ鍗℃暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級--> + <select id="getReplacedCount" resultType="java.lang.Integer"> + SELECT + COUNT(*) AS recordCount + FROM se_client_card card + INNER JOIN se_client_card card2 ON card2.original_card_id = card.id + <where> + <if test = "cardNum != null and cardNum > 0"> + AND card.cardNum = #{cardNum} + </if> + </where> + </select> <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤--> <select id="getCardsByClientNameAndPhoneCount" resultType="java.lang.Long"> SELECT diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml index 8236c83..fbf92a0 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml @@ -333,7 +333,6 @@ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁--> <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> SELECT - (@i:=@i+1) AS id, CAST(cli.countyId AS char) AS countyId, dis_con.name AS countryName, CAST(cli.townId AS char) AS townId, @@ -344,7 +343,7 @@ blo.name AS blockName, CAST(cli.divideId AS char) AS divideId, divi.name AS divideName, - CAST(cli.typeId AS char) AS waterTypeId, + CAST(cli.typeId AS char) AS typeId, wat.typeName AS waterTypeName, CAST(cli.id AS char) AS clientId, cli.name, @@ -363,7 +362,6 @@ 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 cli.disabled = 0 AND cli.deleted = 0 @@ -433,7 +431,7 @@ <!--鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃--> <select id="getWaterTypes" resultType="java.util.Map"> - SELECT id, typeName from se_water_type + SELECT CAST(se_water_type.id AS char) AS id, typeName from se_water_type </select> <!--鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤--> diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml new file mode 100644 index 0000000..28b146d --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeWaterTypeMapper.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoSe.SeWaterTypeMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeWaterType"> + <!--@mbg.generated--> + <!--@Table se_water_type--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="typeName" jdbcType="VARCHAR" property="typename" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, typeName + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from se_water_type + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from se_water_type + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType"> + <!--@mbg.generated--> + insert into se_water_type (id, typeName) + values (#{id,jdbcType=BIGINT}, #{typename,jdbcType=VARCHAR}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType"> + <!--@mbg.generated--> + insert into se_water_type + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="typename != null"> + typeName, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="typename != null"> + #{typename,jdbcType=VARCHAR}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType"> + <!--@mbg.generated--> + update se_water_type + <set> + <if test="typename != null"> + typeName = #{typename,jdbcType=VARCHAR}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeWaterType"> + <!--@mbg.generated--> + update se_water_type + set typeName = #{typename,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java index de48d21..d60bf3e 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java @@ -297,6 +297,7 @@ List<Map<String, Object>> list_towns = Optional.ofNullable(sv.getDistrictsBySupperId(countyId)).orElse(new ArrayList<>()); if (list_towns.size() > 0) { array_towns = JSONArray.parseArray(JSON.toJSONString(list_towns)); + job_county.put("children", array_towns); // 閬嶅巻姣忎竴涓晣锛屽皢闀囦笅鏉戝垪琛ㄥ姞鍒伴晣鐨勫瓙闆� for (int j = 0; j < array_towns.size(); j++) { JSONObject job_town = array_towns.getJSONObject(j); @@ -310,7 +311,7 @@ //System.out.println("----" + array_towns); } // 闀囨潙缁勮瀹屾瘯锛屽皢闀囨潙鍔犲埌鍘夸笅 - job_county.put("children", array_towns); +// job_county.put("children", array_towns); } // 鍘跨粍瑁呭畬姣� //String a = array_counties.toJSONString(); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java index 1f712ff..ec67ab5 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictVo.java @@ -25,7 +25,7 @@ @Schema(description = "琛屾斂鍖虹紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "琛屾斂鍖虹紪鍙蜂笉鑳戒负绌�") //涓嶈兘涓虹┖涔熶笉鑳戒负null - @Length(message = "琛屾斂鍖虹紪鍙锋槸涓�浣嶆垨涓や綅鏁�", min = 1, max = 2) + @Length(message = "琛屾斂鍖虹紪鍙锋槸涓�浣嶆垨涓や綅鏁�", min = 1, max = 3) public String num ; @Schema(description = "琛屾斂鍖虹骇鍒�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java index 9779e1b..fd569a6 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/util/InitListener.java @@ -10,10 +10,12 @@ import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; import com.dy.pipIrrGlobal.daoBa.BaUserMapper; import com.dy.pipIrrGlobal.daoSe.SePaymentMethodMapper; +import com.dy.pipIrrGlobal.daoSe.SeWaterTypeMapper; import com.dy.pipIrrGlobal.pojoBa.BaDistrict; import com.dy.pipIrrGlobal.pojoBa.BaSettings; import com.dy.pipIrrGlobal.pojoBa.BaUser; import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod; +import com.dy.pipIrrGlobal.pojoSe.SeWaterType; import com.dy.pipIrrGlobal.util.DistrictLevel; import org.jdom2.Document; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +39,7 @@ private BaUserMapper userDao ; private SePaymentMethodMapper paymentMethodDao ; private BaSettingsMapper settingsDao ; + private SeWaterTypeMapper waterTypeDao ; @Autowired public void setDistriDao(BaDistrictMapper distriDao){ @@ -56,6 +59,11 @@ @Autowired public void setSettingsDao(BaSettingsMapper settingsDao){ this.settingsDao = settingsDao ; + } + + @Autowired + public void setWaterTypeDao(SeWaterTypeMapper waterTypeDao){ + this.waterTypeDao = waterTypeDao ; } @@ -153,6 +161,18 @@ } } } + if(!this.existWaterTypes()){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes")){ + for(int i = 1 ; i < 10000; i++){ + if(configXml.existElement(doc, "config.orgs.org" + num + ".waterTypes.item" + i)){ + String typeName = configXml.getSetAttrTxt(doc, "config.orgs.org" + num + ".waterTypes.item" + i,"typeName", null, false, null) ; + this.saveWaterType(orgTag, typeName); + }else{ + break ; + } + } + } + } }else{ break ; } @@ -193,6 +213,15 @@ */ private boolean existSettings(){ Long total = this.settingsDao.selectCount(null) ; + return (total != null && total > 0) ; + } + + /** + * 鏁版嵁搴撲腑鏄惁瀛樺湪鐢ㄦ按绫诲瀷鏁版嵁 + * @return 瀛樺湪鍚� + */ + private boolean existWaterTypes(){ + Long total = this.waterTypeDao.selectCount(null) ; return (total != null && total > 0) ; } @@ -278,4 +307,18 @@ } } + + /** + * 淇濆瓨鐢ㄦ按绫诲瀷 + * @param orgTag 鏈烘瀯鏍囩 + * @param typeName 鍚嶇О + */ + private void saveWaterType(String orgTag, String typeName) throws Exception{ + if(typeName != null && !typeName.trim().equals("")){ + SeWaterType po = new SeWaterType() ; + po.setTypename(typeName); + this.waterTypeDao.insert(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 bb54a18..7ff5012 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 @@ -1,5 +1,7 @@ package com.dy.pipIrrSell.cardOperate; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -9,8 +11,10 @@ import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.util.AmountToChinese; -import com.dy.pipIrrGlobal.util.Constant; -import com.dy.pipIrrGlobal.voSe.*; +import com.dy.pipIrrGlobal.voSe.VoActiveCard; +import com.dy.pipIrrGlobal.voSe.VoOperate; +import com.dy.pipIrrGlobal.voSe.VoRecharge; +import com.dy.pipIrrGlobal.voSe.VoReissueCard; import com.dy.pipIrrSell.cardOperate.converter.RechargeDtoMapper; import com.dy.pipIrrSell.cardOperate.dto.*; import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM; @@ -34,7 +38,6 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; -import java.time.format.DateTimeFormatter; import java.util.*; /** @@ -134,7 +137,9 @@ seClientCard.setClientid(clientId); seClientCard.setMoney(amount); seClientCard.setState(CardStateENUM.NORMAL.getCode()); - seClientCard.setOriginalCardId(originalCardId); + if(originalCardId != null) { + seClientCard.setOriginalCardId(originalCardId); + } seClientCard.setCreatedt(activeTime); seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode()); Long cardId = Optional.ofNullable(clientCardSv.add(seClientCard)).orElse(0L) ; @@ -194,15 +199,6 @@ * @param bindingResult * @return */ - @Operation(summary = "琛ュ崱", description = "琛ュ崱") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = Boolean.class))} - ) - }) @PostMapping(path = "reissue", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() @@ -218,6 +214,7 @@ * cardId 鍘熸按鍗★紙鎸傚け姘村崱锛塈D锛岃浆绉讳綑棰濆悗闇�瑕佹洿鏂板崱浣欓涓�0 * moeny 浣欓锛屾寕澶辨椂浣跨敤 * cardCost 鍗$墖璐圭敤 + * reissueAmount 閫�杩橀噾棰� * paymentId 鏀粯鏂瑰紡缂栧彿 * remarks 澶囨敞 * operator 鎿嶄綔浜虹紪鍙� @@ -227,15 +224,32 @@ String clientNum = ""; Long cardNum = po.getCardNum(); Long cardId = 0L; - Integer cardCost = po.getCardCost(); + Integer cardCost = Optional.ofNullable(po.getCardCost()).orElse(0); Float reissueAmount = po.getReissueAmount(); Long paymentId = po.getPaymentId(); String remarks = po.getRemarks(); Long operator = po.getOperator(); + String protocol = null; - // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶卞叾鏈ˉ鍗$殑鍙互琛ュ崱 + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + String cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + protocol = "p206V1_0_1"; + } + cardNum = Long.valueOf(cardNumS); + + // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶变笖鏈ˉ鍗$殑鍙互琛ュ崱 if(!cardOperateSv.isLostAndUnreplaced(cardNum)) { - return BaseResponseUtils.buildFail(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + } + + // 濡傛灉浼犲叆浜嗛��杩橀噾棰濓紝闇�瑕佸垽鏂�佸崱锛堣鎸傚け鐨勬按鍗★級鎸傚け鏃舵槸鍚﹀凡缁忛��娆撅紝鏃犺閫�娆惧灏戦兘鎻愮ず鐢ㄦ埛鎸傚け鏃跺凡閫�娆� + if(reissueAmount != null) { + Double tradeAmount = cardOperateSv.getTradeAmountByCardNo(cardNum); + if(tradeAmount != null) { + return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_FEE_CANNOT_BE_REFUNDED.getMessage()); + } } /** @@ -243,7 +257,7 @@ */ 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()); } clientNum = map.get("clientNum").toString(); cardId = Long.parseLong(map.get("cardId").toString()); @@ -251,18 +265,22 @@ /** * 濡傛灉鏄ˉ鍗¤皟鐢ㄧ殑寮�鍗′笖杞Щ浜嗛��杩橀噾棰濓紝闇�淇敼鎸傚け鍗′綑棰濅负0 */ - SeClientCard seClientCard = new SeClientCard(); - seClientCard.setId(cardId); - seClientCard.setMoney(0f); - cardOperateSv.updateClientCard(seClientCard); + if(reissueAmount != null) { + SeClientCard seClientCard = new SeClientCard(); + seClientCard.setId(cardId); + seClientCard.setMoney(0f); + cardOperateSv.updateClientCard(seClientCard); + } /** * 娣诲姞寮�鍗¤褰曪紝閫�杩橀噾棰濆啿鍒版柊鍗′腑 */ DtoActiveCard dtoActiveCard = new DtoActiveCard(); + dtoActiveCard.setProtocol(protocol); dtoActiveCard.setCardAddr(cardAddr); dtoActiveCard.setClientNum(clientNum); - dtoActiveCard.setOriginalCardId(cardNum); + dtoActiveCard.setOriginalCardId(cardId); + //dtoActiveCard.setOriginalCardId(cardNum); dtoActiveCard.setCardCost(cardCost); dtoActiveCard.setAmount(reissueAmount); dtoActiveCard.setPaymentId(paymentId); @@ -271,14 +289,17 @@ BaseResponse<java.lang.Boolean> baseResponse_addActive = add_active(dtoActiveCard, null); if(!baseResponse_addActive.getCode().equals("0001")) { - return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage()); } - String theContent = String.valueOf(baseResponse_addActive.getContent()); - cardNum = Long.parseLong(theContent.substring(theContent.indexOf("=") + 1, theContent.indexOf(","))); + JSONObject job_content = (JSONObject) JSON.toJSON( baseResponse_addActive.getContent()); + cardNum = job_content.getLong("cardNum"); + String orderNumber = job_content.getString("orderNumber"); + String projectNo = job_content.getString("projectNo"); Map map_response = new HashMap(); - map_response.put("projectCode", Constant.projectCode_ym); + map_response.put("projectNo", projectNo); + map_response.put("orderNumber", orderNumber); map_response.put("cardNum", cardNum); return BaseResponseUtils.buildSuccess(map_response) ; } @@ -289,15 +310,6 @@ * @param bindingResult * @return */ - @Operation(summary = "鍏呭��", description = "鍏呭��") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = Boolean.class))} - ) - }) @PostMapping(path = "recharge", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() @@ -314,20 +326,10 @@ * @param bindingResult * @return */ - @Operation(summary = "娣诲姞娉ㄩ攢璁板綍", description = "娣诲姞娉ㄩ攢璁板綍") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = Boolean.class))} - ) - }) @PostMapping(path = "cancel", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() public BaseResponse<Boolean> add_cancel(@RequestBody @Valid DtoCancel po, BindingResult bindingResult){ - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -351,10 +353,17 @@ Long operator = po.getOperator(); Date cancelTime = new Date(); + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + String cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + } + cardNum = Long.valueOf(cardNumS); + // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣� String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse(""); if(stateName.length() == 0 || !stateName.equals("姝e父")) { - return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); } /** @@ -362,7 +371,7 @@ */ 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()); @@ -380,7 +389,7 @@ seClientCard.setLastoper(LastOperateENUM.CANCEL.getCode()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); if(rec_updateClientCard == 0) { - return BaseResponseUtils.buildFail(SellResultCode.CANCEL_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.CANCEL_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); } /** @@ -399,7 +408,7 @@ Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L); if(rec == 0) { - return BaseResponseUtils.buildFail(SellResultCode.CANCEL_FAIL_WRITE_CANCELL_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.CANCEL_FAIL_WRITE_CANCELL_ERROR.getMessage()); } return BaseResponseUtils.buildSuccess(true) ; @@ -411,15 +420,6 @@ * @param bindingResult * @return */ - @Operation(summary = "娣诲姞鎸傚け璁板綍", description = "娣诲姞鎸傚け璁板綍") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = Boolean.class))} - ) - }) @PostMapping(path = "loss", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() @@ -431,7 +431,7 @@ /** * cardId 姘村崱缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛� * clientId 鍐滄埛缂栧彿锛堥潪浼犲叆鍙傛暟锛岀敱cardNum鍙嶆煡锛� - * cardNum 姘村崱缂栧彿 + * cardNum 瑕佹寕澶辩殑姘村崱缂栧彿 * money 浣欓 * refund 閫�娆鹃噾棰� * remarks 澶囨敞 @@ -441,16 +441,23 @@ Long cardId = 0L; Long clientId = 0L; Long cardNum = po.getCardNum(); - Float money = po.getMoney(); - Float refund = po.getRefund(); + Float money = Optional.ofNullable(po.getMoney()).orElse(0f); + Float refund = Optional.ofNullable(po.getRefund()).orElse(0f); String remarks = po.getRemarks(); Long operator = po.getOperator(); Date lossTime = new Date(); + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + String cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + } + cardNum = Long.valueOf(cardNumS); + // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣� String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse(""); if(stateName.length() == 0 || !stateName.equals("姝e父")) { - return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); } /** @@ -458,15 +465,17 @@ */ 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()); /** * 淇敼鍐滄埛鍗′俊鎭細 - * 鎸傚け鏃堕棿 - * 鏈�鍚庢搷浣滅被鍨�-4 + * 浣欓 + * 鎸傚け鏃堕棿 + * 鐘舵�� + * 鏈�鍚庢搷浣滅被鍨�-6 */ SeClientCard seClientCard = new SeClientCard(); seClientCard.setId(cardId); @@ -476,11 +485,12 @@ seClientCard.setLastoper(LastOperateENUM.LOSS.getCode()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); if(rec_updateClientCard == 0) { - return BaseResponseUtils.buildFail(SellResultCode.LOSS_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.LOSS_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); } /** * 娣诲姞鎸傚け璁板綍 + * 濡傛灉閫�娆鹃噾棰濅笉涓虹┖锛屽垯浼犲叆璐熷�� */ SeCardOperate seCardOperate = new SeCardOperate(); seCardOperate.setCardId(cardId); @@ -494,7 +504,7 @@ seCardOperate.setOperateDt(lossTime); Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L); if(rec == 0) { - return BaseResponseUtils.buildFail(SellResultCode.LOSS_FAIL_WRITE_LOSS_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.LOSS_FAIL_WRITE_LOSS_ERROR.getMessage()); } return BaseResponseUtils.buildSuccess(true) ; @@ -506,15 +516,6 @@ * @param bindingResult * @return */ - @Operation(summary = "娣诲姞鍐叉璁板綍", description = "娣诲姞鍐叉璁板綍") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = Boolean.class))} - ) - }) @PostMapping(path = "reversal", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() @@ -542,10 +543,17 @@ Long operator = po.getOperator(); Date reversalTime = new Date(); + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + String cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + } + cardNum = Long.valueOf(cardNumS); + // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣� String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse(""); if(stateName.length() == 0 || !stateName.equals("姝e父")) { - return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); } /** @@ -553,7 +561,7 @@ */ 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()); @@ -570,7 +578,7 @@ seClientCard.setLastoper(LastOperateENUM.REVERSAL.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()); } /** @@ -587,7 +595,7 @@ seCardOperate.setOperateDt(reversalTime); Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L); if(rec == 0) { - return BaseResponseUtils.buildFail(SellResultCode.REVERSAL_FAIL_WRITE_REVERSAL_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.REVERSAL_FAIL_WRITE_REVERSAL_ERROR.getMessage()); } return BaseResponseUtils.buildSuccess(true) ; @@ -599,15 +607,6 @@ * @param bindingResult * @return */ - @Operation(summary = "琛ユ墸", description = "琛ユ墸") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = Boolean.class))} - ) - }) @PostMapping(path = "refund", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() @@ -635,10 +634,17 @@ Long operator = po.getOperator(); Date refundTime = new Date(); + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + String cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + } + cardNum = Long.valueOf(cardNumS); + // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣� String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse(""); if(stateName.length() == 0 || !stateName.equals("姝e父")) { - return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); } /** @@ -646,7 +652,7 @@ */ 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()); @@ -663,7 +669,7 @@ seClientCard.setLastoper(LastOperateENUM.REFUND.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()); } /** @@ -681,7 +687,7 @@ seCardOperate.setOperateDt(refundTime); Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L); if(rec == 0) { - return BaseResponseUtils.buildFail(SellResultCode.REFUND_FAIL_WRITE_REFUND_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.REFUND_FAIL_WRITE_REFUND_ERROR.getMessage()); } return BaseResponseUtils.buildSuccess(true) ; @@ -693,20 +699,10 @@ * @param bindingResult * @return */ - @Operation(summary = "娣诲姞瑙i攣璁板綍", description = "娣诲姞瑙i攣璁板綍") - @ApiResponses(value = { - @ApiResponse( - responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, - description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", - content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = Boolean.class))} - ) - }) @PostMapping(path = "unlock", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() public BaseResponse<Boolean> add_unlock(@RequestBody @Valid DtoUnlock po, BindingResult bindingResult){ - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -728,9 +724,16 @@ Long operator = po.getOperator(); Date unlockTime = new Date(); + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + String cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + } + cardNum = Long.valueOf(cardNumS); + // 鍒ゆ柇褰撳墠姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏈ˉ鍗★紝浠呭凡缁忔寕澶卞叾鏈ˉ鍗$殑鍙互瑙i攣 if(!cardOperateSv.isLostAndUnreplaced(cardNum)) { - return BaseResponseUtils.buildFail(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); } /** @@ -738,7 +741,7 @@ */ 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()); @@ -756,7 +759,7 @@ seClientCard.setLastoper(LastOperateENUM.UNLOCK.getCode()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); if(rec_updateClientCard == 0) { - return BaseResponseUtils.buildFail(SellResultCode.UNLOCK_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.UNLOCK_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage()); } /** @@ -772,7 +775,7 @@ seCardOperate.setOperateDt(unlockTime); Long rec = Optional.ofNullable(cardOperateSv.add(seCardOperate)).orElse(0L); if(rec == 0) { - return BaseResponseUtils.buildFail(SellResultCode.UNLOCK_FAIL_WRITE_UNLOCK_ERROR.getMessage()); + return BaseResponseUtils.buildErrorMsg(SellResultCode.UNLOCK_FAIL_WRITE_UNLOCK_ERROR.getMessage()); } return BaseResponseUtils.buildSuccess(true) ; 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 d9f02e0..180bfe9 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 @@ -150,11 +150,17 @@ Long operator = po.getOperator(); Date rechargeTime = new Date(); + // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙� + String cardNumS = String.valueOf(cardNum).trim(); + if(cardNumS.length() == 10) { + cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6); + } + cardNum = Long.valueOf(cardNumS); // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣� String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse(""); if(stateName.length() == 0 || !stateName.equals("姝e父")) { - return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); + return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage()); } /** @@ -162,7 +168,7 @@ */ 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()); @@ -179,7 +185,7 @@ 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()); } /** @@ -201,7 +207,7 @@ 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) ; @@ -430,11 +436,12 @@ * @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; } /** @@ -453,4 +460,13 @@ public String getProjectNo() { return baSettingsMapper.getItemValue("projectNo"); } + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級 + * @param cardNum + * @return + */ + public Double getTradeAmountByCardNo(Long cardNum) { + return seCardOperateMapper.getTradeAmountByCardNo(cardNum); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java index ac389b7..535f76d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoLoss.java @@ -1,9 +1,7 @@ package com.dy.pipIrrSell.cardOperate.dto; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Positive; import lombok.*; /** @@ -23,7 +21,7 @@ public static final long serialVersionUID = 202401191033001L; /** - * 姘村崱缂栧彿 + * 瑕佹寕澶辩殑姘村崱缂栧彿 */ @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖") @@ -33,14 +31,12 @@ * 浣欓 */ @Schema(description = "浣欓", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @Min(value = 0, message="浣欓涓嶈兘灏忎簬0") private Float money; /** * 閫�娆鹃噾棰� */ @Schema(description = "閫�娆鹃噾棰�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @Min(value = 0, message="閫�娆鹃噾棰濅笉鑳藉皬浜�0") private Float refund; /** @@ -53,6 +49,5 @@ * 鎿嶄綔浜虹紪鍙� */ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�") private Long operator; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java index 935a761..0b634e9 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/dto/DtoReissue.java @@ -1,9 +1,8 @@ package com.dy.pipIrrSell.cardOperate.dto; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Positive; +import jakarta.validation.constraints.NotNull; import lombok.*; /** @@ -32,6 +31,7 @@ * 姘村崱缂栧彿锛屼笉鏄紑鍗℃帴鍙d紶鍏ワ紝鐢卞啘鎴风紪鍙疯幏寰楋紝鍏呭�奸渶瑕� */ @Schema(description = "姘村崱缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖") private Long cardNum; /** @@ -45,21 +45,19 @@ * 鍗$墖璐圭敤 */ @Schema(description = "鍗$墖璐圭敤", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @Positive(message = "鍗$墖璐圭敤蹇呴』涓哄ぇ浜�0鐨勬暣鏁�") private Integer cardCost; /** * 閫�杩橀噾棰濓紝琛ュ紑鍗℃椂鍏呭�肩敤 */ @Schema(description = "閫�杩橀噾棰�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @Min(value = 0, message="閫�杩橀噾棰濅笉鑳藉皬浜�0") private Float reissueAmount; /** * 鏀粯鏂瑰紡缂栧彿 */ @Schema(description = "鏀粯鏂瑰紡缂栧彿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @Positive(message = "鏀粯鏂瑰紡缂栧彿蹇呴』涓哄ぇ浜�0鐨勬暣鏁�") + @NotNull(message = "鏀粯鏂瑰紡涓嶈兘涓虹┖") private Long paymentId; /** @@ -72,6 +70,6 @@ * 鎿嶄綔浜虹紪鍙� */ @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @Positive(message = "鎿嶄綔浜虹紪鍙峰繀椤讳负澶т簬0鐨勬暣鏁�") + @NotNull(message = "鎿嶄綔浜轰笉鑳戒负绌�") private Long operator; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java index dfd265e..48f06fd 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/SeClientToVoClient.java @@ -24,5 +24,6 @@ //@Mapping(target = "cardCount", source = "cardCount") @Mapping(target = "address", source = "address") @Mapping(target = "operateDt", source = "operatedt") + @Mapping(target = "typeId", source = "typeid") VoClient po2vo(SeClient po); } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java index 41af87c..dfaef27 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java @@ -110,8 +110,7 @@ * @return */ public String getCardStateByCardNum(Long cardNum) { - String stateName = Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(cardNum)).orElse(""); - return stateName; + return Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(cardNum)).orElse(""); } /** @@ -170,4 +169,6 @@ return rsVo ; } + + } 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 c5eaca0..23112df 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 @@ -34,6 +34,8 @@ THE_CARD_NOT_EXIST(10012, "娌℃湁绗﹀悎鏉′欢鐨勬按鍗�"), THE_CARD_NOT_SUPPORT_THIS_OPERATION(10013, "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"), + THE_FEE_CANNOT_BE_REFUNDED(10014, "鍘熷崱鎸傚け鏃跺凡閫�娆撅紝琛ュ崱鏃朵笉鑳借ˉ璐圭敤"), + /** * 鍏呭�� */ -- Gitblit v1.8.0