parent
							
								
									d9bdac19a6
								
							
						
					
					
						commit
						caa6d6ea12
					
				| @ -0,0 +1,42 @@ | ||||
| const { handleArrayDaoData } = require("../utils/tools"); | ||||
| const addressModel = require("./model/addressModel"); | ||||
| 
 | ||||
| module.exports.getAddressDao = async function () { | ||||
|   return handleArrayDaoData(await addressModel.findAll()); | ||||
| }; | ||||
| 
 | ||||
| module.exports.addAddressDao = async function (addressData) { | ||||
|   // 如果新增的是默认地址,需要先将其他地址设为非默认
 | ||||
|   if (addressData.isDefault === 1) { | ||||
|     await addressModel.update({ isDefault: 0 }, { where: {} }); | ||||
|   } | ||||
|   await addressModel.create(addressData); | ||||
|   return handleArrayDaoData(await addressModel.findAll()); | ||||
| }; | ||||
| 
 | ||||
| module.exports.updateAddressDao = async function (addressData) { | ||||
|   // 如果更新的是默认地址,需要先将其他地址设为非默认
 | ||||
|   if (addressData.isDefault === 1) { | ||||
|     await addressModel.update( | ||||
|       { isDefault: 0 }, | ||||
|       { | ||||
|         where: { id: { [Op.ne]: addressData.id } }, | ||||
|       } | ||||
|     ); | ||||
|   } | ||||
|   await addressModel.update(addressData, { | ||||
|     where: { | ||||
|       id: addressData.id, | ||||
|     }, | ||||
|   }); | ||||
|   return handleArrayDaoData(await addressModel.findAll()); | ||||
| }; | ||||
| 
 | ||||
| module.exports.deleteAddressDao = async function (id) { | ||||
|   await addressModel.destroy({ | ||||
|     where: { | ||||
|       id, | ||||
|     }, | ||||
|   }); | ||||
|   return handleArrayDaoData(await addressModel.findAll()); | ||||
| }; | ||||
| @ -0,0 +1,46 @@ | ||||
| const sequelize = require("../dbConnect"); | ||||
| const { DataTypes } = require("sequelize"); | ||||
| 
 | ||||
| module.exports = sequelize.define( | ||||
|   "address", | ||||
|   { | ||||
|     receiver: { | ||||
|       type: DataTypes.STRING, | ||||
|       allowNull: false, | ||||
|     }, | ||||
|     contact: { | ||||
|       type: DataTypes.STRING, | ||||
|       allowNull: false, | ||||
|     }, | ||||
|     fullLocation: { | ||||
|       type: DataTypes.STRING, | ||||
|       allowNull: false, | ||||
|     }, | ||||
|     provinceCode: { | ||||
|       type: DataTypes.STRING, | ||||
|       allowNull: false, | ||||
|     }, | ||||
|     cityCode: { | ||||
|       type: DataTypes.STRING, | ||||
|       allowNull: false, | ||||
|     }, | ||||
|     countyCode: { | ||||
|       type: DataTypes.STRING, | ||||
|       allowNull: false, | ||||
|     }, | ||||
|     address: { | ||||
|       type: DataTypes.STRING, | ||||
|       allowNull: false, | ||||
|     }, | ||||
|     isDefault: { | ||||
|       type: DataTypes.INTEGER, | ||||
|       allowNull: false, | ||||
|       defaultValue: 0, | ||||
|     }, | ||||
|   }, | ||||
|   { | ||||
|     freezeTableName: true, | ||||
|     createdAt: false, | ||||
|     updatedAt: false, | ||||
|   } | ||||
| ); | ||||
| @ -0,0 +1,32 @@ | ||||
| const express = require("express"); | ||||
| const router = express.Router(); | ||||
| const { | ||||
|   getAddressServices, | ||||
|   addAddressServices, | ||||
|   updateAddressServices, | ||||
|   deleteAddressServices, | ||||
| } = require("../services/addressService"); | ||||
| const { formatResponse } = require("../utils/tools"); | ||||
| 
 | ||||
| router.get("/", async function (req, res, next) { | ||||
|   const data = await getAddressServices(); | ||||
|   res.send(formatResponse(0, "", data)); | ||||
| }); | ||||
| 
 | ||||
| router.post("/", async function (req, res, next) { | ||||
|   console.log(req, res); | ||||
|   const data = await addAddressServices(req.body); | ||||
|   res.send(formatResponse(0, "", data)); | ||||
| }); | ||||
| 
 | ||||
| router.put("/", async function (req, res, next) { | ||||
|   const data = await updateAddressServices(req.body); | ||||
|   res.send(formatResponse(0, "", data)); | ||||
| }); | ||||
| 
 | ||||
| router.delete("/", async function (req, res, next) { | ||||
|   const data = await deleteAddressServices(req.body); | ||||
|   res.send(formatResponse(0, "", data)); | ||||
| }); | ||||
| 
 | ||||
| module.exports = router; | ||||
| @ -0,0 +1,29 @@ | ||||
| const { | ||||
|   getAddressDao, | ||||
|   addAddressDao, | ||||
|   updateAddressDao, | ||||
|   deleteAddressDao, | ||||
| } = require("../dao/addressDao"); | ||||
| 
 | ||||
| module.exports.getAddressServices = async function () { | ||||
|   return await getAddressDao(); | ||||
| }; | ||||
| 
 | ||||
| module.exports.addAddressServices = async function (addressData) { | ||||
|   console.log(addressData); | ||||
|   // 确保isDefault是数字类型
 | ||||
|   const data = { | ||||
|     ...addressData, | ||||
|     isDefault: addressData.isDefault || 0, | ||||
|   }; | ||||
|   return await addAddressDao(data); | ||||
| }; | ||||
| 
 | ||||
| module.exports.updateAddressServices = async function (addressData) { | ||||
|   // 这里需要提供id
 | ||||
|   return await updateAddressDao(addressData); | ||||
| }; | ||||
| 
 | ||||
| module.exports.deleteAddressServices = async function ({ id }) { | ||||
|   return await deleteAddressDao(id); | ||||
| }; | ||||
					Loading…
					
					
				
		Reference in new issue