Преглед на файлове

feature(计费): 未出账单新增接口实现

likai преди 4 години
родител
ревизия
8f560d9ece
променени са 3 файла, в които са добавени 70 реда и са изтрити 0 реда
  1. 23 0
      handler/settle_account_main.go
  2. 5 0
      model/account/settle_account_main.go
  3. 42 0
      service/settle_account_main/settle_account_main.go

+ 23 - 0
handler/settle_account_main.go

@@ -37,6 +37,29 @@ func (a *SettleAccountMainController) SettleAccountMainList(ctx context.Context,
 	return nil
 }
 
+// 结算明细(未出账单)新增
+func (a *SettleAccountMainController) AddAccountMain(ctx context.Context, req *accountModel.AccountMainAddReq, rsp *comm_def.CommonMsg) error {
+	tenant, err := micro_srv.GetTenant(ctx)
+	if err != nil {
+		return err
+	}
+	user, err := micro_srv.GetUserInfo(ctx)
+	if err != nil {
+		return err
+	}
+	g.Log().Info("Received SettleAccountMainController.AddAccountMain request @ " + tenant)
+
+	var errors = service.NewService(tenant).Add(*req, user)
+	_, err, code, msg := myerrors.CheckError(errors)
+	if err != nil {
+		return err
+	}
+
+	rsp.Code = code
+	rsp.Msg = msg
+	return nil
+}
+
 // 结算明细(未出账单)确认
 func (a *SettleAccountMainController) ConfirmAccountMain(ctx context.Context, req *accountModel.AccountMainConfirmReq, rsp *comm_def.CommonMsg) error {
 	tenant, err := micro_srv.GetTenant(ctx)

+ 5 - 0
model/account/settle_account_main.go

@@ -24,4 +24,9 @@ type SettleAccountMainReq struct {
 
 type AccountMainConfirmReq struct {
 	MainId  int `json:"mainId"`
+}
+
+type AccountMainAddReq struct {
+	Main  SettleAccountMain  `json:"main"`
+	Details  []SettleAccountDetail  `json:"details"`
 }

+ 42 - 0
service/settle_account_main/settle_account_main.go

@@ -77,6 +77,48 @@ func (s Service) List(req model.ListReq) ([]accountModel.SettleAccountMain, int,
 
 	return list, total, nil
 }
+// 新增
+func (s Service) Add(req accountModel.AccountMainAddReq, user request.UserInfo) error {
+	now := gtime.Now() // 获取当前时间
+
+	// 更新必要信息
+	req.Main.CreateUserId = int(user.Id)
+	req.Main.CreateBy = user.RealName
+	req.Main.CreateOn = now
+	req.Main.UpdateUserId = int(user.Id)
+	req.Main.UpdateBy = user.RealName
+	req.Main.UpdateOn = now
+
+	tx, err := s.Dao.DB.Begin()
+	if err != nil {
+		return err
+	}
+
+	result, err := tx.Insert("settle_account_main", req.Main)
+	if err != nil {
+		tx.Rollback()
+		return err
+	}
+
+	id , _ := result.LastInsertId()
+	for index := range req.Details { // 更新必要信息
+		req.Details[index].CreateUserId = int(user.Id)
+		req.Details[index].CreateBy = user.RealName
+		req.Details[index].CreateOn = now
+		req.Details[index].UpdateUserId = int(user.Id)
+		req.Details[index].UpdateBy = user.RealName
+		req.Details[index].UpdateOn = now
+		req.Details[index].Pid = int(id)
+	}
+	_, err =  tx.Insert("settle_account_detail", req.Details)
+	if err != nil {
+		tx.Rollback()
+		return err
+	}
+
+	return tx.Commit()
+}
+
 
 // 确认
 func (s Service) Confirm(req accountModel.AccountMainConfirmReq, user request.UserInfo) error {