Bladeren bron

refactor(app): 重构订单相关代码

- 移除 AppOrderProduct 相关的 mapper、service、controller
- 更新 AppCoursesMapper 和 AppInstructorMapper 中的查询逻辑
- 删除 DetailServiceImpl 中的 getPlaceSales 方法
- 优化 OrderServiceImpl 中的订单创建逻辑- 新增 HikiotConstant 和 HikiotTool 中的授权码相关方法
SheepHy 4 dagen geleden
bovenliggende
commit
6c46632d02
10 gewijzigde bestanden met toevoegingen van 3 en 357 verwijderingen
  1. 1 22
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java
  2. 0 22
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java
  3. 0 182
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppOrderProductController.java
  4. 0 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppOrderDTO.java
  5. 0 77
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppOrderProduct.java
  6. 0 17
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppOrderProductMapper.java
  7. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppCoursesMapper.xml
  8. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppInstructorMapper.xml
  9. 0 14
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppOrderProductService.java
  10. 0 19
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppOrderProductServiceImpl.java

+ 1 - 22
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java

@@ -50,9 +50,6 @@ public class DetailServiceImpl implements IDetailService {
     private AppCoursesPriceRulesMapper appCoursesPriceRulesMapper;
     @Resource
     private AppCoursesMapper appCoursesMapper;
-    @Resource
-    private AppOrderProductMapper appOrderProductMapper;
-
     @Autowired
     private AppOrderProInfoMapper appOrderProInfoMapper;
     @Resource
@@ -117,7 +114,7 @@ public class DetailServiceImpl implements IDetailService {
                     .eq(AppSitePlace::getType,0)).forEach(appSitePlace -> {
                 PlaceInfoVO.PlaceInfoMsgVO placeInfoMsgVO = new PlaceInfoVO.PlaceInfoMsgVO();
                 placeInfoMsgVO.setName(appSitePlace.getName())
-                        .setSales(getPlaceSales(id))
+                        .setSales(0)
                         .setId(appSitePlace.getId())
                         .setOriginalPrice(appSitePriceRulesMapper.selectOne(Wrappers.<AppSitePriceRules>lambdaQuery()
                                 .eq(AppSitePriceRules::getSitePlaceId, appSitePlace.getId())
@@ -302,24 +299,6 @@ public class DetailServiceImpl implements IDetailService {
         return courseInfoVOIPage;
     }
 
-    /**
-     * @return
-     * @Author SheepHy
-     * @Description 查询门店下场地销售次数
-     * @Date 20:02 2025/7/7
-     * @Param
-     **/
-    private int getPlaceSales(String id) {
-        List<String> ids = appCoursesPriceRulesMapper.selectRuleIdsByCourseId(id);
-        int totalOrders = 0;
-        if (!ids.isEmpty()) {
-            totalOrders = Math.toIntExact(appOrderProductMapper.selectCount(
-                    Wrappers.<AppOrderProduct>lambdaQuery()
-                            .in(AppOrderProduct::getProductId, ids)
-            ));
-        }
-        return totalOrders;
-    }
 
     /**
      * @Author SheepHy

+ 0 - 22
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java

@@ -56,8 +56,6 @@ public class OrderServiceImpl implements IOrderService {
     @Resource
     private SysDepartMapper sysDepartMapper;
     @Resource
-    private AppOrderProductMapper appOrderProductMapper;
-    @Resource
     private AppSiteMapper appSiteMapper;
     @Resource
     private AppIsinMapper appIsinMapper;
@@ -1084,7 +1082,6 @@ public class OrderServiceImpl implements IOrderService {
                             .setUpdateBy(userId);
                     createOrderCoupon(s, userIds);
                     appOrderMapper.insert(appOrder);
-                    createOrderProduct(appOrder, id);
                 }
                 break;
             case 1:
@@ -1137,25 +1134,6 @@ public class OrderServiceImpl implements IOrderService {
         });
     }
 
-    /**
-     * @Author SheepHy
-     * @Description 生成订单明细
-     * @Date 11:57 2025/7/16
-     * @Param appOrder id
-     **/
-    private void createOrderProduct(AppOrder appOrder, List<String> id) {
-        id.forEach(productId -> {
-            AppOrderProduct appOrderProduct = new AppOrderProduct();
-            appOrderProduct.setOrderId(appOrder.getId())
-                    .setProductId(appOrder.getProductIds())
-                    .setRuleId(productId)
-                    .setCreateBy(appOrder.getCreateBy())
-                    .setUpdateBy(appOrder.getUpdateBy())
-                    .setCreateTime(new Date())
-                    .setUpdateTime(new Date());
-            appOrderProductMapper.insert(appOrderProduct);
-        });
-    }
 
     /**
      * 校验是否为第一次购买当前类目的课程

+ 0 - 182
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppOrderProductController.java

@@ -1,182 +0,0 @@
-package org.jeecg.modules.system.app.controller;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.query.QueryRuleEnum;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.system.app.entity.AppOrderProduct;
-import org.jeecg.modules.system.app.service.IAppOrderProductService;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.extern.slf4j.Slf4j;
-
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
- /**
- * @Description: 订单产品明细
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-@Tag(name="订单产品明细")
-@RestController
-@RequestMapping("/app/appOrderProduct")
-@Slf4j
-public class AppOrderProductController extends JeecgController<AppOrderProduct, IAppOrderProductService> {
-	@Autowired
-	private IAppOrderProductService appOrderProductService;
-	
-	/**
-	 * 分页列表查询
-	 *
-	 * @param appOrderProduct
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-	//@AutoLog(value = "订单产品明细-分页列表查询")
-	@Operation(summary="订单产品明细-分页列表查询")
-	@GetMapping(value = "/list")
-	public Result<IPage<AppOrderProduct>> queryPageList(AppOrderProduct appOrderProduct,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-
-
-        QueryWrapper<AppOrderProduct> queryWrapper = QueryGenerator.initQueryWrapper(appOrderProduct, req.getParameterMap());
-		Page<AppOrderProduct> page = new Page<AppOrderProduct>(pageNo, pageSize);
-		IPage<AppOrderProduct> pageList = appOrderProductService.page(page, queryWrapper);
-		return Result.OK(pageList);
-	}
-	
-	/**
-	 *   添加
-	 *
-	 * @param appOrderProduct
-	 * @return
-	 */
-	@AutoLog(value = "订单产品明细-添加")
-	@Operation(summary="订单产品明细-添加")
-	@RequiresPermissions("org.jeecg.modules.app:nm_order_product:add")
-	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody AppOrderProduct appOrderProduct) {
-		appOrderProductService.save(appOrderProduct);
-
-		return Result.OK("添加成功!");
-	}
-	
-	/**
-	 *  编辑
-	 *
-	 * @param appOrderProduct
-	 * @return
-	 */
-	@AutoLog(value = "订单产品明细-编辑")
-	@Operation(summary="订单产品明细-编辑")
-	@RequiresPermissions("org.jeecg.modules.app:nm_order_product:edit")
-	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody AppOrderProduct appOrderProduct) {
-		appOrderProductService.updateById(appOrderProduct);
-		return Result.OK("编辑成功!");
-	}
-	
-	/**
-	 *   通过id删除
-	 *
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "订单产品明细-通过id删除")
-	@Operation(summary="订单产品明细-通过id删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_order_product:delete")
-	@DeleteMapping(value = "/delete")
-	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		appOrderProductService.removeById(id);
-		return Result.OK("删除成功!");
-	}
-	
-	/**
-	 *  批量删除
-	 *
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "订单产品明细-批量删除")
-	@Operation(summary="订单产品明细-批量删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_order_product:deleteBatch")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.appOrderProductService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("批量删除成功!");
-	}
-	
-	/**
-	 * 通过id查询
-	 *
-	 * @param id
-	 * @return
-	 */
-	//@AutoLog(value = "订单产品明细-通过id查询")
-	@Operation(summary="订单产品明细-通过id查询")
-	@GetMapping(value = "/queryById")
-	public Result<AppOrderProduct> queryById(@RequestParam(name="id",required=true) String id) {
-		AppOrderProduct appOrderProduct = appOrderProductService.getById(id);
-		if(appOrderProduct==null) {
-			return Result.error("未找到对应数据");
-		}
-		return Result.OK(appOrderProduct);
-	}
-
-    /**
-    * 导出excel
-    *
-    * @param request
-    * @param appOrderProduct
-    */
-    @RequiresPermissions("org.jeecg.modules.app:nm_order_product:exportXls")
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AppOrderProduct appOrderProduct) {
-        return super.exportXls(request, appOrderProduct, AppOrderProduct.class, "订单产品明细");
-    }
-
-    /**
-      * 通过excel导入数据
-    *
-    * @param request
-    * @param response
-    * @return
-    */
-    @RequiresPermissions("org.jeecg.modules.app:nm_order_product:importExcel")
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, AppOrderProduct.class);
-    }
-
-}

+ 0 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppOrderDTO.java

@@ -8,7 +8,6 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 import org.jeecg.modules.system.app.entity.AppOrder;
-import org.jeecg.modules.system.app.entity.AppOrderProduct;
 
 import java.util.List;
 
@@ -25,7 +24,6 @@ import java.util.List;
 @Schema(description="订单入参DTO")
 public class AppOrderDTO {
     private AppOrder order;
-    @ArraySchema(schema = @Schema(implementation = AppOrderProduct.class), minItems = 1)
     /**
      * 订单中产品id列表
      */

+ 0 - 77
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppOrderProduct.java

@@ -1,77 +0,0 @@
-package org.jeecg.modules.system.app.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * @Description: 订单产品明细
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-@Data
-@TableName("nm_order_product")
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@Schema(description="订单产品明细")
-public class AppOrderProduct implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-	/**id*/
-	@TableId(type = IdType.ASSIGN_ID)
-    @Schema(description = "id")
-    private String id;
-	/**部门id*/
-	@Excel(name = "部门id", width = 15)
-    @Schema(description = "部门id")
-    private String orgCode;
-	/**订单id*/
-	@Excel(name = "订单id", width = 15)
-    @Schema(description = "订单id")
-    private String orderId;
-	/**产品id;场地/赛事/课程*/
-	@Excel(name = "产品id;场地/赛事/课程", width = 15)
-    @Schema(description = "产品id;场地/赛事/课程")
-    private String productId;
-	/**价格规则id;真正的产品id*/
-	@Excel(name = "价格规则id;真正的产品id", width = 15)
-    @Schema(description = "价格规则id;真正的产品id")
-    private String ruleId;
-	/**创建人;创建人*/
-    @Schema(description = "创建人;创建人")
-    private String createBy;
-	/**创建时间;创建时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @Schema(description = "创建时间;创建时间")
-    private Date createTime;
-	/**更新人;更新人*/
-    @Schema(description = "更新人;更新人")
-    private String updateBy;
-	/**更新时间;更新时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @Schema(description = "更新时间;更新时间")
-    private Date updateTime;
-	/**系统状态;状态(0-正常,1-冻结)*/
-	@Excel(name = "系统状态;状态(0-正常,1-冻结)", width = 15)
-    @Schema(description = "系统状态;状态(0-正常,1-冻结)")
-    private Integer status;
-	/**删除标志;删除状态(0-正常,1-已删除)*/
-	@Excel(name = "删除标志;删除状态(0-正常,1-已删除)", width = 15)
-    @Schema(description = "删除标志;删除状态(0-正常,1-已删除)")
-    @TableLogic
-    private Integer delFlag;
-}

+ 0 - 17
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppOrderProductMapper.java

@@ -1,17 +0,0 @@
-package org.jeecg.modules.system.app.mapper;
-
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.system.app.entity.AppOrderProduct;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * @Description: 订单产品明细
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-public interface AppOrderProductMapper extends BaseMapper<AppOrderProduct> {
-
-}

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppCoursesMapper.xml

@@ -22,7 +22,7 @@
                     product_id,
                     COUNT(id) AS sales
                 FROM
-                    nm_order_product
+                    nm_order_pro_info
                 GROUP BY
                     product_id
             ) d ON a.id = d.product_id WHERE 1 = 1

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppInstructorMapper.xml

@@ -77,7 +77,7 @@
                 LEFT JOIN sys_user b ON a.user_id = b.id
                 LEFT JOIN sys_depart c ON b.org_code = c.org_code
                 LEFT JOIN nm_courses d ON a.user_id = d.user_id
-                LEFT JOIN nm_order_product c2 ON d.user_id = c2.product_id
+                LEFT JOIN nm_order_pro_info c2 ON d.user_id = c2.family_user_id
         WHERE 1=1
         <if test="searchDTO.keyword != null and searchDTO.keyword == ''">
             AND (b.realname LIKE CONCAT('%',#{searchDTO.keyword},'%') OR c.depart_name LIKE CONCAT('%',#{searchDTO.keyword},'%'))

+ 0 - 14
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppOrderProductService.java

@@ -1,14 +0,0 @@
-package org.jeecg.modules.system.app.service;
-
-import org.jeecg.modules.system.app.entity.AppOrderProduct;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * @Description: 订单产品明细
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-public interface IAppOrderProductService extends IService<AppOrderProduct> {
-
-}

+ 0 - 19
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppOrderProductServiceImpl.java

@@ -1,19 +0,0 @@
-package org.jeecg.modules.system.app.service.impl;
-
-import org.jeecg.modules.system.app.entity.AppOrderProduct;
-import org.jeecg.modules.system.app.mapper.AppOrderProductMapper;
-import org.jeecg.modules.system.app.service.IAppOrderProductService;
-import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-/**
- * @Description: 订单产品明细
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-@Service
-public class AppOrderProductServiceImpl extends ServiceImpl<AppOrderProductMapper, AppOrderProduct> implements IAppOrderProductService {
-
-}