username@email.com
2025-04-27 15eb82df2d6ec539e9d4245bfe08d531e8eb6379
zhengcaioa/zhengcaioa/Controllers/admin/CustomerWithdrawalController.cs
@@ -113,7 +113,28 @@
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                //if (string.IsNullOrWhiteSpace(data.BankAcount))
                //{
                //    returnMsg.code = 2;
                //    returnMsg.error = "没有银行账户!";
                //    returnMsg.count = 0;
                //    return new JsonResult(returnMsg);
                //}
                //if (string.IsNullOrWhiteSpace(data.BankName))
                //{
                //    returnMsg.code = 2;
                //    returnMsg.error = "没有银行名称!";
                //    returnMsg.count = 0;
                //    return new JsonResult(returnMsg);
                //}
                //if (string.IsNullOrWhiteSpace(data.Username))
                //{
                //    returnMsg.code = 2;
                //    returnMsg.error = "没有收款人姓名!";
                //    returnMsg.count = 0;
                //    return new JsonResult(returnMsg);
                //}
                ResultEntity resultEntity = new ResultEntity();
                using (TransactionScope scope = new TransactionScope())
                {
@@ -180,5 +201,297 @@
            }
            return new JsonResult(returnMsg);
        }
        /// <summary>
        /// 会员提现申请,审批结果
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public IActionResult GetCustomerWithdrawal(string OrderNo)
        {
            ReturnMsg<AdmCustomerWithdrawalDTO> returnMsg = new ReturnMsg<AdmCustomerWithdrawalDTO>();
            returnMsg.code = 2;
            try
            {
                //验证数据完整性
                if (string.IsNullOrWhiteSpace(OrderNo))
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有订单号!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                ResultEntity resultEntity = new ResultEntity();
                var customerWithdrawalDTO = _askService.GetCustomerWithdrawalList(OrderNo).FirstOrDefault();
                //验证是否重复发起
                if (customerWithdrawalDTO == null)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有查找到审批流程!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                var sysCodeDtls = _liaotianService.GetSYScode("wf_run_process", "shenpi_status");
                var sysCodeDtl = sysCodeDtls.Where(x => x.CodeSn == customerWithdrawalDTO.ShenpiStatus).FirstOrDefault();
                if (sysCodeDtl != null)
                {
                    customerWithdrawalDTO.ShenpiStatusName = sysCodeDtl.Comments;
                }
                var wfRunProcessDTO = _wfRunProcessService.GetList(customerWithdrawalDTO.Id, "20").FirstOrDefault();
                if (wfRunProcessDTO == null)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有查找到审批流程!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                var lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id).LastOrDefault() ;
                if (lishiyijian == null)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有查找到审批流程!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                customerWithdrawalDTO.Content = lishiyijian.Content;
                customerWithdrawalDTO.Step = wfRunProcessDTO.Step;
                returnMsg.code = 1;
                returnMsg.returnObj = customerWithdrawalDTO;
                returnMsg.count = 1;
            }
            catch (Exception ex)
            {
                returnMsg.code = 2;
                returnMsg.error = "没有获取到token";
                returnMsg.count = 0;
            }
            return new JsonResult(returnMsg);
        }
        /// <summary>
        /// 会员提现申请
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult AskCustomerRefund([FromBody] AdmCustomerWithdrawalDTO data)
        {
            ReturnMsg<AdmCustomerWithdrawalDTO> returnMsg = new ReturnMsg<AdmCustomerWithdrawalDTO>();
            returnMsg.code = 2;
            try
            {
                //验证数据完整性
                if (string.IsNullOrWhiteSpace(data.OrderNo))
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有订单号!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                if (string.IsNullOrWhiteSpace(data.HuiyuanId))
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有会员id!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                if (string.IsNullOrWhiteSpace(data.HuiyuanName))
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有会员名称!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                if (string.IsNullOrWhiteSpace(data.HuiyuanPhone))
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有会员电话!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                if (data.Shenqingtime == DateTime.MinValue)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有申请日期!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                if (!data.Jine.HasValue)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有提现金额!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                ResultEntity resultEntity = new ResultEntity();
                using (TransactionScope scope = new TransactionScope())
                {
                    //验证是否重复发起
                    if (_askService.GetCustomerWithdrawalList(data.OrderNo).Count > 0)
                    {
                        returnMsg.code = 2;
                        returnMsg.error = "该订单已经发起流程!";
                        returnMsg.count = 0;
                        return new JsonResult(returnMsg);
                    }
                    //流程步骤
                    data.Step = "提交";
                    data.Tongguojujue = "";
                    data.Content = "";
                    data.Tittle = "会员退款申请(" + data.HuiyuanName + ")";
                    data.CreaterName = data.HuiyuanName;
                    data.ShenpiStatus = "D";
                    data.RecStatus = "A";
                    data.Creater = "e4c93811-b9b1-4998-89f5-c416ebab0c07";
                    data.Createtime = DateTime.Now;
                    data.Modifier = data.Creater;
                    data.Modifytime = data.Createtime;
                    resultEntity = _askService.SaveCustomerWithdrawal(data);
                    if (!resultEntity.Result)
                    {
                        returnMsg.code = 2;
                        returnMsg.error = resultEntity.Message;
                        returnMsg.count = 0;
                        return new JsonResult(returnMsg);
                    }
                    //发起流程相关
                    resultEntity = _wfRunProcessService.WfCustomerRefund(data.Id, data.Step, data.Tongguojujue, "e4c93811-b9b1-4998-89f5-c416ebab0c07", data.Content, data.Tittle, "v1");
                    if (!resultEntity.Result)
                    {
                        returnMsg.code = 2;
                        returnMsg.error = resultEntity.Message;
                        returnMsg.count = 0;
                        return new JsonResult(returnMsg);
                    }
                    scope.Complete();
                    returnMsg.code = 1;
                    returnMsg.returnObj = null;
                    returnMsg.count = 0;
                }
            }
            catch (Exception ex)
            {
                returnMsg.code = 2;
                returnMsg.error = "没有获取到token";
                returnMsg.count = 0;
            }
            return new JsonResult(returnMsg);
        }
        /// <summary>
        /// 会员提现申请,审批结果
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public IActionResult GetCustomerRefund(string OrderNo)
        {
            ReturnMsg<AdmCustomerWithdrawalDTO> returnMsg = new ReturnMsg<AdmCustomerWithdrawalDTO>();
            returnMsg.code = 2;
            try
            {
                //验证数据完整性
                if (string.IsNullOrWhiteSpace(OrderNo))
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有订单号!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                ResultEntity resultEntity = new ResultEntity();
                var customerWithdrawalDTO = _askService.GetCustomerWithdrawalList(OrderNo).FirstOrDefault();
                //验证是否重复发起
                if (customerWithdrawalDTO == null)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有查找到审批流程!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                var sysCodeDtls = _liaotianService.GetSYScode("wf_run_process", "shenpi_status");
                var sysCodeDtl = sysCodeDtls.Where(x => x.CodeSn == customerWithdrawalDTO.ShenpiStatus).FirstOrDefault();
                if (sysCodeDtl != null)
                {
                    customerWithdrawalDTO.ShenpiStatusName = sysCodeDtl.Comments;
                }
                var wfRunProcessDTO = _wfRunProcessService.GetList(customerWithdrawalDTO.Id, "23").FirstOrDefault();
                if (wfRunProcessDTO == null)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有查找到审批流程!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                var lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id).LastOrDefault();
                if (lishiyijian == null)
                {
                    returnMsg.code = 2;
                    returnMsg.error = "没有查找到审批流程!";
                    returnMsg.count = 0;
                    return new JsonResult(returnMsg);
                }
                customerWithdrawalDTO.Content = lishiyijian.Content;
                customerWithdrawalDTO.Step = wfRunProcessDTO.Step;
                returnMsg.code = 1;
                returnMsg.returnObj = customerWithdrawalDTO;
                returnMsg.count = 1;
            }
            catch (Exception ex)
            {
                returnMsg.code = 2;
                returnMsg.error = "没有获取到token";
                returnMsg.count = 0;
            }
            return new JsonResult(returnMsg);
        }
    }
}