소스 검색

新增账户体系

xubh 4 년 전
부모
커밋
328f26f6cc

+ 21 - 1
src/main/java/com/minpay/common/action/GamePayAction.java

@@ -36,6 +36,7 @@ import com.startup.minpay.frame.session.MINSession;
 import com.startup.minpay.frame.target.MINAction;
 import com.startup.minpay.frame.target.MINComponent;
 import com.startup.minpay.frame.target.MINParam;
+import com.startup.minpay.frame.target.MINValidator;
 
 /**
  * 
@@ -196,6 +197,7 @@ public class GamePayAction implements IMINAction {
 	 */
 	@MINAction(value = USER_BALANCE)
 	public MINActionResult userBalance(
+			@MINParam(key = "equNo") String equNo,
 			MINSession session) throws MINBusinessException {
 		MINActionResult res = new MINActionResult();
 		
@@ -205,7 +207,7 @@ public class GamePayAction implements IMINAction {
 		// 查询账户是否存在
 		VmAccountExample accExp = new VmAccountExample();
 		// 01:基本账户
-		accExp.createCriteria().andChannelEqualTo(user.getChannel()).andUsridEqualTo(user.getId()).andTypeEqualTo("01");
+		accExp.createCriteria().andChannelEqualTo(user.getChannel()).andUsridEqualTo(user.getId()).andTypeEqualTo("01").andEquipmentIdEqualTo(equNo);
 		
 		List<VmAccount> accList = Service.lookup(IMINDataBaseService.class).getMybatisMapper(VmAccountMapper.class).selectByExample(accExp);
 		if(accList == null || accList.size() == 0) {
@@ -218,6 +220,24 @@ public class GamePayAction implements IMINAction {
 				
 		return res;
 	}
+
+	/**
+	 * 查询余额校验
+	 * @param equNo 机器编号
+	 * @param session
+	 * @return
+	 * @throws MINBusinessException
+	 */
+	@MINValidator(value = USER_BALANCE)
+	public MINActionResult userBalanceValidator(
+			@MINParam(key = "equNo") String equNo,
+			MINSession session) throws MINBusinessException {
+		MINActionResult res = new MINActionResult();
+		if(CommonUtil.isEmpty(equNo) ){
+			throw new MINBusinessException("参数为空或数据异常");
+		}
+		return res;
+	}
 	
 	/**
 	 * 用户消费列表

+ 21 - 3
src/main/java/com/minpay/common/action/LoginAction.java

@@ -8,6 +8,7 @@ import javax.servlet.http.HttpSession;
 import com.minpay.common.pay.bean.PrePay;
 import com.minpay.common.service.IPayOsService;
 import com.minpay.common.service.impl.PayOsServiceImpl;
+import com.minpay.db.table.mapper.VmAccountMapper;
 import com.minpay.db.table.mapper.VmEquipmentInfMapper;
 import com.minpay.db.table.model.*;
 import com.startup.minpay.frame.session.MINSession;
@@ -210,9 +211,9 @@ public class LoginAction implements IMINAction {
 			// 创建用户基本账户
 			IAccountService service = Service.lookup(IAccountService.class);
 			// 01:基本账户 02:提现账户 03:待结算账户
-			service.addAccount(channel, perId, "01");
-			service.addAccount(channel, perId, "02");
-			service.addAccount(channel, perId, "03");
+			service.addAccount(channel, perId, "01",equNo);
+			service.addAccount(channel, perId, "02",equNo);
+			service.addAccount(channel, perId, "03",equNo);
 		}if(perLst.size() > 1) {
 			throw new MINBusinessException("数据异常");
 		}if(perLst.size() == 1) {
@@ -228,6 +229,18 @@ public class LoginAction implements IMINAction {
 					res.set("role",person.getRole());
 				}
 			}
+			//查询是否有所属机器是否有账户
+			VmAccountExample vmAccountExample = new VmAccountExample();
+			vmAccountExample.createCriteria().andEquipmentIdEqualTo(equNo).andUsridEqualTo(person.getId()).andChannelEqualTo(person.getChannel());
+			List<VmAccount> vmAccountList = Service.lookup(IMINDataBaseService.class).getMybatisMapper(VmAccountMapper.class).selectByExample(vmAccountExample);
+			if(vmAccountList.size() == 0){
+				// 创建用户基本账户
+				IAccountService service = Service.lookup(IAccountService.class);
+				// 01:基本账户 02:提现账户 03:待结算账户
+				service.addAccount(channel, person.getId(), "01",equNo);
+				service.addAccount(channel, person.getId(), "02",equNo);
+				service.addAccount(channel, person.getId(), "03",equNo);
+			}
 			person.setName(result.get("nickName"));
 			person.setHeadpath(result.get("headImgurl"));
 			person.setModifyTime(nowTime);
@@ -259,6 +272,11 @@ public class LoginAction implements IMINAction {
 		CommonUtil.isEmpty(version)){
 			throw new MINBusinessException("参数为空或数据异常");
 		}
+		//校验机器编号是否存在
+		VmEquipmentInf vmEquipmentInf = Service.lookup(IMINDataBaseService.class).getMybatisMapper(VmEquipmentInfMapper.class).selectByPrimaryKey(equNo);
+		if(vmEquipmentInf == null){
+			throw new MINBusinessException("机器不存在或异常!");
+		}
 		return res;
 	}
 

+ 1 - 1
src/main/java/com/minpay/common/service/IAccountService.java

@@ -16,7 +16,7 @@ public interface IAccountService extends IMINLocalService {
 	 * @param userId 关联用户【同zh_person的ID】
 	 * @param accType 账户类型(01:基本账户 02:提现账户 03:待结算账户)
 	 */
-	public void addAccount(String channel, String userId, String accType) throws BusinessCodeException, MINBusinessException;
+	public void addAccount(String channel, String userId, String accType,String equNo) throws BusinessCodeException, MINBusinessException;
 	
 	/**
 	 * 动账

+ 2 - 1
src/main/java/com/minpay/common/service/impl/AccountServiceImpl.java

@@ -33,7 +33,7 @@ public class AccountServiceImpl implements IAccountService {
 	 * @throws BusinessCodeException 
 	 */
 	@Override
-	public void addAccount(String channel, String userId, String accType) throws BusinessCodeException, MINBusinessException {
+	public void addAccount(String channel, String userId, String accType,String equNo) throws BusinessCodeException, MINBusinessException {
 		VmAccount account = new VmAccount();
 		
 		// 账号顺序号
@@ -42,6 +42,7 @@ public class AccountServiceImpl implements IAccountService {
 		account.setChannel(channel);
 		account.setUsrid(userId);
 		account.setType(accType);
+		account.setEquipmentId(equNo);
 		// 账户类型(01:基本账户 02:提现账户 03:待结算账户)
 		if("01".equals(accType)) {
 			account.setName("基本账户");

+ 64 - 0
src/main/java/com/minpay/db/table/model/VmAccount.java

@@ -100,6 +100,22 @@ public class VmAccount extends AbstractMINBean {
     private String modifyTime;
 
     /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column vm_account.ACT_STATE
+     *
+     * @mbggenerated
+     */
+    private String state;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column vm_account.ACT_EQUIPMENT_ID
+     *
+     * @mbggenerated
+     */
+    private String equipmentId;
+
+    /**
      * This method was generated by MyBatis Generator.
      * This method returns the value of the database column vm_account.ACT_ID
      *
@@ -386,4 +402,52 @@ public class VmAccount extends AbstractMINBean {
     public void setModifyTime(String modifyTime) {
         this.modifyTime = modifyTime == null ? null : modifyTime.trim();
     }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column vm_account.ACT_STATE
+     *
+     * @return the value of vm_account.ACT_STATE
+     *
+     * @mbggenerated
+     */
+    public String getState() {
+        return state;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column vm_account.ACT_STATE
+     *
+     * @param state the value for vm_account.ACT_STATE
+     *
+     * @mbggenerated
+     */
+    public void setState(String state) {
+        this.state = state == null ? null : state.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column vm_account.ACT_EQUIPMENT_ID
+     *
+     * @return the value of vm_account.ACT_EQUIPMENT_ID
+     *
+     * @mbggenerated
+     */
+    public String getEquipmentId() {
+        return equipmentId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column vm_account.ACT_EQUIPMENT_ID
+     *
+     * @param equipmentId the value for vm_account.ACT_EQUIPMENT_ID
+     *
+     * @mbggenerated
+     */
+    public void setEquipmentId(String equipmentId) {
+        this.equipmentId = equipmentId == null ? null : equipmentId.trim();
+    }
 }

+ 156 - 0
src/main/java/com/minpay/db/table/model/VmAccountExample.java

@@ -1125,6 +1125,162 @@ public class VmAccountExample {
             addCriterion("ACT_MODIFY_TIME not between", value1, value2, "modifyTime");
             return (Criteria) this;
         }
+
+        public Criteria andStateIsNull() {
+            addCriterion("ACT_STATE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateIsNotNull() {
+            addCriterion("ACT_STATE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateEqualTo(String value) {
+            if(value == null ){
+                andStateIsNull();
+            } else {
+                addCriterion("ACT_STATE =", value, "state");
+            }
+            return (Criteria) this;
+        }
+
+        public Criteria andStateNotEqualTo(String value) {
+            if(value == null ){
+                andStateIsNotNull();
+            } else {
+                addCriterion("ACT_STATE <>", value, "state");
+            }
+            return (Criteria) this;
+        }
+
+        public Criteria andStateGreaterThan(String value) {
+            addCriterion("ACT_STATE >", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateGreaterThanOrEqualTo(String value) {
+            addCriterion("ACT_STATE >=", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateLessThan(String value) {
+            addCriterion("ACT_STATE <", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateLessThanOrEqualTo(String value) {
+            addCriterion("ACT_STATE <=", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateLike(String value) {
+            addCriterion("ACT_STATE like", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateNotLike(String value) {
+            addCriterion("ACT_STATE not like", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateIn(List<String> values) {
+            addCriterion("ACT_STATE in", values, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateNotIn(List<String> values) {
+            addCriterion("ACT_STATE not in", values, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateBetween(String value1, String value2) {
+            addCriterion("ACT_STATE between", value1, value2, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateNotBetween(String value1, String value2) {
+            addCriterion("ACT_STATE not between", value1, value2, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdIsNull() {
+            addCriterion("ACT_EQUIPMENT_ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdIsNotNull() {
+            addCriterion("ACT_EQUIPMENT_ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdEqualTo(String value) {
+            if(value == null ){
+                andEquipmentIdIsNull();
+            } else {
+                addCriterion("ACT_EQUIPMENT_ID =", value, "equipmentId");
+            }
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdNotEqualTo(String value) {
+            if(value == null ){
+                andEquipmentIdIsNotNull();
+            } else {
+                addCriterion("ACT_EQUIPMENT_ID <>", value, "equipmentId");
+            }
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdGreaterThan(String value) {
+            addCriterion("ACT_EQUIPMENT_ID >", value, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ACT_EQUIPMENT_ID >=", value, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdLessThan(String value) {
+            addCriterion("ACT_EQUIPMENT_ID <", value, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdLessThanOrEqualTo(String value) {
+            addCriterion("ACT_EQUIPMENT_ID <=", value, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdLike(String value) {
+            addCriterion("ACT_EQUIPMENT_ID like", value, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdNotLike(String value) {
+            addCriterion("ACT_EQUIPMENT_ID not like", value, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdIn(List<String> values) {
+            addCriterion("ACT_EQUIPMENT_ID in", values, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdNotIn(List<String> values) {
+            addCriterion("ACT_EQUIPMENT_ID not in", values, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdBetween(String value1, String value2) {
+            addCriterion("ACT_EQUIPMENT_ID between", value1, value2, "equipmentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andEquipmentIdNotBetween(String value1, String value2) {
+            addCriterion("ACT_EQUIPMENT_ID not between", value1, value2, "equipmentId");
+            return (Criteria) this;
+        }
     }
 
     /**

+ 37 - 7
src/main/resources/com/minpay/db/table/mapper/VmAccountMapper.xml

@@ -18,6 +18,8 @@
     <result column="ACT_CREATE_TIME" jdbcType="VARCHAR" property="createTime" />
     <result column="ACT_MODIFY_USER" jdbcType="VARCHAR" property="modifyUser" />
     <result column="ACT_MODIFY_TIME" jdbcType="VARCHAR" property="modifyTime" />
+    <result column="ACT_STATE" jdbcType="VARCHAR" property="state" />
+    <result column="ACT_EQUIPMENT_ID" jdbcType="VARCHAR" property="equipmentId" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <!--
@@ -91,7 +93,7 @@
       This element is automatically generated by MyBatis Generator, do not modify.
     -->
     ACT_ID, ACT_CHANNEL, ACT_USRID, ACT_TYPE, ACT_NAME, ACT_NUMBER, ACT_AMT, ACT_AVA_AMT, 
-    ACT_CREATE_USER, ACT_CREATE_TIME, ACT_MODIFY_USER, ACT_MODIFY_TIME
+    ACT_CREATE_USER, ACT_CREATE_TIME, ACT_MODIFY_USER, ACT_MODIFY_TIME, ACT_STATE, ACT_EQUIPMENT_ID
   </sql>
   <select id="selectByExample" parameterType="com.minpay.db.table.model.VmAccountExample" resultMap="BaseResultMap">
     <!--
@@ -147,13 +149,13 @@
     insert into vm_account (ACT_ID, ACT_CHANNEL, ACT_USRID, 
       ACT_TYPE, ACT_NAME, ACT_NUMBER, 
       ACT_AMT, ACT_AVA_AMT, ACT_CREATE_USER, 
-      ACT_CREATE_TIME, ACT_MODIFY_USER, ACT_MODIFY_TIME
-      )
+      ACT_CREATE_TIME, ACT_MODIFY_USER, ACT_MODIFY_TIME, 
+      ACT_STATE, ACT_EQUIPMENT_ID)
     values (#{id,jdbcType=VARCHAR}, #{channel,jdbcType=VARCHAR}, #{usrid,jdbcType=VARCHAR}, 
       #{type,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{number,jdbcType=VARCHAR}, 
       #{amt,jdbcType=VARCHAR}, #{avaAmt,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, 
-      #{createTime,jdbcType=VARCHAR}, #{modifyUser,jdbcType=VARCHAR}, #{modifyTime,jdbcType=VARCHAR}
-      )
+      #{createTime,jdbcType=VARCHAR}, #{modifyUser,jdbcType=VARCHAR}, #{modifyTime,jdbcType=VARCHAR}, 
+      #{state,jdbcType=VARCHAR}, #{equipmentId,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.minpay.db.table.model.VmAccount">
     <!--
@@ -198,6 +200,12 @@
       <if test="modifyTime != null">
         ACT_MODIFY_TIME,
       </if>
+      <if test="state != null">
+        ACT_STATE,
+      </if>
+      <if test="equipmentId != null">
+        ACT_EQUIPMENT_ID,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -236,6 +244,12 @@
       <if test="modifyTime != null">
         #{modifyTime,jdbcType=VARCHAR},
       </if>
+      <if test="state != null">
+        #{state,jdbcType=VARCHAR},
+      </if>
+      <if test="equipmentId != null">
+        #{equipmentId,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.minpay.db.table.model.VmAccountExample" resultType="java.lang.Integer">
@@ -291,6 +305,12 @@
       <if test="record.modifyTime != null">
         ACT_MODIFY_TIME = #{record.modifyTime,jdbcType=VARCHAR},
       </if>
+      <if test="record.state != null">
+        ACT_STATE = #{record.state,jdbcType=VARCHAR},
+      </if>
+      <if test="record.equipmentId != null">
+        ACT_EQUIPMENT_ID = #{record.equipmentId,jdbcType=VARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -313,7 +333,9 @@
       ACT_CREATE_USER = #{record.createUser,jdbcType=VARCHAR},
       ACT_CREATE_TIME = #{record.createTime,jdbcType=VARCHAR},
       ACT_MODIFY_USER = #{record.modifyUser,jdbcType=VARCHAR},
-      ACT_MODIFY_TIME = #{record.modifyTime,jdbcType=VARCHAR}
+      ACT_MODIFY_TIME = #{record.modifyTime,jdbcType=VARCHAR},
+      ACT_STATE = #{record.state,jdbcType=VARCHAR},
+      ACT_EQUIPMENT_ID = #{record.equipmentId,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -358,6 +380,12 @@
       <if test="modifyTime != null">
         ACT_MODIFY_TIME = #{modifyTime,jdbcType=VARCHAR},
       </if>
+      <if test="state != null">
+        ACT_STATE = #{state,jdbcType=VARCHAR},
+      </if>
+      <if test="equipmentId != null">
+        ACT_EQUIPMENT_ID = #{equipmentId,jdbcType=VARCHAR},
+      </if>
     </set>
     where ACT_ID = #{id,jdbcType=VARCHAR}
   </update>
@@ -377,7 +405,9 @@
       ACT_CREATE_USER = #{createUser,jdbcType=VARCHAR},
       ACT_CREATE_TIME = #{createTime,jdbcType=VARCHAR},
       ACT_MODIFY_USER = #{modifyUser,jdbcType=VARCHAR},
-      ACT_MODIFY_TIME = #{modifyTime,jdbcType=VARCHAR}
+      ACT_MODIFY_TIME = #{modifyTime,jdbcType=VARCHAR},
+      ACT_STATE = #{state,jdbcType=VARCHAR},
+      ACT_EQUIPMENT_ID = #{equipmentId,jdbcType=VARCHAR}
     where ACT_ID = #{id,jdbcType=VARCHAR}
   </update>
 </mapper>