Commit d8a5cf45 by guojuxing

转账审批

parent 763dcadb
......@@ -34,4 +34,16 @@ public enum OrderTypeEnum {
public void setMessage(String message) {
this.message = message;
}
public static String getMessageBuCode(Integer code) {
if (code == null) {
return "未知";
}
for (OrderTypeEnum statusEnum : values()) {
if (statusEnum.getCode() == code.intValue()) {
return statusEnum.getMessage();
}
}
return "未知";
}
}
......@@ -34,9 +34,12 @@ public enum TransferAccountApprovalStatusEnum {
this.message = message;
}
public static String getMessageBuCode(int code) {
public static String getMessageBuCode(Integer code) {
if (code == null) {
return "未知";
}
for (TransferAccountApprovalStatusEnum statusEnum : values()) {
if (statusEnum.getCode() == code) {
if (statusEnum.getCode() == code.intValue()) {
return statusEnum.getMessage();
}
}
......
......@@ -133,6 +133,11 @@ public class TransferAccountsApprovalDTO implements Serializable{
private Date approvalTime;
/**
* 审批人手机号
*/
private String approvalPhone;
/**
*
*/
private Date createTime;
......@@ -142,6 +147,11 @@ public class TransferAccountsApprovalDTO implements Serializable{
*/
private Date updateTime;
/**
* 审批人手机号码国际区号,如 86
*/
private String approvalPhoneAreaCode;
public Integer getTransferApprovalId() {
return transferApprovalId;
}
......@@ -317,4 +327,20 @@ public class TransferAccountsApprovalDTO implements Serializable{
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getApprovalPhone() {
return approvalPhone;
}
public void setApprovalPhone(String approvalPhone) {
this.approvalPhone = approvalPhone;
}
public String getApprovalPhoneAreaCode() {
return approvalPhoneAreaCode;
}
public void setApprovalPhoneAreaCode(String approvalPhoneAreaCode) {
this.approvalPhoneAreaCode = approvalPhoneAreaCode;
}
}
package com.gic.enterprise.dto;
import com.gic.enterprise.constant.OrderTypeEnum;
import com.gic.enterprise.constant.TransferAccountApprovalStatusEnum;
import java.io.Serializable;
import java.util.Date;
/**
* @author guojx
* @date 2019/7/22 10:28 AM
*/
public class TransferAccountsApprovalDetailDTO implements Serializable{
private static final long serialVersionUID = -5774379828764249597L;
/**
* 审批人姓名
*/
private String approvalName;
/**
* 审批时间
*/
private Date approvalTime;
/**
* 审批人手机号
*/
private String approvalPhone;
/**
* 审批人手机号码国际区号,如 86
*/
private String approvalPhoneAreaCode;
/**
*
*/
private Date createTime;
/**
* 审批流水号
*/
private String approvalNumber;
/**
* 审批状态 1:待审批 2:已取消 3:已驳回 4:审批通过
*/
private Integer approvalStatus;
private String approvalStatusName;
/**
* 到账金额
*/
private Double accountAmount;
/**
* 验证码
*/
private String verifyCode;
/**
* 计划金额
*/
private Double plannedAmount;
/**
* 发起方手机号码
*/
private String initiatorPhone;
/**
* 发起方姓名
*/
private String initiatorName;
/**
* 发起方手机号码国际区号,如 86
*/
private String initiatorPhoneAreaCode;
/**
* 发起方1:商户 2:运维后台
*/
private Integer initiatorType;
/**
*
*/
private Integer transferApprovalId;
/**
* 关联订单流水号
*/
private String orderNumber;
/**
* 关联订单平台方1:GIC
*/
private Integer platformType;
/**
* 关联订单创建时间
*/
private Date orderCreateTime;
/**
* 关联订单单据类型1:充值2:短信套餐3:服务订购4:拓展包5:套餐包
*/
private Integer orderType;
private String orderTypeName;
private String enterpriseName;
private String companyName;
public String getApprovalName() {
return approvalName;
}
public void setApprovalName(String approvalName) {
this.approvalName = approvalName;
}
public Date getApprovalTime() {
return approvalTime;
}
public void setApprovalTime(Date approvalTime) {
this.approvalTime = approvalTime;
}
public String getApprovalPhone() {
return approvalPhone;
}
public void setApprovalPhone(String approvalPhone) {
this.approvalPhone = approvalPhone;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getApprovalNumber() {
return approvalNumber;
}
public void setApprovalNumber(String approvalNumber) {
this.approvalNumber = approvalNumber;
}
public Integer getApprovalStatus() {
return approvalStatus;
}
public void setApprovalStatus(Integer approvalStatus) {
this.approvalStatus = approvalStatus;
}
public Double getAccountAmount() {
return accountAmount;
}
public void setAccountAmount(Double accountAmount) {
this.accountAmount = accountAmount;
}
public String getVerifyCode() {
return verifyCode;
}
public void setVerifyCode(String verifyCode) {
this.verifyCode = verifyCode;
}
public Double getPlannedAmount() {
return plannedAmount;
}
public void setPlannedAmount(Double plannedAmount) {
this.plannedAmount = plannedAmount;
}
public String getInitiatorPhone() {
return initiatorPhone;
}
public void setInitiatorPhone(String initiatorPhone) {
this.initiatorPhone = initiatorPhone;
}
public String getInitiatorName() {
return initiatorName;
}
public void setInitiatorName(String initiatorName) {
this.initiatorName = initiatorName;
}
public String getInitiatorPhoneAreaCode() {
return initiatorPhoneAreaCode;
}
public void setInitiatorPhoneAreaCode(String initiatorPhoneAreaCode) {
this.initiatorPhoneAreaCode = initiatorPhoneAreaCode;
}
public Integer getInitiatorType() {
return initiatorType;
}
public void setInitiatorType(Integer initiatorType) {
this.initiatorType = initiatorType;
}
public Integer getTransferApprovalId() {
return transferApprovalId;
}
public void setTransferApprovalId(Integer transferApprovalId) {
this.transferApprovalId = transferApprovalId;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public Integer getPlatformType() {
return platformType;
}
public void setPlatformType(Integer platformType) {
this.platformType = platformType;
}
public Date getOrderCreateTime() {
return orderCreateTime;
}
public void setOrderCreateTime(Date orderCreateTime) {
this.orderCreateTime = orderCreateTime;
}
public Integer getOrderType() {
return orderType;
}
public void setOrderType(Integer orderType) {
this.orderType = orderType;
}
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getApprovalStatusName() {
return TransferAccountApprovalStatusEnum.getMessageBuCode(approvalStatus);
}
public void setApprovalStatusName(String approvalStatusName) {
this.approvalStatusName = approvalStatusName;
}
public String getApprovalPhoneAreaCode() {
return approvalPhoneAreaCode;
}
public void setApprovalPhoneAreaCode(String approvalPhoneAreaCode) {
this.approvalPhoneAreaCode = approvalPhoneAreaCode;
}
public String getOrderTypeName() {
return OrderTypeEnum.getMessageBuCode(orderType);
}
public void setOrderTypeName(String orderTypeName) {
this.orderTypeName = orderTypeName;
}
}
......@@ -3,6 +3,7 @@ package com.gic.enterprise.service;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.dto.TransferAccountsApprovalDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalDetailDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalListDTO;
/**
......@@ -44,4 +45,6 @@ public interface TransferAccountsApprovalApiService {
Integer enterpriseId,
Integer pageNum, Integer pageSize);
ServiceResponse<TransferAccountsApprovalDetailDTO> getDetailById(Integer transferApprovalId);
}
package com.gic.enterprise.dao.mapper;
import com.gic.enterprise.dto.TransferAccountsApprovalDetailDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalListDTO;
import com.gic.enterprise.entity.TabTransferAccountsApproval;
import org.apache.ibatis.annotations.Param;
......@@ -58,4 +59,7 @@ public interface TabTransferAccountsApprovalMapper {
List<TransferAccountsApprovalListDTO> listTransferAccountsApproval(@Param("search") String search,
@Param("approvalStatus") Integer approvalStatus,
@Param("enterpriseId") Integer enterpriseId);
TransferAccountsApprovalDetailDTO getTransferAccountsApproval(@Param("id") Integer id);
}
\ No newline at end of file
......@@ -116,6 +116,15 @@ public class TabTransferAccountsApproval {
*/
private Date updateTime;
/**
* 审批人手机号码国际区号,如 86
*/
private String approvalPhoneAreaCode;
/**
* 审批人手机号
*/
private String approvalPhone;
public Integer getTransferApprovalId() {
return transferApprovalId;
}
......@@ -291,4 +300,20 @@ public class TabTransferAccountsApproval {
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getApprovalPhoneAreaCode() {
return approvalPhoneAreaCode;
}
public void setApprovalPhoneAreaCode(String approvalPhoneAreaCode) {
this.approvalPhoneAreaCode = approvalPhoneAreaCode;
}
public String getApprovalPhone() {
return approvalPhone;
}
public void setApprovalPhone(String approvalPhone) {
this.approvalPhone = approvalPhone;
}
}
\ No newline at end of file
package com.gic.enterprise.service;
import com.gic.enterprise.dto.TransferAccountsApprovalDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalDetailDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalListDTO;
import com.gic.enterprise.entity.TabTransferAccountsApproval;
import com.github.pagehelper.Page;
......@@ -30,4 +31,6 @@ public interface TransferAccountsApprovalService {
Page<TransferAccountsApprovalListDTO> listTransferAccountsApproval(String search, Integer approvalStatus,
Integer enterpriseId,
Integer pageNum, Integer pageSize);
TransferAccountsApprovalDetailDTO getDetailById(Integer transferApprovalId);
}
......@@ -3,6 +3,7 @@ package com.gic.enterprise.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.dao.mapper.TabTransferAccountsApprovalMapper;
import com.gic.enterprise.dto.TransferAccountsApprovalDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalDetailDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalListDTO;
import com.gic.enterprise.entity.TabTransferAccountsApproval;
import com.gic.enterprise.service.TransferAccountsApprovalService;
......@@ -49,4 +50,9 @@ public class TransferAccountsApprovalServiceImpl implements TransferAccountsAppr
List<TransferAccountsApprovalListDTO> list = tabTransferAccountsApprovalMapper.listTransferAccountsApproval(search, approvalStatus, enterpriseId);
return (Page<TransferAccountsApprovalListDTO>) list;
}
@Override
public TransferAccountsApprovalDetailDTO getDetailById(Integer transferApprovalId) {
return tabTransferAccountsApprovalMapper.getTransferAccountsApproval(transferApprovalId);
}
}
......@@ -6,6 +6,7 @@ import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.enterprise.constant.TransferAccountApprovalStatusEnum;
import com.gic.enterprise.dto.TransferAccountsApprovalDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalDetailDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalListDTO;
import com.gic.enterprise.entity.TabTransferAccountsApproval;
import com.gic.enterprise.error.ErrorCode;
......@@ -70,6 +71,7 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
dto.setAccountAmount(accountAmount);
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.AGREE.getCode());
dto.setApprovalTime(new Date());
//todo 审批人等信息获取插入
transferAccountsApprovalService.updateTransferAccountsApproval(dto);
return ServiceResponse.success();
}
......@@ -84,6 +86,7 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
dto.setTransferApprovalId(transferApprovalId);
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.REJECT.getCode());
dto.setApprovalTime(new Date());
//todo 审批人等信息获取插入
transferAccountsApprovalService.updateTransferAccountsApproval(dto);
return ServiceResponse.success();
}
......@@ -97,5 +100,14 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
return ServiceResponse.success(resultPage);
}
@Override
public ServiceResponse<TransferAccountsApprovalDetailDTO> getDetailById(Integer transferApprovalId) {
TransferAccountsApprovalDetailDTO tab = transferAccountsApprovalService.getDetailById(transferApprovalId);
if (tab == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "转账审批主键有误");
}
return ServiceResponse.success(tab);
}
}
......@@ -24,12 +24,14 @@
<result column="approval_time" jdbcType="TIMESTAMP" property="approvalTime" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="approval_phone_area_code" jdbcType="VARCHAR" property="approvalPhoneAreaCode" />
<result column="approval_phone" jdbcType="VARCHAR" property="approvalPhone" />
</resultMap>
<sql id="Base_Column_List">
transfer_approval_id, order_number, platform_type, order_create_time, order_type,
initiator_type, initiator_id, initiator_name, initiator_phone_area_code, initiator_phone,
enterprise_id, planned_amount, bad_amount, account_amount, verify_code, approval_number,
approval_status, approval_id, approval_name, approval_time, create_time, update_time
approval_status, approval_id, approval_name, approval_time, create_time, update_time, approval_phone, approval_phone_area_code
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -49,7 +51,7 @@
enterprise_id, planned_amount, bad_amount,
account_amount, verify_code, approval_number,
approval_status, approval_id, approval_name,
approval_time, create_time, update_time
approval_time, create_time, update_time, approval_phone, approval_phone_area_code
)
values (#{transferApprovalId,jdbcType=INTEGER}, #{orderNumber,jdbcType=VARCHAR},
#{platformType,jdbcType=INTEGER}, #{orderCreateTime,jdbcType=TIMESTAMP}, #{orderType,jdbcType=INTEGER},
......@@ -58,7 +60,8 @@
#{enterpriseId,jdbcType=INTEGER}, #{plannedAmount,jdbcType=DOUBLE}, #{badAmount,jdbcType=DOUBLE},
#{accountAmount,jdbcType=DOUBLE}, #{verifyCode,jdbcType=VARCHAR}, #{approvalNumber,jdbcType=VARCHAR},
#{approvalStatus,jdbcType=INTEGER}, #{approvalId,jdbcType=VARCHAR}, #{approvalName,jdbcType=VARCHAR},
#{approvalTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
#{approvalTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{approvalPhone,jdbcType=VARCHAR}, #{approvalPhoneAreaCode,jdbcType=VARCHAR},
)
</insert>
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabTransferAccountsApproval">
......@@ -130,6 +133,12 @@
<if test="updateTime != null">
update_time,
</if>
<if test="approvalPhoneAreaCode != null">
approval_phone_area_code,
</if>
<if test="approvalPhone != null">
approval_phone,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="transferApprovalId != null">
......@@ -198,6 +207,12 @@
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="approvalPhoneAreaCode != null">
#{approvalPhoneAreaCode,jdbcType=VARCHAR},
</if>
<if test="approvalPhone != null">
#{approvalPhone,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.enterprise.entity.TabTransferAccountsApproval">
......@@ -266,6 +281,12 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="approvalPhoneAreaCode != null">
approval_phone_area_code = #{approvalPhoneAreaCode,jdbcType=VARCHAR},
</if>
<if test="approvalPhone != null">
approval_phone = #{approvalPhone,jdbcType=VARCHAR},
</if>
</set>
where transfer_approval_id = #{transferApprovalId,jdbcType=INTEGER}
</update>
......@@ -291,7 +312,9 @@
approval_name = #{approvalName,jdbcType=VARCHAR},
approval_time = #{approvalTime,jdbcType=TIMESTAMP},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
update_time = #{updateTime,jdbcType=TIMESTAMP},
approval_phone_area_code = #{approvalPhoneAreaCode,jdbcType=VARCHAR},
approval_phone = #{approvalPhone,jdbcType=VARCHAR}
where transfer_approval_id = #{transferApprovalId,jdbcType=INTEGER}
</update>
......@@ -323,4 +346,33 @@
</if>
</select>
<select id="getTransferAccountsApproval" resultType="com.gic.enterprise.dto.TransferAccountsApprovalDetailDTO">
select
a.approval_phone approvalPhone,
a.approval_phone_area_code approvalPhoneAreaCode,
a.account_amount accountAmount,
a.initiator_phone_area_code initiatorPhoneAreaCode,
a.order_number orderNumber,
a.platform_type platformType,
a.order_create_time orderCreateTime,
a.order_type orderType,
a.transfer_approval_id transferApprovalId,
b.enterprise_name enterpriseName,
b.company_name companyName,
a.verify_code verifyCode,
a.approval_number approvalNumber,
a.initiator_type initiatorType,
a.initiator_name initiatorName,
a.planned_amount plannedAmount,
a.bad_amount badAmount,
a.approval_status approvalStatus,
a.approval_time approvalTime,
a.approval_name approvalName,
a.create_time createTime
from tab_transfer_accounts_approval a
left join tab_enterprise b on a.enterprise_id = b.enterprise_id
where transfer_approval_id = #{id}
</select>
</mapper>
\ No newline at end of file
package com.gic.operation.web.controller;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.dto.TransferAccountsApprovalDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalDetailDTO;
import com.gic.enterprise.dto.TransferAccountsApprovalListDTO;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.enterprise.service.TransferAccountsApprovalApiService;
import com.gic.operation.web.qo.PageQO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author guojx
* @date 2019/7/22 9:13 AM
*/
@RestController
@RequestMapping("/transfer-accounts-approval")
public class TransferAccountsApprovalController {
private static final Logger LOGGER = LoggerFactory.getLogger(TransferAccountsApprovalController.class);
@Autowired
private TransferAccountsApprovalApiService transferAccountsApprovalApiService;
/**
* 发起审批
* @param dto
* @return
*/
@RequestMapping("/initiate-approval")
public RestResponse initiateApproval(TransferAccountsApprovalDTO dto) {
ServiceResponse result = transferAccountsApprovalApiService.initiateApproval(dto);
if (result.isSuccess()) {
return RestResponse.success();
} else {
return EnterpriseRestResponse.failure(result);
}
}
@RequestMapping("/get-approval")
public RestResponse getById(Integer id) {
ServiceResponse<TransferAccountsApprovalDetailDTO> result = transferAccountsApprovalApiService.getDetailById(id);
if (result.isSuccess()) {
return RestResponse.success(result.getResult());
} else {
return EnterpriseRestResponse.failure(result);
}
}
@RequestMapping("/agree-approval")
public RestResponse agreeApproval(Integer id, Double accountAmount) {
ServiceResponse result = transferAccountsApprovalApiService.agreeApproval(id, accountAmount);
if (result.isSuccess()) {
return RestResponse.success();
} else {
return EnterpriseRestResponse.failure(result);
}
}
@RequestMapping("/reject-approval")
public RestResponse rejectApproval(Integer id) {
ServiceResponse result = transferAccountsApprovalApiService.rejectApproval(id);
if (result.isSuccess()) {
return RestResponse.success();
} else {
return EnterpriseRestResponse.failure(result);
}
}
@RequestMapping("/list-approval")
public RestResponse listTransferAccountsApproval(String search, Integer approvalStatus,
Integer enterpriseId, PageQO pageQO) {
ServiceResponse<Page<TransferAccountsApprovalListDTO>> result = transferAccountsApprovalApiService.listTransferAccountsApproval(search,
approvalStatus, enterpriseId, pageQO.getCurrentPage(), pageQO.getPageSize());
if (result.isSuccess()) {
return RestResponse.success(result.getResult());
} else {
return EnterpriseRestResponse.failure(result);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment