diff --git a/src/main/java/com/gxwebsoft/cms/entity/Navigation.java b/src/main/java/com/gxwebsoft/cms/entity/Navigation.java index 1d4a4a7..5cddb0f 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/Navigation.java +++ b/src/main/java/com/gxwebsoft/cms/entity/Navigation.java @@ -80,6 +80,12 @@ public class Navigation implements Serializable { @ApiModelProperty(value = "绑定的知识文档") private String bookCode; + @ApiModelProperty(value = "商品分类ID") + private Integer goodsCategoryId; + + @ApiModelProperty(value = "商品ID") + private Integer goodsId; + @ApiModelProperty(value = "用户ID") private Integer userId; diff --git a/src/main/java/com/gxwebsoft/cms/mapper/xml/NavigationMapper.xml b/src/main/java/com/gxwebsoft/cms/mapper/xml/NavigationMapper.xml index beae33b..58a5920 100644 --- a/src/main/java/com/gxwebsoft/cms/mapper/xml/NavigationMapper.xml +++ b/src/main/java/com/gxwebsoft/cms/mapper/xml/NavigationMapper.xml @@ -44,6 +44,12 @@ AND a.book_code = #{param.bookCode} + + AND a.goods_category_id = #{param.goodsCategoryId} + + + AND a.goods_id = #{param.goodsId} + AND a.active LIKE CONCAT('%', #{param.active}, '%') diff --git a/src/main/java/com/gxwebsoft/cms/param/NavigationParam.java b/src/main/java/com/gxwebsoft/cms/param/NavigationParam.java index 45b06d7..4145ccb 100644 --- a/src/main/java/com/gxwebsoft/cms/param/NavigationParam.java +++ b/src/main/java/com/gxwebsoft/cms/param/NavigationParam.java @@ -90,4 +90,12 @@ public class NavigationParam extends BaseParam { @QueryField(type = QueryType.EQ) private String bookCode; + @ApiModelProperty(value = "商品分类ID") + @QueryField(type = QueryType.EQ) + private Integer goodsCategoryId; + + @ApiModelProperty(value = "商品ID") + @QueryField(type = QueryType.EQ) + private Integer goodsId; + } diff --git a/src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java b/src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java new file mode 100644 index 0000000..dfb3373 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java @@ -0,0 +1,44 @@ +package com.gxwebsoft.common.core.utils; + +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSONObject; +import com.gxwebsoft.common.core.security.JwtUtil; +import com.gxwebsoft.common.system.entity.User; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; + +@Component +public class RequestUtil { + private static final String host = "https://server.gxwebsoft.com/api"; + private static String ACCESS_TOKEN; + private static String TENANT_ID; + + public void setTenantId(String tenantId){ + TENANT_ID = tenantId; + } + + public void setAccessToken(String token){ + ACCESS_TOKEN = token; + } + + public User getUserByPhone(String phone){ + String path = "/system/user/getByPhone/" + phone; + try { + // 链式构建请求 + String result = HttpRequest.get(host.concat(path)) + .header("Authorization", ACCESS_TOKEN) + .header("Tenantid", TENANT_ID) + .timeout(20000)//超时,毫秒 + .execute().body(); + + JSONObject jsonObject = JSONObject.parseObject(result); + final String data = jsonObject.getString("data"); + return JSONObject.parseObject(data, User.class); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + +} diff --git a/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java b/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java index 2903732..f5ba63c 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/GoodsController.java @@ -68,8 +68,12 @@ public class GoodsController extends BaseController { final Goods goods = goodsService.getByIdRel(id); final List goodsSpecList = goodsSpecService.list(new LambdaQueryWrapper().eq(GoodsSpec::getGoodsId, id)); final List goodsSkuList = goodsSkuService.list(new LambdaQueryWrapper().eq(GoodsSku::getGoodsId, id)); - goods.setGoodsSpecs(goodsSpecList); - goods.setGoodsSkus(goodsSkuList); + if(goodsSpecList != null){ + goods.setGoodsSpecs(goodsSpecList); + } + if(goodsSkuList != null){ + goods.setGoodsSkus(goodsSkuList); + } return success(goods); } diff --git a/src/main/java/com/gxwebsoft/shop/controller/MerchantController.java b/src/main/java/com/gxwebsoft/shop/controller/MerchantController.java index cb494b1..a136abc 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/MerchantController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/MerchantController.java @@ -1,21 +1,26 @@ package com.gxwebsoft.shop.controller; +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.gxwebsoft.common.core.security.JwtUtil; +import com.gxwebsoft.common.core.utils.JSONUtil; +import com.gxwebsoft.common.core.utils.RequestUtil; +import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.BaseController; -import com.gxwebsoft.shop.service.MerchantService; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.User; import com.gxwebsoft.shop.entity.Merchant; import com.gxwebsoft.shop.param.MerchantParam; -import com.gxwebsoft.common.core.web.ApiResult; -import com.gxwebsoft.common.core.web.PageResult; -import com.gxwebsoft.common.core.web.PageParam; -import com.gxwebsoft.common.core.web.BatchParam; -import com.gxwebsoft.common.core.annotation.OperationLog; -import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.shop.service.MerchantService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.security.access.prepost.PreAuthorize; +import org.bouncycastle.cert.ocsp.Req; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -54,13 +59,19 @@ public class MerchantController extends BaseController { @ApiOperation("添加商户") @PostMapping() - public ApiResult save(@RequestBody Merchant merchant) { - // 记录当前登录用户id - // User loginUser = getLoginUser(); - // if (loginUser != null) { - // merchant.setUserId(loginUser.getUserId()); - // } - if (merchantService.save(merchant)) { + public ApiResult save(@RequestBody Merchant merchant, HttpServletRequest request) { + if (merchantService.count(new LambdaQueryWrapper().eq(Merchant::getPhone,merchant.getPhone())) > 0) { + return fail("商户手机号码" + merchant.getPhone() + "已存在"); + } + // 跟进手机号获取用户信息 + final RequestUtil requestUtil = new RequestUtil(); + requestUtil.setAccessToken(JwtUtil.getAccessToken(request)); + requestUtil.setTenantId(getTenantId().toString()); + final User user = requestUtil.getUserByPhone(merchant.getPhone()); + if(user != null){ + merchant.setUserId(user.getUserId()); + } + if (merchantService.save(merchant)) { return success("添加成功"); } return fail("添加失败"); diff --git a/src/main/java/com/gxwebsoft/oa/controller/OrderController.java b/src/main/java/com/gxwebsoft/shop/controller/OrderController.java similarity index 62% rename from src/main/java/com/gxwebsoft/oa/controller/OrderController.java rename to src/main/java/com/gxwebsoft/shop/controller/OrderController.java index d2b3ee5..750a1c9 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/OrderController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/OrderController.java @@ -1,72 +1,72 @@ -package com.gxwebsoft.oa.controller; +package com.gxwebsoft.shop.controller; -import com.gxwebsoft.common.core.utils.CommonUtil; -import com.gxwebsoft.common.core.web.*; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.shop.service.OrderService; +import com.gxwebsoft.shop.entity.Order; +import com.gxwebsoft.shop.param.OrderParam; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.annotation.OperationLog; import com.gxwebsoft.common.system.entity.User; -import com.gxwebsoft.oa.entity.Order; -import com.gxwebsoft.oa.param.OrderParam; -import com.gxwebsoft.oa.service.OrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; /** - * 订单记录表控制器 + * 订单控制器 * * @author 科技小王子 - * @since 2024-02-29 18:02:30 + * @since 2024-04-06 12:12:48 */ -@Api(tags = "订单记录表管理") +@Api(tags = "订单管理") @RestController -@RequestMapping("/api/oa/order") +@RequestMapping("/api/shop/order") public class OrderController extends BaseController { @Resource private OrderService orderService; - @ApiOperation("分页查询订单记录表") + @ApiOperation("分页查询订单") @GetMapping("/page") public ApiResult> page(OrderParam param) { // 使用关联查询 return success(orderService.pageRel(param)); } - @ApiOperation("查询全部订单记录表") + @ApiOperation("查询全部订单") @GetMapping() public ApiResult> list(OrderParam param) { - PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(orderService.list(page.getOrderWrapper())); // 使用关联查询 - //return success(orderService.listRel(param)); + return success(orderService.listRel(param)); } - @ApiOperation("根据id查询订单记录表") + @ApiOperation("根据id查询订单") @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { - return success(orderService.getById(id)); // 使用关联查询 - //return success(orderService.getByIdRel(id)); + return success(orderService.getByIdRel(id)); } - @ApiOperation("添加订单记录表") + @ApiOperation("添加订单") @PostMapping() public ApiResult save(@RequestBody Order order) { // 记录当前登录用户id - User loginUser = getLoginUser(); - if (loginUser != null) { - order.setUserId(loginUser.getUserId()); - } - order.setOrderNo(CommonUtil.createOrderNo()); + // User loginUser = getLoginUser(); + // if (loginUser != null) { + // order.setUserId(loginUser.getUserId()); + // } if (orderService.save(order)) { return success("添加成功"); } return fail("添加失败"); } - @ApiOperation("修改订单记录表") + @ApiOperation("修改订单") @PutMapping() public ApiResult update(@RequestBody Order order) { if (orderService.updateById(order)) { @@ -75,7 +75,7 @@ public class OrderController extends BaseController { return fail("修改失败"); } - @ApiOperation("删除订单记录表") + @ApiOperation("删除订单") @DeleteMapping("/{id}") public ApiResult remove(@PathVariable("id") Integer id) { if (orderService.removeById(id)) { @@ -84,7 +84,7 @@ public class OrderController extends BaseController { return fail("删除失败"); } - @ApiOperation("批量添加订单记录表") + @ApiOperation("批量添加订单") @PostMapping("/batch") public ApiResult saveBatch(@RequestBody List list) { if (orderService.saveBatch(list)) { @@ -93,7 +93,7 @@ public class OrderController extends BaseController { return fail("添加失败"); } - @ApiOperation("批量修改订单记录表") + @ApiOperation("批量修改订单") @PutMapping("/batch") public ApiResult removeBatch(@RequestBody BatchParam batchParam) { if (batchParam.update(orderService, "order_id")) { @@ -102,7 +102,7 @@ public class OrderController extends BaseController { return fail("修改失败"); } - @ApiOperation("批量删除订单记录表") + @ApiOperation("批量删除订单") @DeleteMapping("/batch") public ApiResult removeBatch(@RequestBody List ids) { if (orderService.removeByIds(ids)) { diff --git a/src/main/java/com/gxwebsoft/shop/entity/Merchant.java b/src/main/java/com/gxwebsoft/shop/entity/Merchant.java index 3a84259..db48825 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/Merchant.java +++ b/src/main/java/com/gxwebsoft/shop/entity/Merchant.java @@ -69,6 +69,9 @@ public class Merchant implements Serializable { @ApiModelProperty(value = "备注") private String comments; + @ApiModelProperty(value = "所有人") + private Integer userId; + @ApiModelProperty(value = "状态") private Integer status; diff --git a/src/main/java/com/gxwebsoft/oa/entity/Order.java b/src/main/java/com/gxwebsoft/shop/entity/Order.java similarity index 89% rename from src/main/java/com/gxwebsoft/oa/entity/Order.java rename to src/main/java/com/gxwebsoft/shop/entity/Order.java index e8cf8ab..f22c461 100644 --- a/src/main/java/com/gxwebsoft/oa/entity/Order.java +++ b/src/main/java/com/gxwebsoft/shop/entity/Order.java @@ -1,29 +1,27 @@ -package com.gxwebsoft.oa.entity; +package com.gxwebsoft.shop.entity; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.Date; - /** - * 订单记录表 + * 订单 * * @author 科技小王子 - * @since 2024-02-29 18:02:30 + * @since 2024-04-06 12:12:48 */ @Data @EqualsAndHashCode(callSuper = false) -@ApiModel(value = "Order对象", description = "订单记录表") -@TableName("oa_order") +@ApiModel(value = "Order对象", description = "订单") +@TableName("shop_order") public class Order implements Serializable { private static final long serialVersionUID = 1L; @@ -37,7 +35,7 @@ public class Order implements Serializable { @ApiModelProperty(value = "类型") private Integer type; - @ApiModelProperty(value = "付款金额") + @ApiModelProperty(value = "订单金额") private BigDecimal money; @ApiModelProperty(value = "实际付款金额(包含运费)") @@ -70,6 +68,9 @@ public class Order implements Serializable { @ApiModelProperty(value = "付款时间") private LocalDateTime payTime; + @ApiModelProperty(value = "支付方式") + private Integer payMethod; + @ApiModelProperty(value = "支付流水号") private String transactionId; @@ -120,9 +121,9 @@ public class Order implements Serializable { private Integer tenantId; @ApiModelProperty(value = "创建时间") - private Date createTime; + private LocalDateTime createTime; @ApiModelProperty(value = "修改时间") - private Date updateTime; + private LocalDateTime updateTime; } diff --git a/src/main/java/com/gxwebsoft/oa/mapper/OrderMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/OrderMapper.java similarity index 80% rename from src/main/java/com/gxwebsoft/oa/mapper/OrderMapper.java rename to src/main/java/com/gxwebsoft/shop/mapper/OrderMapper.java index 6206aed..c7bdf49 100644 --- a/src/main/java/com/gxwebsoft/oa/mapper/OrderMapper.java +++ b/src/main/java/com/gxwebsoft/shop/mapper/OrderMapper.java @@ -1,18 +1,18 @@ -package com.gxwebsoft.oa.mapper; +package com.gxwebsoft.shop.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.gxwebsoft.oa.entity.Order; -import com.gxwebsoft.oa.param.OrderParam; +import com.gxwebsoft.shop.entity.Order; +import com.gxwebsoft.shop.param.OrderParam; import org.apache.ibatis.annotations.Param; import java.util.List; /** - * 订单记录表Mapper + * 订单Mapper * * @author 科技小王子 - * @since 2024-02-29 18:02:30 + * @since 2024-04-06 12:12:48 */ public interface OrderMapper extends BaseMapper { diff --git a/src/main/java/com/gxwebsoft/oa/mapper/xml/OrderMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/OrderMapper.xml similarity index 91% rename from src/main/java/com/gxwebsoft/oa/mapper/xml/OrderMapper.xml rename to src/main/java/com/gxwebsoft/shop/mapper/xml/OrderMapper.xml index 3e1d220..fe57d92 100644 --- a/src/main/java/com/gxwebsoft/oa/mapper/xml/OrderMapper.xml +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/OrderMapper.xml @@ -1,11 +1,11 @@ - + SELECT a.* - FROM oa_order a + FROM shop_order a AND a.order_id = #{param.orderId} @@ -104,20 +104,19 @@ AND a.create_time <= #{param.createTimeEnd} - AND (a.phone LIKE CONCAT('%', #{param.keywords}, '%') - OR a.order_no LIKE CONCAT('%', #{param.keywords}, '%') - ) - + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + - - diff --git a/src/main/java/com/gxwebsoft/oa/param/OrderParam.java b/src/main/java/com/gxwebsoft/shop/param/OrderParam.java similarity index 93% rename from src/main/java/com/gxwebsoft/oa/param/OrderParam.java rename to src/main/java/com/gxwebsoft/shop/param/OrderParam.java index 424706d..7bc4bc0 100644 --- a/src/main/java/com/gxwebsoft/oa/param/OrderParam.java +++ b/src/main/java/com/gxwebsoft/shop/param/OrderParam.java @@ -1,26 +1,25 @@ -package com.gxwebsoft.oa.param; +package com.gxwebsoft.shop.param; -import com.fasterxml.jackson.annotation.JsonInclude; +import java.math.BigDecimal; import com.gxwebsoft.common.core.annotation.QueryField; import com.gxwebsoft.common.core.annotation.QueryType; import com.gxwebsoft.common.core.web.BaseParam; +import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import java.math.BigDecimal; - /** - * 订单记录表查询参数 + * 订单查询参数 * * @author 科技小王子 - * @since 2024-02-29 18:02:30 + * @since 2024-04-06 12:12:48 */ @Data @EqualsAndHashCode(callSuper = false) @JsonInclude(JsonInclude.Include.NON_NULL) -@ApiModel(value = "OrderParam对象", description = "订单记录表查询参数") +@ApiModel(value = "OrderParam对象", description = "订单查询参数") public class OrderParam extends BaseParam { private static final long serialVersionUID = 1L; @@ -35,7 +34,7 @@ public class OrderParam extends BaseParam { @QueryField(type = QueryType.EQ) private Integer type; - @ApiModelProperty(value = "付款金额") + @ApiModelProperty(value = "订单金额") @QueryField(type = QueryType.EQ) private BigDecimal money; diff --git a/src/main/java/com/gxwebsoft/oa/service/OrderService.java b/src/main/java/com/gxwebsoft/shop/service/OrderService.java similarity index 80% rename from src/main/java/com/gxwebsoft/oa/service/OrderService.java rename to src/main/java/com/gxwebsoft/shop/service/OrderService.java index 85eae6d..dc4a978 100644 --- a/src/main/java/com/gxwebsoft/oa/service/OrderService.java +++ b/src/main/java/com/gxwebsoft/shop/service/OrderService.java @@ -1,17 +1,17 @@ -package com.gxwebsoft.oa.service; +package com.gxwebsoft.shop.service; import com.baomidou.mybatisplus.extension.service.IService; import com.gxwebsoft.common.core.web.PageResult; -import com.gxwebsoft.oa.entity.Order; -import com.gxwebsoft.oa.param.OrderParam; +import com.gxwebsoft.shop.entity.Order; +import com.gxwebsoft.shop.param.OrderParam; import java.util.List; /** - * 订单记录表Service + * 订单Service * * @author 科技小王子 - * @since 2024-02-29 18:02:30 + * @since 2024-04-06 12:12:48 */ public interface OrderService extends IService { diff --git a/src/main/java/com/gxwebsoft/oa/service/impl/OrderServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/OrderServiceImpl.java similarity index 73% rename from src/main/java/com/gxwebsoft/oa/service/impl/OrderServiceImpl.java rename to src/main/java/com/gxwebsoft/shop/service/impl/OrderServiceImpl.java index 0ea08f0..51b340d 100644 --- a/src/main/java/com/gxwebsoft/oa/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/OrderServiceImpl.java @@ -1,10 +1,10 @@ -package com.gxwebsoft.oa.service.impl; +package com.gxwebsoft.shop.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gxwebsoft.oa.mapper.OrderMapper; -import com.gxwebsoft.oa.service.OrderService; -import com.gxwebsoft.oa.entity.Order; -import com.gxwebsoft.oa.param.OrderParam; +import com.gxwebsoft.shop.mapper.OrderMapper; +import com.gxwebsoft.shop.service.OrderService; +import com.gxwebsoft.shop.entity.Order; +import com.gxwebsoft.shop.param.OrderParam; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageResult; import org.springframework.stereotype.Service; @@ -12,10 +12,10 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * 订单记录表Service实现 + * 订单Service实现 * * @author 科技小王子 - * @since 2024-02-29 18:02:30 + * @since 2024-04-06 12:12:48 */ @Service public class OrderServiceImpl extends ServiceImpl implements OrderService { @@ -23,7 +23,7 @@ public class OrderServiceImpl extends ServiceImpl implements @Override public PageResult pageRel(OrderParam param) { PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); + page.setDefaultOrder("sort_number asc, create_time desc"); List list = baseMapper.selectPageRel(page, param); return new PageResult<>(list, page.getTotal()); } @@ -33,7 +33,7 @@ public class OrderServiceImpl extends ServiceImpl implements List list = baseMapper.selectListRel(param); // 排序 PageParam page = new PageParam<>(); - //page.setDefaultOrder("create_time desc"); + page.setDefaultOrder("sort_number asc, create_time desc"); return page.sortRecords(list); } diff --git a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java b/src/test/java/com/gxwebsoft/generator/ShopGenerator.java index 2e34fc9..0999c77 100644 --- a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/ShopGenerator.java @@ -61,7 +61,8 @@ public class ShopGenerator { // "shop_brand", // "shop_merchant", // "shop_merchant_type", - "shop_merchant_apply" +// "shop_merchant_apply", + "shop_order" }; // 需要去除的表前缀 private static final String[] TABLE_PREFIX = new String[]{