mirror of
https://github.com/weizhiqiang1995/erp-pro.git
synced 2025-03-03 19:03:11 +08:00
feat: 增加收件地址功能
This commit is contained in:
parent
dceaafef1c
commit
4a44cce1f1
7 changed files with 312 additions and 3 deletions
|
@ -0,0 +1,95 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.store.controller;
|
||||
|
||||
import com.skyeye.annotation.api.Api;
|
||||
import com.skyeye.annotation.api.ApiImplicitParam;
|
||||
import com.skyeye.annotation.api.ApiImplicitParams;
|
||||
import com.skyeye.annotation.api.ApiOperation;
|
||||
import com.skyeye.common.entity.search.CommonPageInfo;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.store.entity.ShopAddress;
|
||||
import com.skyeye.store.service.ShopAddressService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @ClassName: ShopAddressController
|
||||
* @Description: 收件地址管理控制类
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2022/2/4 10:06
|
||||
* @Copyright: 2021 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
@RestController
|
||||
@Api(value = "收件地址管理", tags = "收件地址管理", modelName = "收件地址管理")
|
||||
public class ShopAddressController {
|
||||
|
||||
@Autowired
|
||||
private ShopAddressService shopAddressService;
|
||||
|
||||
/**
|
||||
* 新增/编辑收件地址信息
|
||||
*
|
||||
* @param inputObject 入参以及用户信息等获取对象
|
||||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "writeShopAddress", value = "新增/编辑收件地址信息", method = "POST", allUse = "2")
|
||||
@ApiImplicitParams(classBean = ShopAddress.class)
|
||||
@RequestMapping("/post/ShopAddressController/writeShopAddress")
|
||||
public void writeShopAddress(InputObject inputObject, OutputObject outputObject) {
|
||||
shopAddressService.saveOrUpdateEntity(inputObject, outputObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除收件地址信息
|
||||
*
|
||||
* @param inputObject 入参以及用户信息等获取对象
|
||||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "deleteShopAddressByIds", value = "批量删除收件地址信息", method = "DELETE", allUse = "2")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(id = "ids", name = "ids", value = "主键id列表,多个id用逗号分隔", required = "required")})
|
||||
@RequestMapping("/post/ShopAddressController/deleteShopAddressByIds")
|
||||
public void deleteShopAddressByIds(InputObject inputObject, OutputObject outputObject) {
|
||||
shopAddressService.deleteById(inputObject, outputObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页获取收件地址信息
|
||||
*
|
||||
* @param inputObject 入参以及用户信息等获取对象
|
||||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "queryMyShopAddress", value = "分页获取收件地址信息", method = "POST", allUse = "2")
|
||||
@ApiImplicitParams(classBean = CommonPageInfo.class)
|
||||
@RequestMapping("/post/ShopAddressController/queryMyShopAddress")
|
||||
public void queryMyShopAddress(InputObject inputObject, OutputObject outputObject) {
|
||||
shopAddressService.queryPageList(inputObject, outputObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取默认收件地址信息
|
||||
*
|
||||
* @param inputObject 入参以及用户信息等获取对象
|
||||
* @param outputObject 出参以及提示信息的返回值对象
|
||||
*/
|
||||
@ApiOperation(id = "queryDefaultShopAddress", value = "获取默认收件地址信息", method = "POST", allUse = "2")
|
||||
@RequestMapping("/post/ShopAddressController/queryDefaultShopAddress")
|
||||
public void queryDefaultShopAddress(InputObject inputObject, OutputObject outputObject) {
|
||||
shopAddressService.queryList(inputObject, outputObject);
|
||||
}
|
||||
|
||||
@ApiOperation(id = "queryShopAddressByCreateId", value = "获取默认收件地址信息", method = "POST", allUse = "2")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(id = "userId", name = "userId", value = "用户主键id", required = "required")})
|
||||
@RequestMapping("/post/ShopAddressController/queryShopAddressByCreateId")
|
||||
public void queryShopAddressByCreateId(InputObject inputObject, OutputObject outputObject) {
|
||||
shopAddressService.queryShopAddressByCreateId(inputObject, outputObject);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.store.dao;
|
||||
|
||||
import com.skyeye.eve.dao.SkyeyeBaseMapper;
|
||||
import com.skyeye.store.entity.ShopAddress;
|
||||
|
||||
/**
|
||||
* @ClassName: ShopAddressDao
|
||||
* @Description: 收件地址管理数据接口层
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2022/2/4 10:06
|
||||
* @Copyright: 2021 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
public interface ShopAddressDao extends SkyeyeBaseMapper<ShopAddress> {
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.store.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.skyeye.annotation.api.ApiModel;
|
||||
import com.skyeye.annotation.api.ApiModelProperty;
|
||||
import com.skyeye.annotation.cache.RedisCacheField;
|
||||
import com.skyeye.common.constans.RedisConstants;
|
||||
import com.skyeye.common.entity.features.OperatorUserInfo;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName: ShopAddress
|
||||
* @Description: 收件地址实体类
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2022/2/4 10:06
|
||||
* @Copyright: 2021 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
@Data
|
||||
@RedisCacheField(name = "shop:address", cacheTime = RedisConstants.THIRTY_DAY_SECONDS)
|
||||
@TableName(value = "shop_address")
|
||||
@ApiModel("收件地址管理实体类")
|
||||
public class ShopAddress extends OperatorUserInfo {
|
||||
|
||||
@TableId("id")
|
||||
@ApiModelProperty("主键id。为空时新增,不为空时编辑")
|
||||
private String id;
|
||||
|
||||
@TableField("name")
|
||||
@ApiModelProperty(value = "收件人名称", required = "required")
|
||||
private String name;
|
||||
|
||||
@TableField("mobile")
|
||||
@ApiModelProperty(value = "手机号", required = "required")
|
||||
private String mobile;
|
||||
|
||||
@TableField("province_id")
|
||||
@ApiModelProperty(value = "省")
|
||||
private String provinceId;
|
||||
|
||||
@TableField("city_id")
|
||||
@ApiModelProperty(value = "市")
|
||||
private String cityId;
|
||||
|
||||
@TableField("area_id")
|
||||
@ApiModelProperty(value = "县区")
|
||||
private String areaId;
|
||||
|
||||
@TableField("township_id")
|
||||
@ApiModelProperty(value = "乡镇")
|
||||
private String townshipId;
|
||||
|
||||
@TableField("absolute_address")
|
||||
@ApiModelProperty(value = "详细地址")
|
||||
private String absoluteAddress;
|
||||
|
||||
@TableField("is_default")
|
||||
@ApiModelProperty(value = "是否是默认地址,参考#WhetherEnum", required = "required,num")
|
||||
private Integer isDefault;
|
||||
}
|
|
@ -32,6 +32,15 @@ public class ShopTradeCart extends OperatorUserInfo {
|
|||
@ApiModelProperty("主键id。为空时新增,不为空时编辑")
|
||||
private String id;
|
||||
|
||||
|
||||
@TableField("store_id")
|
||||
@ApiModelProperty(value = "门店id", required = "required")
|
||||
private String storeId;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "门店信息")
|
||||
private Map<String, Object> storeMation;
|
||||
|
||||
@TableField("material_id")
|
||||
@ApiModelProperty(value = "商品id", required = "required")
|
||||
private String materialId;
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.store.service;
|
||||
|
||||
import com.skyeye.base.business.service.SkyeyeBusinessService;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.store.entity.ShopAddress;
|
||||
|
||||
/**
|
||||
* @ClassName: ShopAddressService
|
||||
* @Description: 收件地址管理服务接口层
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2022/2/4 10:06
|
||||
* @Copyright: 2021 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
public interface ShopAddressService extends SkyeyeBusinessService<ShopAddress> {
|
||||
void queryShopAddressByCreateId(InputObject inputObject, OutputObject outputObject);
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 卫志强 QQ:598748873@qq.com Inc. All rights reserved. 开源地址:https://gitee.com/doc_wei01/skyeye
|
||||
******************************************************************************/
|
||||
|
||||
package com.skyeye.store.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.skyeye.annotation.service.SkyeyeService;
|
||||
import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl;
|
||||
import com.skyeye.common.constans.CommonCharConstants;
|
||||
import com.skyeye.common.constans.CommonConstants;
|
||||
import com.skyeye.common.constans.CommonNumConstants;
|
||||
import com.skyeye.common.enumeration.WhetherEnum;
|
||||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.common.util.mybatisplus.MybatisPlusUtil;
|
||||
import com.skyeye.store.dao.ShopAddressDao;
|
||||
import com.skyeye.store.entity.ShopAddress;
|
||||
import com.skyeye.store.service.ShopAddressService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: ShopAddressServiceImpl
|
||||
* @Description: 收件地址管理服务层
|
||||
* @author: skyeye云系列--卫志强
|
||||
* @date: 2022/2/4 10:06
|
||||
* @Copyright: 2021 https://gitee.com/doc_wei01/skyeye Inc. All rights reserved.
|
||||
* 注意:本内容仅限购买后使用.禁止私自外泄以及用于其他的商业目的
|
||||
*/
|
||||
@Service
|
||||
@SkyeyeService(name = "收件地址管理", groupName = "收件地址管理")
|
||||
public class ShopAddressServiceImpl extends SkyeyeBusinessServiceImpl<ShopAddressDao, ShopAddress> implements ShopAddressService {
|
||||
|
||||
@Override
|
||||
public void writePostpose(ShopAddress shopAddress, String userId) {
|
||||
if (WhetherEnum.ENABLE_USING.getKey().equals(shopAddress.getIsDefault())) {
|
||||
UpdateWrapper<ShopAddress> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.ne(CommonConstants.ID, shopAddress.getId());
|
||||
updateWrapper.eq(MybatisPlusUtil.toColumns(ShopAddress::getCreateId), userId);
|
||||
updateWrapper.eq(MybatisPlusUtil.toColumns(ShopAddress::getIsDefault), WhetherEnum.ENABLE_USING.getKey());
|
||||
ShopAddress one = getOne(updateWrapper);
|
||||
if (ObjectUtil.isEmpty(one)) {
|
||||
return;
|
||||
}
|
||||
updateWrapper.set(MybatisPlusUtil.toColumns(ShopAddress::getIsDefault), WhetherEnum.DISABLE_USING.getKey());
|
||||
update(updateWrapper);
|
||||
refreshCache(one.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteById(InputObject inputObject, OutputObject outputObject) {
|
||||
String ids = inputObject.getParams().get("ids").toString();
|
||||
List<String> idList = Arrays.asList(ids.split(CommonCharConstants.COMMA_MARK));
|
||||
super.deleteById(idList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> queryPageDataList(InputObject inputObject) {
|
||||
String userId = InputObject.getLogParamsStatic().get("id").toString();
|
||||
QueryWrapper<ShopAddress> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopAddress::getCreateId), userId);
|
||||
List<ShopAddress> list = list(queryWrapper);
|
||||
return JSONUtil.toList(JSONUtil.toJsonStr(list), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> queryDataList(InputObject inputObject){
|
||||
String userId = InputObject.getLogParamsStatic().get("id").toString();
|
||||
QueryWrapper<ShopAddress> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopAddress::getCreateId), userId);
|
||||
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopAddress::getIsDefault), CommonNumConstants.NUM_ONE);
|
||||
List<ShopAddress> list = list(queryWrapper);
|
||||
return JSONUtil.toList(JSONUtil.toJsonStr(list), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void queryShopAddressByCreateId(InputObject inputObject, OutputObject outputObject) {
|
||||
String userId = inputObject.getParams().get("userId").toString();
|
||||
QueryWrapper<ShopAddress> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopAddress::getCreateId), userId);
|
||||
List<ShopAddress> list = list(queryWrapper);
|
||||
outputObject.setBeans(list);
|
||||
outputObject.settotal(list.size());
|
||||
}
|
||||
}
|
|
@ -19,7 +19,6 @@ import com.skyeye.common.enumeration.WhetherEnum;
|
|||
import com.skyeye.common.object.InputObject;
|
||||
import com.skyeye.common.object.OutputObject;
|
||||
import com.skyeye.common.util.CalculationUtil;
|
||||
import com.skyeye.common.util.StringUtil;
|
||||
import com.skyeye.common.util.mybatisplus.MybatisPlusUtil;
|
||||
import com.skyeye.erp.service.IMaterialNormsService;
|
||||
import com.skyeye.erp.service.IMaterialService;
|
||||
|
@ -27,8 +26,8 @@ import com.skyeye.exception.CustomException;
|
|||
import com.skyeye.rest.shopmaterialnorms.sevice.IShopMaterialNormsService;
|
||||
import com.skyeye.store.dao.ShopTradeCartDao;
|
||||
import com.skyeye.store.entity.ShopTradeCart;
|
||||
import com.skyeye.store.service.ShopStoreService;
|
||||
import com.skyeye.store.service.ShopTradeCartService;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -56,6 +55,9 @@ public class ShopTradeCartServiceImpl extends SkyeyeBusinessServiceImpl<ShopTrad
|
|||
@Autowired
|
||||
private IShopMaterialNormsService iShopMaterialNormsService;
|
||||
|
||||
@Autowired
|
||||
private ShopStoreService shopStoreService;
|
||||
|
||||
@Override
|
||||
public void validatorEntity(ShopTradeCart shopTradeCart) {
|
||||
super.validatorEntity(shopTradeCart);
|
||||
|
@ -69,14 +71,17 @@ public class ShopTradeCartServiceImpl extends SkyeyeBusinessServiceImpl<ShopTrad
|
|||
String userId = InputObject.getLogParamsStatic().get("id").toString();
|
||||
QueryWrapper<ShopTradeCart> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq(MybatisPlusUtil.toColumns(ShopTradeCart::getCreateId), userId);
|
||||
wrapper.orderByDesc(MybatisPlusUtil.toColumns(ShopTradeCart::getCreateTime));
|
||||
wrapper.groupBy(MybatisPlusUtil.toColumns(ShopTradeCart::getStoreId));
|
||||
List<ShopTradeCart> beans = list(wrapper);
|
||||
iMaterialNormsService.setDataMation(beans, ShopTradeCart::getNormsId);
|
||||
iMaterialService.setDataMation(beans, ShopTradeCart::getMaterialId);
|
||||
shopStoreService.setDataMation(beans, ShopTradeCart::getStoreId);
|
||||
return JSONUtil.toList(JSONUtil.toJsonStr(beans), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String createEntity(ShopTradeCart shopTradeCart, String userId){
|
||||
public String createEntity(ShopTradeCart shopTradeCart, String userId) {
|
||||
QueryWrapper<ShopTradeCart> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopTradeCart::getMaterialId), shopTradeCart.getMaterialId());
|
||||
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopTradeCart::getNormsId), shopTradeCart.getNormsId());
|
||||
|
|
Loading…
Reference in a new issue