package com.stylefeng.guns.modular.system.controller; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.modular.system.model.TUserAddressVo; import com.stylefeng.guns.modular.system.utils.tips.SuccessTip; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.modular.system.model.TUserAddress; import com.stylefeng.guns.modular.system.service.ITUserAddressService; import java.util.Date; import java.util.List; /** * 控制器 * * @author fengshuonan * @Date 2022-12-30 17:04:55 */ @Controller @Api(tags = "客户端---用户地址") @RequestMapping("/api/tUserAddress") public class TUserAddressController extends BaseController { @Autowired private ITUserAddressService tUserAddressService; /** * 获取列表 */ @ApiOperation(value = "用户地址列表",notes="用户地址列表") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "userId", value = "用户id", required = true, dataType = "int",paramType = "query"), @ApiImplicitParam(name = "pageNumber", value = "pageNumber", required = true, dataType = "int",paramType = "query"), @ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int",paramType = "query"), }) @GetMapping(value = "/list") @ResponseBody public Object list(int userId,int pageNumber,int pageSize) { Page tUserAddressVoPage = new Page<>(pageNumber, pageSize); tUserAddressVoPage.setRecords(tUserAddressService.getList(tUserAddressVoPage,userId)); return new SuccessTip(tUserAddressVoPage); } /** * 新增 */ @ApiOperation(value = "新增用户地址",notes="新增用户地址") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @PostMapping(value = "/add") @ResponseBody public Object add(TUserAddress tUserAddress) { tUserAddress.setCreateTime(new Date()); tUserAddressService.insert(tUserAddress); return SUCCESS_TIP; } /** * 删除 */ @ApiOperation(value = "删除用户地址",notes="删除用户地址") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "tUserAddressId", value = "地址Id", required = true, dataType = "int"), }) @DeleteMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tUserAddressId) { TUserAddress tUserAddress = tUserAddressService.selectById(tUserAddressId); tUserAddress.setRemove(1); tUserAddressService.updateById(tUserAddress); return SUCCESS_TIP; } /** * 修改 */ @ApiOperation(value = "设置默认地址",notes="设置默认地址") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "addressId", value = "地址id", required = true, dataType = "int"), }) @PostMapping(value = "/setDefaultAddress") @ResponseBody public Object update(int addressId) { TUserAddress tUserAddress = tUserAddressService.selectById(addressId); List addresses = tUserAddressService.selectList(new EntityWrapper().eq("user_id", tUserAddress.getUserId())); for (TUserAddress address : addresses) { address.setIsDefault(2); } tUserAddressService.updateBatchById(addresses); tUserAddress.setIsDefault(1); tUserAddressService.updateById(tUserAddress); return SUCCESS_TIP; } /** * 修改 */ @ApiOperation(value = "修改用户地址",notes="修改用户地址") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) @PostMapping(value = "/update") @ResponseBody public Object update(@RequestBody TUserAddress tUserAddress) { tUserAddress.setUpdateTime(new Date()); tUserAddressService.updateById(tUserAddress); return SUCCESS_TIP; } /** * 详情 */ @ApiOperation(value = "详情用户地址",notes="详情用户地址") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "tUserAddressId", value = "tUserAddressId", required = true, dataType = "Integer"), }) @GetMapping(value = "/detail") @ResponseBody public Object detail( Integer tUserAddressId) { return new SuccessTip(tUserAddressService.selectById(tUserAddressId)); } }