Beispiel #1
0
 def post(self, request):
     IsAuthenticate2.has_permission(self, request,
                                    "modules:usermanage:save")
     api_response = {"code": 0, "msg": "success"}
     if 'token' not in request.data or request.data.get('token') is "":
         raise ValidationError("参数不能为空")
     token = request.data.get("token")
     if 'accName' not in request.data or request.data.get('accName') is "":
         raise ValidationError("参数不能为空")
     accName = request.data.get('accName')
     if 'password' not in request.data or request.data.get(
             'password') is "":
         raise ValidationError("参数不能为空")
     password = request.data.get('password')
     if 'userID' not in request.data or request.data.get('userID') is "":
         raise ValidationError("参数不能为空")
     userID = request.data.get('userID')
     if 'userName' not in request.data or request.data.get(
             'userName') is "":
         raise ValidationError("参数不能为空")
     userName = request.data.get('userName')
     if 'accAttr' not in request.data or request.data.get('accAttr') is "":
         raise ValidationError("参数不能为空")
     accAttr = request.data.get('accAttr')
     if 'etpName' not in request.data or request.data.get('etpName') is "":
         raise ValidationError("参数不能为空")
     etpName = request.data.get('etpName')
     if 'userDP' not in request.data or request.data.get('userDP') is "":
         raise ValidationError("参数不能为空")
     userDP = request.data.get('userDP')
     if 'userMail' not in request.data or request.data.get(
             'userMail') is "":
         raise ValidationError("参数不能为空")
     userMail = request.data.get('userMail')
     if 'userPhone' not in request.data or request.data.get(
             'userPhone') is "":
         raise ValidationError("参数不能为空")
     userPhone = request.data.get('userPhone')
     if 'userTel' not in request.data or request.data.get('userTel') is "":
         raise ValidationError("参数不能为空")
     userTel = request.data.get('userTel')
     try:
         status = (request.data.get('status') if
                   ('status' in request.data) else 1)
         curr_user = rc4_decode_main(secretkey, token)
         create_user_id = curr_user
         create_date = (request.data.get('create_date') if
                        ('create_date' in request.data) else datetime.now())
         remarks = (request.data.get('remarks') if
                    ('remarks' in request.data) else "")
         sid = transaction.savepoint()  # 开启事务
         newUser = User()
         newUser.accName = accName
         newUser.userID = userID
         newUser.userName = userName
         newUser.userMail = userMail
         newUser.userPhone = userPhone
         newUser.userTel = userTel
         newUser.password = password
         newUser.status = status
         newUser.accAttr = accAttr
         newUser.etpName = etpName
         newUser.userDP = userDP
         newUser.create_date = create_date
         newUser.create_user_id = create_user_id
         newUser.remarks = remarks
         newUser.save()
         try:
             transaction.savepoint_commit(sid)  # 提交
         except Exception as ie:
             Logger('error.log', level='error').logger.error(
                 "[事务提交失败]accName:【%s】%s" % (accName, ie))
             transaction.savepoint_rollback(sid)  # 回滚
         return Response(api_response)
     except Exception as e:
         Logger('error.log', level='error').logger.error(
             "[添加用户异常]accName:【%s】%s" % (accName, e))
         api_response["code"] = 500
         api_response["msg"] = "服务器未知错误"
         return Response(api_response), 500