@@ -1,6 +1,7 @@
package logic
import (
+ userLibService "app.yhyue.com/moapp/jydocs/services/userlib"
"context"
"app.yhyue.com/moapp/jydocs/rpc/userlib/internal/svc"
@@ -25,6 +26,14 @@ func NewDocDeleteLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DocDele
func (l *DocDeleteLogic) DocDelete(in *userlib.UserDeleteRequest) (*userlib.UserDeleteResponse, error) {
// todo: add your logic here and delete this line
-
- return &userlib.UserDeleteResponse{}, nil
+ result := &userlib.UserDeleteResponse{}
+ b := userLibService.UserDocDelete(in.DocId)
+ if b {
+ result.Code = 1
+ result.Message = "删除成功"
+ return result,nil
+ }
+ result.Code = 0
+ result.Message = "删除失败"
+ return result, nil
}
@@ -36,3 +36,20 @@ func Test_UserDocCollect(t *testing.T) {
log.Print("UserDoc Collect call response:", resp)
+
+func Test_UserDocDelete(t *testing.T) {
+ client := zrpc.MustNewClient(zrpc.RpcClientConf{
+ Etcd: discov.EtcdConf{
+ Hosts: []string{"192.168.3.240:2379"},
+ Key: "jydocs.userlib.rpc",
+ },
+ })
+ userLib := userlibclient.NewUserLib(client)
+ resp, err := userLib.DocDelete(context.Background(), &userlibclient.UserDeleteRequest{
+ DocId: "8",
+ if err != nil {
+ log.Println("UserDoc Collect call error:", err)
+ log.Print("UserDoc Collect call response:", resp)
+}
@@ -5,6 +5,7 @@ import (
docRpcUtil "app.yhyue.com/moapp/jydocs/services/util"
"gorm.io/gorm"
"log"
+ "time"
)
func UserDocCollect(userDoc *model.UserDoc, cost int) bool {
@@ -31,3 +32,33 @@ func UserDocCollect(userDoc *model.UserDoc, cost int) bool {
return true
+func UserDocDelete(docId string) bool {
+ err := docRpcUtil.GetJyDocsDB().Transaction(func(tx *gorm.DB) error {
+ orm := docRpcUtil.GetJyDocsDB()
+ docData := model.UserDoc{}
+ //查询用户文档详情
+ orm.Select("userId,docId").First(&docData,docId)
+ log.Println(docData.UserId)
+ log.Println(docData.DocId)
+ //逻辑删除
+ err := docRpcUtil.GetJyDocsDB().Exec("UPDATE user_doc SET isDelete = 1 WHERE id = ?",docId).Error
+ tx.Rollback()
+ return err
+ //删除记录
+ err = docRpcUtil.GetJyDocsDB().Exec("insert into del_record (docId, userId, date, operate, viewType, source, shareUserId) values (?,?,?,?,?,?,?)",docId,docData.UserId,time.Now(),1,1,1,1).Error
+ return nil
+ return false
+ return true