Commit fe3ffec2 by guojuxing

转账审批

parent 31830fdd
package com.gic.finance.dao.mapper;
import java.util.List;
import com.gic.finance.qo.TransferListQueryQO;
import org.apache.ibatis.annotations.Param;
import com.gic.finance.entity.TabTransferAccountsApproval;
import java.util.List;
public interface TabTransferAccountsApprovalMapper {
/**
* 根据主键删除
......@@ -40,6 +41,16 @@ public interface TabTransferAccountsApprovalMapper {
TabTransferAccountsApproval selectByPrimaryKey(Integer transferApprovalId);
/**
* 根据订单流水号查询单条
* @Title: selectByOrderNumber

* @Description:

 * @author guojuxing
* @param orderNumber

* @return com.gic.finance.entity.TabTransferAccountsApproval


 */
TabTransferAccountsApproval selectByOrderNumber(@Param("orderNumber") String orderNumber);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
......@@ -55,7 +66,13 @@ public interface TabTransferAccountsApprovalMapper {
*/
int updateByPrimaryKey(TabTransferAccountsApproval record);
List<TabTransferAccountsApproval> listTransferAccountsApproval(@Param("search") String search,
@Param("approvalStatus") Integer approvalStatus,
@Param("enterpriseId") Integer enterpriseId);
/**
* 查询转账审批列表
* @Title: listTransferAccountsApproval

* @Description:

 * @author guojuxing
* @param params

* @return java.util.List<com.gic.finance.entity.TabTransferAccountsApproval>


 */
List<TabTransferAccountsApproval> listTransferAccountsApproval(TransferListQueryQO params);
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.gic.finance.service;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
import com.gic.finance.entity.TabTransferAccountsApproval;
import com.gic.finance.qo.TransferListQueryQO;
import com.github.pagehelper.Page;
/**
......@@ -13,23 +14,53 @@ import com.github.pagehelper.Page;
*/
public interface TransferAccountsApprovalService {
/**
* 发起审批
* @param transferAccountsApprovalDTO
* @return
*/
* 保存
* @Title: initiateApproval

* @Description:

 * @author guojuxing
* @param transferAccountsApprovalDTO

* @return int


 */
int initiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO);
/**
* 主键查询
* @param transferApprovalId
* @return
*/
* 主键查询单条
* @Title: getById

* @Description:

 * @author guojuxing
* @param transferApprovalId

* @return com.gic.finance.entity.TabTransferAccountsApproval


 */
TabTransferAccountsApproval getById(Integer transferApprovalId);
/**
* 根据订单流水号查询单条数据
* @Title: getByOrderNumber

* @Description:

 * @author guojuxing
* @param orderNumber

* @return com.gic.finance.entity.TabTransferAccountsApproval


 */
TabTransferAccountsApproval getByOrderNumber(String orderNumber);
/**
* 更新
* @Title: updateTransferAccountsApproval

* @Description:

 * @author guojuxing
* @param transferAccountsApprovalDTO

* @return void


 */
void updateTransferAccountsApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO);
Page<TransferAccountsApprovalDTO> listTransferAccountsApproval(String search, Integer approvalStatus,
Integer enterpriseId,
Integer pageNum, Integer pageSize);
/**
* 分页查询
* @Title: listTransferAccountsApproval

* @Description:

 * @author guojuxing
* @param params 

* @return com.github.pagehelper.Page<com.gic.finance.dto.TransferAccountsApprovalDTO>


 */
Page<TabTransferAccountsApproval> listTransferAccountsApproval(TransferListQueryQO params);
}
package com.gic.finance.service.impl;
import java.util.Date;
import java.util.List;
import com.github.pagehelper.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -9,15 +11,15 @@ import com.gic.commons.util.EntityUtil;
import com.gic.finance.dao.mapper.TabTransferAccountsApprovalMapper;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
import com.gic.finance.entity.TabTransferAccountsApproval;
import com.gic.finance.qo.TransferListQueryQO;
import com.gic.finance.service.TransferAccountsApprovalService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
/**
* @author $user$
* @ClassName: $ClassName$
* @Description: $desc$
* @date $date$ $time$
* @ClassName: TransferAccountsApprovalServiceImpl

* @Description: 

* @author guojuxing

* @date 2019/8/13 2:18 PM

*/
@Service("transferAccountsApprovalService")
public class TransferAccountsApprovalServiceImpl implements TransferAccountsApprovalService{
......@@ -36,6 +38,11 @@ public class TransferAccountsApprovalServiceImpl implements TransferAccountsAppr
}
@Override
public TabTransferAccountsApproval getByOrderNumber(String orderNumber) {
return tabTransferAccountsApprovalMapper.selectByOrderNumber(orderNumber);
}
@Override
public void updateTransferAccountsApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
transferAccountsApprovalDTO.setUpdateTime(new Date());
TabTransferAccountsApproval transfer = EntityUtil.changeEntityNew(TabTransferAccountsApproval.class, transferAccountsApprovalDTO);
......@@ -43,8 +50,9 @@ public class TransferAccountsApprovalServiceImpl implements TransferAccountsAppr
}
@Override
public Page<TransferAccountsApprovalDTO> listTransferAccountsApproval(String search, Integer approvalStatus, Integer enterpriseId, Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
return null;
public Page<TabTransferAccountsApproval> listTransferAccountsApproval(TransferListQueryQO params) {
PageHelper.startPage(params.getCurrentPage(), params.getPageSize());
List<TabTransferAccountsApproval> list = tabTransferAccountsApprovalMapper.listTransferAccountsApproval(params);
return (Page<TabTransferAccountsApproval>) list;
}
}
......@@ -15,6 +15,7 @@ import com.gic.enterprise.error.ErrorCode;
import com.gic.finance.constant.TransferAccountApprovalStatusEnum;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
import com.gic.finance.entity.TabTransferAccountsApproval;
import com.gic.finance.qo.TransferListQueryQO;
import com.gic.finance.service.TransferAccountsApprovalApiService;
import com.gic.finance.service.TransferAccountsApprovalService;
import com.gic.store.utils.CreateSerialNumberUtils;
......@@ -28,15 +29,17 @@ import com.gic.store.utils.valid.ValidUtil;
* @date $date$ $time$
*/
@Service("transferAccountsApprovalApiService")
public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsApprovalApiService{
public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsApprovalApiService {
private static final Logger LOGGER = LoggerFactory.getLogger(TransferAccountsApprovalApiServiceImpl.class);
private final static String SERVICE_NAME = "转账审批";
@Autowired
private TransferAccountsApprovalService transferAccountsApprovalService;
@Override
public ServiceResponse<Integer> initiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
//valid param
ServiceResponse paramValid = ValidUtil.allCheckValidate(transferAccountsApprovalDTO, TransferAccountsApprovalDTO.InitiateApprovalValid.class);
ServiceResponse paramValid = ValidUtil.allCheckValidate(transferAccountsApprovalDTO,
TransferAccountsApprovalDTO.InitiateApprovalValid.class);
if (!paramValid.isSuccess()) {
return paramValid;
}
......@@ -64,14 +67,27 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
}
@Override
public ServiceResponse<TransferAccountsApprovalDTO> getByOrderNumber(String orderNumber) {
TabTransferAccountsApproval tab = transferAccountsApprovalService.getByOrderNumber(orderNumber);
if (tab == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "订单流水号有误,查询不到数据");
}
return ServiceResponse.success(EntityUtil.changeEntityNew(TransferAccountsApprovalDTO.class, tab));
}
@Override
public ServiceResponse<Void> agreeApproval(Integer transferApprovalId, Double accountAmount) {
TabTransferAccountsApproval tab = transferAccountsApprovalService.getById(transferApprovalId);
if (tab == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "转账审批主键有误");
}
if (accountAmount == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "到账金额不能为空");
}
TransferAccountsApprovalDTO dto = new TransferAccountsApprovalDTO();
dto.setTransferApprovalId(transferApprovalId);
dto.setAccountAmount(accountAmount);
dto.setBadAmount(tab.getPlannedAmount() - accountAmount);
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.AGREE.getCode());
dto.setApprovalTime(new Date());
//todo 审批人等信息获取插入
......@@ -95,14 +111,22 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
}
@Override
public ServiceResponse<Page<TransferAccountsApprovalDTO>> listTransferAccountsApproval(String search, Integer approvalStatus, Integer enterpriseId, Integer pageNum, Integer pageSize) {
com.github.pagehelper.Page page = transferAccountsApprovalService.listTransferAccountsApproval(search, approvalStatus, enterpriseId, pageNum, pageSize);
Page<TransferAccountsApprovalDTO> resultPage = PageHelperUtils.changePageHelperToCurrentPage(page);
return ServiceResponse.success(resultPage);
public ServiceResponse<Void> cancelApproval(Integer transferApprovalId) {
TabTransferAccountsApproval tab = transferAccountsApprovalService.getById(transferApprovalId);
if (tab == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "转账审批主键有误");
}
TransferAccountsApprovalDTO dto = new TransferAccountsApprovalDTO();
dto.setTransferApprovalId(transferApprovalId);
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.CANCEL.getCode());
transferAccountsApprovalService.updateTransferAccountsApproval(dto);
return ServiceResponse.success();
}
@Override
public ServiceResponse<TransferAccountsApprovalDTO> getDetailById(Integer transferApprovalId) {
return null;
public ServiceResponse<Page<TransferAccountsApprovalDTO>> listTransferAccountsApproval(TransferListQueryQO params) {
com.github.pagehelper.Page page = transferAccountsApprovalService.listTransferAccountsApproval(params);
Page<TransferAccountsApprovalDTO> resultPage = PageHelperUtils.changePageHelperToCurrentPage(page, TransferAccountsApprovalDTO.class);
return ServiceResponse.success(resultPage);
}
}
......@@ -305,4 +305,31 @@
order_type = #{orderType,jdbcType=INTEGER}
where transfer_approval_id = #{transferApprovalId,jdbcType=INTEGER}
</update>
<select id="selectByOrderNumber" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_transfer_accounts_approval
where order_number = #{orderNumber}
</select>
<select id="listTransferAccountsApproval" resultMap="BaseResultMap" parameterType="com.gic.finance.qo.TransferListQueryQO">
select
<include refid="Base_Column_List" />
from tab_transfer_accounts_approval
where 1=1
<if test="search != null and search != '' ">
and ( enterprise_name like concat('%', #{search}, '%') or company_name like concat('%', #{search}, '%')
or approval_number like concat('%', #{search}, '%') or verify_code like concat('%', #{search}, '%') )
</if>
<if test="enterpriseId != null">
and enterprise_id = #{enterpriseId}
</if>
<if test="approval_status != null">
and approval_status = #{approvalStatus}
</if>
<if test="platformType != null">
and platform_type = #{platformType}
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -6,14 +6,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.web.qo.PageQO;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
import com.gic.finance.qo.TransferListQueryQO;
import com.gic.finance.service.TransferAccountsApprovalApiService;
import com.gic.finance.web.utils.ResultControllerUtils;
import com.gic.finance.web.vo.TransferApprovalListVO;
/**
* 转账审批
......@@ -42,7 +40,7 @@ public class TransferAccountsApprovalController {
@RequestMapping("/get-approval")
public RestResponse getById(Integer id) {
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.getDetailById(id));
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.getById(id));
}
@RequestMapping("/agree-approval")
......@@ -55,15 +53,14 @@ public class TransferAccountsApprovalController {
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.rejectApproval(id));
}
@RequestMapping("/cancel-approval")
public RestResponse cancelApproval(Integer id) {
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.cancelApproval(id));
}
@RequestMapping("/list-approval")
public RestResponse listTransferAccountsApproval(String search, Integer approvalStatus,
Integer enterpriseId, PageQO pageQO) {
ServiceResponse<Page<TransferAccountsApprovalDTO>> result = transferAccountsApprovalApiService.listTransferAccountsApproval(search,
approvalStatus, enterpriseId, pageQO.getCurrentPage(), pageQO.getPageSize());
if (result.isSuccess()) {
return RestResponse.success(result.getResult());
} else {
return EnterpriseRestResponse.failure(result);
}
public RestResponse listTransferAccountsApproval(TransferListQueryQO params) {
return ResultControllerUtils.commonResult(
transferAccountsApprovalApiService.listTransferAccountsApproval(params), TransferApprovalListVO.class);
}
}
package com.gic.finance.web.utils;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.finance.exception.FinanceException;
/**
* controller统一返回工具类
* @ClassName: ResultControllerUtils

......@@ -27,4 +30,23 @@ public class ResultControllerUtils {
throw new FinanceException(response);
}
}
/**
* 统一返回成功结果(分页DTO转为VO)
* @Title: commonResultOfListVO

* @Description:

 * @author guojuxing
* @param response
* @param clazz

* @return com.gic.commons.webapi.reponse.RestResponse


 */
public static RestResponse commonResult(ServiceResponse response, Class<?> clazz) {
if (response.isSuccess()) {
Page page = (Page) response.getResult();
page.setResult(EntityUtil.changeEntityListNew(clazz, page.getResult()));
return RestResponse.success(page);
} else {
throw new FinanceException(response);
}
}
}
package com.gic.finance.web.vo;
import java.io.Serializable;
import java.util.Date;
import com.gic.finance.constant.EnterprisePlatformTypeEnum;
import com.gic.finance.constant.InitiatorTypeEnum;
import com.gic.finance.constant.TransferAccountApprovalStatusEnum;
/**
* 转账审批列表VO
* @ClassName: TransferApprovalListVO

* @Description: 

* @author guojuxing

* @date 2019/8/9 5:38 PM

*/
public class TransferApprovalListVO implements Serializable{
private static final long serialVersionUID = -1254096293186884889L;
private Integer transferApprovalId;
/**
* 关联订单平台方(商户类型)1:GIC 2: 好办
*/
private Integer platformType;
/**
* 商户类型名称
*/
private String platformTypeStr;
/**
* 商户名称
*/
private String enterpriseName;
/**
* 公司名称
*/
private String companyName;
/**
* 公司logo
*/
private String logo;
/**
* 发起方1:商户 2:运维后台
*/
private Integer initiatorType;
/**
* 发起方名称
*/
private String initiatorTypeStr;
/**
* 发起方姓名
*/
private String initiatorName;
/**
* 计划金额
*/
private Double plannedAmount;
/**
* 坏账金额
*/
private Double badAmount;
/**
* 验证码
*/
private String verifyCode;
/**
* 审批流水号
*/
private String approvalNumber;
/**
* 审批状态 1:待审批 2:已取消 3:已驳回 4:审批通过
*/
private Integer approvalStatus;
/**
* 审批状态 名称
*/
private String approvalStatusStr;
/**
* 审批人姓名
*/
private String approvalName;
/**
* 审批时间
*/
private Date approvalTime;
public Integer getTransferApprovalId() {
return transferApprovalId;
}
public void setTransferApprovalId(Integer transferApprovalId) {
this.transferApprovalId = transferApprovalId;
}
public void setPlatformType(Integer platformType) {
this.platformType = platformType;
}
public String getPlatformTypeStr() {
return EnterprisePlatformTypeEnum.getMessageByCode(platformType);
}
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 getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
public void setInitiatorType(Integer initiatorType) {
this.initiatorType = initiatorType;
}
public String getInitiatorTypeStr() {
return InitiatorTypeEnum.getMessageByCode(initiatorType);
}
public String getInitiatorName() {
return initiatorName;
}
public void setInitiatorName(String initiatorName) {
this.initiatorName = initiatorName;
}
public Double getPlannedAmount() {
return plannedAmount;
}
public void setPlannedAmount(Double plannedAmount) {
this.plannedAmount = plannedAmount;
}
public Double getBadAmount() {
return badAmount;
}
public void setBadAmount(Double badAmount) {
this.badAmount = badAmount;
}
public String getVerifyCode() {
return verifyCode;
}
public void setVerifyCode(String verifyCode) {
this.verifyCode = verifyCode;
}
public String getApprovalNumber() {
return approvalNumber;
}
public void setApprovalNumber(String approvalNumber) {
this.approvalNumber = approvalNumber;
}
public void setApprovalStatus(Integer approvalStatus) {
this.approvalStatus = approvalStatus;
}
public String getApprovalStatusStr() {
return TransferAccountApprovalStatusEnum.getMessageBuCode(approvalStatus);
}
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;
}
}
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