diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/controller/TravelThumpupController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/controller/TravelThumpupController.java new file mode 100644 index 0000000..28f993e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/controller/TravelThumpupController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.travelThumpup.controller; + +import java.util.Arrays; +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.util.oConvertUtils; +import org.jeecg.modules.travelThumpup.entity.TravelThumpup; +import org.jeecg.modules.travelThumpup.service.ITravelThumpupService; + +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.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 视频点赞表 + * @Author: jeecg-boot + * @Date: 2024-10-09 + * @Version: V1.0 + */ +@Api(tags="视频点赞表") +@RestController +@RequestMapping("/travelThumpup/travelThumpup") +@Slf4j +public class TravelThumpupController extends JeecgController { + @Autowired + private ITravelThumpupService travelThumpupService; + + /** + * 分页列表查询 + * + * @param travelThumpup + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "视频点赞表-分页列表查询") + @ApiOperation(value="视频点赞表-分页列表查询", notes="视频点赞表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(TravelThumpup travelThumpup, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(travelThumpup, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = travelThumpupService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param travelThumpup + * @return + */ + @AutoLog(value = "视频点赞表-添加") + @ApiOperation(value="视频点赞表-添加", notes="视频点赞表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody TravelThumpup travelThumpup) { + travelThumpupService.save(travelThumpup); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param travelThumpup + * @return + */ + @AutoLog(value = "视频点赞表-编辑") + @ApiOperation(value="视频点赞表-编辑", notes="视频点赞表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody TravelThumpup travelThumpup) { + travelThumpupService.updateById(travelThumpup); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "视频点赞表-通过id删除") + @ApiOperation(value="视频点赞表-通过id删除", notes="视频点赞表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + travelThumpupService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "视频点赞表-批量删除") + @ApiOperation(value="视频点赞表-批量删除", notes="视频点赞表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.travelThumpupService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "视频点赞表-通过id查询") + @ApiOperation(value="视频点赞表-通过id查询", notes="视频点赞表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + TravelThumpup travelThumpup = travelThumpupService.getById(id); + if(travelThumpup==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(travelThumpup); + } + + /** + * 导出excel + * + * @param request + * @param travelThumpup + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, TravelThumpup travelThumpup) { + return super.exportXls(request, travelThumpup, TravelThumpup.class, "视频点赞表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, TravelThumpup.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/entity/TravelThumpup.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/entity/TravelThumpup.java new file mode 100644 index 0000000..bc27542 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/entity/TravelThumpup.java @@ -0,0 +1,60 @@ +package org.jeecg.modules.travelThumpup.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 视频点赞表 + * @Author: jeecg-boot + * @Date: 2024-10-09 + * @Version: V1.0 + */ +@Data +@TableName("travel_thumpup") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="travel_thumpup对象", description="视频点赞表") +public class TravelThumpup implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**点赞视频id*/ + @Excel(name = "点赞视频id", width = 15, dictTable = "travel_video", dicText = "video_title", dicCode = "id") + @Dict(dictTable = "travel_video", dicText = "video_title", dicCode = "id") + @ApiModelProperty(value = "点赞视频id") + private java.lang.String itemId; + /**关联用户id*/ + @Excel(name = "关联用户id", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @ApiModelProperty(value = "关联用户id") + private java.lang.String userId; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/mapper/TravelThumpupMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/mapper/TravelThumpupMapper.java new file mode 100644 index 0000000..9110c73 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/mapper/TravelThumpupMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.travelThumpup.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.travelThumpup.entity.TravelThumpup; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 视频点赞表 + * @Author: jeecg-boot + * @Date: 2024-10-09 + * @Version: V1.0 + */ +public interface TravelThumpupMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/mapper/xml/TravelThumpupMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/mapper/xml/TravelThumpupMapper.xml new file mode 100644 index 0000000..f23b16e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/mapper/xml/TravelThumpupMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/service/ITravelThumpupService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/service/ITravelThumpupService.java new file mode 100644 index 0000000..03904fe --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/service/ITravelThumpupService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.travelThumpup.service; + +import org.jeecg.modules.travelThumpup.entity.TravelThumpup; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 视频点赞表 + * @Author: jeecg-boot + * @Date: 2024-10-09 + * @Version: V1.0 + */ +public interface ITravelThumpupService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/service/impl/TravelThumpupServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/service/impl/TravelThumpupServiceImpl.java new file mode 100644 index 0000000..eccd6c7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/service/impl/TravelThumpupServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.travelThumpup.service.impl; + +import org.jeecg.modules.travelThumpup.entity.TravelThumpup; +import org.jeecg.modules.travelThumpup.mapper.TravelThumpupMapper; +import org.jeecg.modules.travelThumpup.service.ITravelThumpupService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 视频点赞表 + * @Author: jeecg-boot + * @Date: 2024-10-09 + * @Version: V1.0 + */ +@Service +public class TravelThumpupServiceImpl extends ServiceImpl implements ITravelThumpupService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/TravelThumpupList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/TravelThumpupList.vue new file mode 100644 index 0000000..7c6f16e --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/TravelThumpupList.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupForm.vue new file mode 100644 index 0000000..1844346 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupForm.vue @@ -0,0 +1,109 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupModal.Style#Drawer.vue new file mode 100644 index 0000000..cdd2583 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupModal.vue new file mode 100644 index 0000000..4a6d9cc --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue/modules/TravelThumpupModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpup.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpup.api.ts new file mode 100644 index 0000000..b77c632 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpup.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/travelThumpup/travelThumpup/list', + save='/travelThumpup/travelThumpup/add', + edit='/travelThumpup/travelThumpup/edit', + deleteOne = '/travelThumpup/travelThumpup/delete', + deleteBatch = '/travelThumpup/travelThumpup/deleteBatch', + importExcel = '/travelThumpup/travelThumpup/importExcel', + exportXls = '/travelThumpup/travelThumpup/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpup.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpup.data.ts new file mode 100644 index 0000000..4bcc1c7 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpup.data.ts @@ -0,0 +1,39 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '点赞视频id', + align:"center", + dataIndex: 'itemId_dictText' + }, + { + title: '关联用户id', + align:"center", + dataIndex: 'userId_dictText' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '点赞视频id', + field: 'itemId', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"travel_video,video_title,id" + }, + }, + { + label: '关联用户id', + field: 'userId', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"han_hai_member,nick_name,id" + }, + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpupList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpupList.vue new file mode 100644 index 0000000..6dee444 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/TravelThumpupList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/components/TravelThumpupModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/components/TravelThumpupModal.vue new file mode 100644 index 0000000..8f54612 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelThumpup/vue3/components/TravelThumpupModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/controller/TravelWaresOrderController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/controller/TravelWaresOrderController.java index 1dbfbe7..83b7012 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/controller/TravelWaresOrderController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/controller/TravelWaresOrderController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 商品订单表 * @Author: jeecg-boot - * @Date: 2024-10-07 + * @Date: 2024-10-08 * @Version: V1.0 */ @Api(tags="商品订单表") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/entity/TravelWaresOrder.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/entity/TravelWaresOrder.java index e87b131..826f9e2 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/entity/TravelWaresOrder.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/entity/TravelWaresOrder.java @@ -20,7 +20,7 @@ import lombok.experimental.Accessors; /** * @Description: 商品订单表 * @Author: jeecg-boot - * @Date: 2024-10-07 + * @Date: 2024-10-08 * @Version: V1.0 */ @Data diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/mapper/TravelWaresOrderMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/mapper/TravelWaresOrderMapper.java index 3c72ea6..ce0309c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/mapper/TravelWaresOrderMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/mapper/TravelWaresOrderMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 商品订单表 * @Author: jeecg-boot - * @Date: 2024-10-07 + * @Date: 2024-10-08 * @Version: V1.0 */ public interface TravelWaresOrderMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/ITravelWaresOrderService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/ITravelWaresOrderService.java index 6f4cd1f..03a9aaf 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/ITravelWaresOrderService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/ITravelWaresOrderService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 商品订单表 * @Author: jeecg-boot - * @Date: 2024-10-07 + * @Date: 2024-10-08 * @Version: V1.0 */ public interface ITravelWaresOrderService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/impl/TravelWaresOrderServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/impl/TravelWaresOrderServiceImpl.java index 6665b35..e6ff056 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/impl/TravelWaresOrderServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/travelWaresOrder/service/impl/TravelWaresOrderServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 商品订单表 * @Author: jeecg-boot - * @Date: 2024-10-07 + * @Date: 2024-10-08 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java index d3409cf..fa7d337 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/IndexApiController.java @@ -50,15 +50,15 @@ public class IndexApiController { //根据角色id获取视频列表带分页 @ApiOperation(value="首页-根据角色id获取视频列表", notes="首页-根据角色id获取视频列表") @RequestMapping(value = "/queryVedioById", method = {RequestMethod.GET}) - public Result queryVedioById(String roleInfoId, PageBean pageBean){ - return indexApiService.queryVedioById(roleInfoId, pageBean); + public Result queryVedioById(String token, String roleInfoId, PageBean pageBean){ + return indexApiService.queryVedioById(token, roleInfoId, pageBean); } //根据id给视频点赞 @ApiOperation(value="首页-根据id给视频点赞", notes="首页-根据id给视频点赞") @RequestMapping(value = "/addThumpup", method = {RequestMethod.POST}) - public Result addThumpup(String videoId){ - return indexApiService.addThumpup(videoId); + public Result addThumpup(@RequestHeader("X-Access-Token") String token, String videoId){ + return indexApiService.addThumpup(token, videoId); } @@ -103,8 +103,8 @@ public class IndexApiController { //根据角色id获取角色信息详情 @ApiOperation(value="遗产讲述&&达人同游&&我要跟拍-根据角色Id获取角色信息详情", notes="遗产讲述/达人同游/我要更拍-根据角色Id获取角色信息详情") @RequestMapping(value = "/queryRoleInfoById", method = {RequestMethod.GET}) - public Result queryRoleInfoById(String roleInfoId){ - return indexApiService.queryRoleInfoById(roleInfoId); + public Result queryRoleInfoById(String token, String roleInfoId){ + return indexApiService.queryRoleInfoById(token, roleInfoId); } /**************遗产路径/我要研学*********************/ @@ -118,8 +118,8 @@ public class IndexApiController { //遗产路径/我要研学详情 @ApiOperation(value="遗产路径&&我要研学列表-根据id获取游玩项目详情", notes="遗产路径/我要研学列表-根据id获取游玩项目详情") @RequestMapping(value = "/queryAmusementById", method = {RequestMethod.GET}) - public Result queryAmusementById(String amusementId){ - return indexApiService.queryAmusementById(amusementId); + public Result queryAmusementById(String token, String amusementId){ + return indexApiService.queryAmusementById(token, amusementId); } /**************非遗体验*********************/ @@ -133,8 +133,8 @@ public class IndexApiController { //非遗体验详情 @ApiOperation(value="非遗体验-根据id获取非遗体验详情", notes="非遗体验-根据id获取非遗体验详情") @RequestMapping(value = "/queryExperienceById", method = {RequestMethod.GET}) - public Result queryExperienceById(String experienceId){ - return indexApiService.queryExperienceById(experienceId); + public Result queryExperienceById(String token, String experienceId){ + return indexApiService.queryExperienceById(token, experienceId); } /**************文创好物*********************/ @@ -155,8 +155,8 @@ public class IndexApiController { //查询文创好物订单信息 @ApiOperation(value="文创好物-查询文创好物订单列表", notes="文创好物-查询文创好物订单列表") @RequestMapping(value = "/queryWaresOrderList", method = {RequestMethod.GET}) - public Result queryWaresOrderList(@RequestHeader("X-Access-Token") String token, PageBean pageBean){ - return indexApiService.queryWaresOrderList(token, pageBean); + public Result queryWaresOrderList(@RequestHeader("X-Access-Token") String token, String status, PageBean pageBean){ + return indexApiService.queryWaresOrderList(token, status, pageBean); } //创建文创好物订单 @@ -189,6 +189,13 @@ public class IndexApiController { return indexApiService.querySpotList(areaId, categoryId, pageBean); } + //根据id获取地点详情 + @ApiOperation(value="导览-根据id获取地点详情", notes="导览-根据id获取地点详情") + @RequestMapping(value = "/querySpotById", method = {RequestMethod.GET}) + public Result querySpotById(String spotId){ + return indexApiService.querySpotById(spotId); + } + //语音播放 @ApiOperation(value="小程序-语音播放", notes="小程序-语音播放") @RequestMapping(value = "/textToAudio", method = {RequestMethod.GET}) diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/AmusementApiBean.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/AmusementApiBean.java new file mode 100644 index 0000000..4204843 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/AmusementApiBean.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.apiBean; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.modules.travelAmusement.entity.TravelAmusement; + +@Data +public class AmusementApiBean { + @ApiModelProperty(value = "是否被收藏标识:true-是 false-否" ) + private Boolean collectonFlag; + + TravelAmusement travelAmusement; + + public AmusementApiBean(Boolean collectonFlag) { + this.collectonFlag = collectonFlag; + } + + public AmusementApiBean() { + this.collectonFlag = false; + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/ExperienceApiBean.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/ExperienceApiBean.java new file mode 100644 index 0000000..478f8e8 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/ExperienceApiBean.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.apiBean; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.modules.travelExperience.entity.TravelExperience; + +@Data +public class ExperienceApiBean { + @ApiModelProperty(value = "是否被收藏标识:true-是 false-否" ) + private Boolean collectonFlag; + + TravelExperience travelExperience; + + public ExperienceApiBean(Boolean collectonFlag) { + this.collectonFlag = collectonFlag; + } + + public ExperienceApiBean() { + this.collectonFlag = false; + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/RoleInfoApiBean.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/RoleInfoApiBean.java new file mode 100644 index 0000000..b8bf613 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/RoleInfoApiBean.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.apiBean; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.modules.travelRoleInfo.entity.TravelRoleInfo; + +@Data +public class RoleInfoApiBean { + @ApiModelProperty(value = "是否被收藏标识:true-是 false-否" ) + private Boolean collectonFlag; + + TravelRoleInfo travelRoleInfo; + + public RoleInfoApiBean(Boolean collectonFlag) { + this.collectonFlag = collectonFlag; + } + + public RoleInfoApiBean() { + this.collectonFlag = false; + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/VideoApiBean.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/VideoApiBean.java new file mode 100644 index 0000000..ebe402d --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiBean/VideoApiBean.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.apiBean; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecg.modules.travelVideo.entity.TravelVideo; + +@Data +public class VideoApiBean { + @ApiModelProperty(value = "视频是否点赞标识:true-是 false-否" ) + private Boolean thumpupFlag; + + TravelVideo travelVideo; + + public VideoApiBean(Boolean thumpupFlag) { + this.thumpupFlag = thumpupFlag; + } + + public VideoApiBean() { + this.thumpupFlag = false; + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java index f51998f..34cd771 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/IndexApiService.java @@ -22,7 +22,7 @@ public interface IndexApiService { public Result queryVideoList(PageBean pageBean); //根据id给视频点赞 - public Result addThumpup(String videoId); + public Result addThumpup(String token, String videoId); //获取文章列表-申遗历程/非遗体验 public Result queryArticleList(PageBean pageBean); @@ -45,26 +45,29 @@ public interface IndexApiService { //根据景区id获取该景区下的地点列表-景点/厕所/美食店铺/民宿 public Result querySpotList(String areaId, String categoryId, PageBean pageBean); + //根据id获取地点详情 + public Result querySpotById(String spotId); + //根据角色类型获取角色信息列表-讲解员/达人/摄影师 public Result queryRoleInfoList(String roleType, String level, String spot, PageBean pageBean); //根据角色id获取角色信息详情 - public Result queryRoleInfoById(String roleInfoId); + public Result queryRoleInfoById(String token, String roleInfoId); //根据角色id获取视频列表 - public Result queryVedioById(String roleInfoId, PageBean pageBean); + public Result queryVedioById(String token, String roleInfoId, PageBean pageBean); //获取视遗产路径/我要研学列表 public Result queryAmusementList(String amusementType, String isPay, PageBean pageBean); //根据id获取视遗产路径/我要研学详情 - public Result queryAmusementById(String amusementId); + public Result queryAmusementById(String token, String amusementId); //非遗体验列表 public Result queryExperienceList(PageBean pageBean); //非遗体验详情 - public Result queryExperienceById(String experienceId); + public Result queryExperienceById(String token, String experienceId); //我的收藏列表 public Result queryCollectionList(String token, String collectionType, PageBean pageBean); @@ -100,7 +103,7 @@ public interface IndexApiService { Result addOrder(String token, TravelOrder travelOrder); //查询文创好物订单列表 - public Result queryWaresOrderList(String token, PageBean pageBean); + public Result queryWaresOrderList(String token, String status, PageBean pageBean); //创建创好物订单 public Result addWaresOrder(String token, TravelWaresOrder travelWaresOrder); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java index 14ddde4..1657ef6 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/IndexApiServiceImpl.java @@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; -import org.jeecg.modules.apiBean.PageBean; -import org.jeecg.modules.apiBean.ShopcarApiBean; -import org.jeecg.modules.apiBean.WaresOrderApiBean; +import org.jeecg.modules.apiBean.*; import org.jeecg.modules.apiService.IndexApiService; import org.jeecg.modules.apiUtils.TxtToSoundUtils; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; @@ -38,6 +36,8 @@ import org.jeecg.modules.travelShopcar.entity.TravelShopcar; import org.jeecg.modules.travelShopcar.service.ITravelShopcarService; import org.jeecg.modules.travelSpot.entity.TravelSpot; import org.jeecg.modules.travelSpot.service.ITravelSpotService; +import org.jeecg.modules.travelThumpup.entity.TravelThumpup; +import org.jeecg.modules.travelThumpup.service.ITravelThumpupService; import org.jeecg.modules.travelTime.entity.TravelTime; import org.jeecg.modules.travelTime.service.ITravelTimeService; import org.jeecg.modules.travelVideo.entity.TravelVideo; @@ -91,6 +91,9 @@ public class IndexApiServiceImpl implements IndexApiService { //视频表 @Resource private ITravelVideoService travelVideoService; + //视频点赞表 + @Resource + private ITravelThumpupService travelThumpupService; //游玩项目表 @Resource private ITravelAmusementService travelAmusementService; @@ -228,16 +231,56 @@ public class IndexApiServiceImpl implements IndexApiService { //根据id给视频点赞 @Override - public Result addThumpup(String videoId) { + public Result addThumpup(String token, String videoId) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + + //视频表点赞标识 + boolean flag = false; + //视频关联表点赞标识 + boolean thumpupFlag = false; + //返回信息 + String successMessage = "视频点赞/取消点赞失败!"; + String errorMessage = "视频点赞/取消点赞失败!"; + + //视频表增减点赞数量 TravelVideo video = queryVideoById(videoId); - int newThumpup = video.getVideoThumpup() + 1; + int newThumpup = video.getVideoThumpup(); + + //视频点赞表增减数据 + //查询该用户是否给该视频点过赞 + TravelThumpup thumpup = travelThumpupService + .lambdaQuery() + .eq(TravelThumpup::getUserId, hanHaiMember.getId()) + .eq(TravelThumpup::getItemId, videoId) + .one(); + + //判断是点赞还是取消点赞 + if(null != thumpup){ + //取消点赞 + newThumpup -= 1; + //视频点赞表取消关联 + thumpupFlag = travelThumpupService.removeById(thumpup.getId()); + successMessage = "取消点赞成功"; + errorMessage = "取消点赞失败"; + }else { + //点赞 + newThumpup += 1; + //视频点赞表添加关联 + TravelThumpup entity = new TravelThumpup(); + entity.setUserId(hanHaiMember.getId()); + entity.setItemId(videoId); + thumpupFlag = travelThumpupService.save(entity); + successMessage = "点赞成功"; + errorMessage = "点赞失败"; + } + video.setVideoThumpup(newThumpup); + flag = travelVideoService.saveOrUpdate(video); - boolean flag = travelVideoService.saveOrUpdate(video); - if(flag){ - return Result.OK("点赞成功!"); + if(flag && thumpupFlag){ + return Result.OK(successMessage); }else { - return Result.OK("点赞失败!"); + return Result.OK(errorMessage); } } @@ -379,6 +422,19 @@ public class IndexApiServiceImpl implements IndexApiService { return Result.OK("景点列表", pageList); } + //根据id获取地点详情 + @Override + public Result querySpotById(String spotId) { + + TravelSpot spot = travelSpotService + .lambdaQuery() + .eq(TravelSpot::getId, spotId) + .one(); + + return Result.OK("地点详情", spot); + } + + //根据角色类型获取角色信息列表 @Override public Result queryRoleInfoList(String roleId, String level, String spot, PageBean pageBean) { @@ -440,37 +496,105 @@ public class IndexApiServiceImpl implements IndexApiService { //根据角色id获取角色详情 @Override - public Result queryRoleInfoById(String roleInfoId) { - TravelRoleInfo one = travelRoleInfoService + public Result queryRoleInfoById(String token, String roleInfoId) { + + //获取角色详情 + TravelRoleInfo roleInfo = travelRoleInfoService .lambdaQuery() .eq(TravelRoleInfo::getId, roleInfoId) .one(); - return Result.OK("角色详情", one); + //如果用户是登录状态,查询该用户的收藏列表 + List collectionList = null; + if(null != token){ + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + collectionList = travelCollectionService + .lambdaQuery() + .eq(TravelCollection::getUserId, hanHaiMember.getId()) + .list(); + } + + //判断该项目是否被用户收藏 + boolean collectionFlag = false; + if(null != collectionList){ + for (TravelCollection collection : collectionList) { + if(roleInfo.getId() .equals(collection.getItemId())){ + collectionFlag = true; + break; + } + } + } + + RoleInfoApiBean roleInfoApiBean = new RoleInfoApiBean(); + roleInfoApiBean.setCollectonFlag(collectionFlag); + roleInfoApiBean.setTravelRoleInfo(roleInfo); + + + return Result.OK("角色详情", roleInfoApiBean); } //获取视频列表 @Override - public Result queryVedioById(String roleInfoId, PageBean pageBean) { + public Result queryVedioById(String token, String roleInfoId, PageBean pageBean) { + //如果用户是登录状态,查询该用户的点赞列表 + List thumpupList = null; + if(null != token){ + //HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + thumpupList = travelThumpupService + .lambdaQuery() + //.eq(TravelThumpup::getUserId, hanHaiMember.getId()) + .eq(TravelThumpup::getUserId, "1840352149516304385") + .list(); + } - Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); - Page pageList; +// Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); +// Page pageList; +// +// if(null != roleInfoId){ +// pageList = travelVideoService +// .lambdaQuery() +// .eq(TravelVideo::getCreateBy, roleInfoId) +// .orderByDesc(TravelVideo::getCreateTime) +// .page(page); +// }else { +// pageList = travelVideoService +// .lambdaQuery() +// .orderByDesc(TravelVideo::getCreateTime) +// .page(page); +// } + //查询视频列表 + List videoList; if(null != roleInfoId){ - pageList = travelVideoService + videoList = travelVideoService .lambdaQuery() .eq(TravelVideo::getCreateBy, roleInfoId) .orderByDesc(TravelVideo::getCreateTime) - .page(page); + .list(); }else { - pageList = travelVideoService + videoList = travelVideoService .lambdaQuery() .orderByDesc(TravelVideo::getCreateTime) - .page(page); + .list(); } + List videoApiBeanList = new ArrayList<>(); + //判断视频是否被用户点赞(时间复杂度比较大,需优化) + for (TravelVideo video : videoList) { + VideoApiBean videoApiBean = new VideoApiBean(); + boolean thumpupFlag = false; + for (TravelThumpup thumpup : thumpupList) { + if(video.getId().equals(thumpup.getItemId())){ + thumpupFlag = true; + break; + } + } + videoApiBean.setThumpupFlag(thumpupFlag); + videoApiBean.setTravelVideo(video); + videoApiBeanList.add(videoApiBean); + } - return Result.OK("视频列表", pageList); + return Result.OK("视频列表", videoApiBeanList); } //获取游玩项目列表 @@ -507,13 +631,39 @@ public class IndexApiServiceImpl implements IndexApiService { //获取游玩项目详情 @Override - public Result queryAmusementById(String amusementId) { - TravelAmusement one = travelAmusementService + public Result queryAmusementById(String token, String amusementId) { + //查看游玩项目详情 + TravelAmusement amusement = travelAmusementService .lambdaQuery() .eq(TravelAmusement::getId, amusementId) .one(); - return Result.OK("游玩项目详情", one); + //如果用户是登录状态,查询该用户的收藏列表 + List collectionList = null; + if(null != token){ + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + collectionList = travelCollectionService + .lambdaQuery() + .eq(TravelCollection::getUserId, hanHaiMember.getId()) + .list(); + } + + //判断该项目是否被用户收藏 + boolean collectionFlag = false; + if(null != collectionList){ + for (TravelCollection collection : collectionList) { + if(amusement.getId() .equals(collection.getItemId())){ + collectionFlag = true; + break; + } + } + } + + AmusementApiBean amusementApiBean = new AmusementApiBean(); + amusementApiBean.setCollectonFlag(collectionFlag); + amusementApiBean.setTravelAmusement(amusement); + + return Result.OK("游玩项目详情", amusementApiBean); } //获取非遗体验列表 @@ -530,14 +680,40 @@ public class IndexApiServiceImpl implements IndexApiService { //获取非遗体验详情 @Override - public Result queryExperienceById(String experienceId) { + public Result queryExperienceById(String token, String experienceId) { - TravelExperience one = travelExperienceService + //查看非遗体验详情 + TravelExperience experience = travelExperienceService .lambdaQuery() .eq(TravelExperience::getId, experienceId) .one(); - return Result.OK("非遗体验详情", one); + //如果用户是登录状态,查询该用户的收藏列表 + List collectionList = null; + if(null != token){ + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + collectionList = travelCollectionService + .lambdaQuery() + .eq(TravelCollection::getUserId, hanHaiMember.getId()) + .list(); + } + + //判断该项目是否被用户收藏 + boolean collectionFlag = false; + if(null != collectionList){ + for (TravelCollection collection : collectionList) { + if(experience.getId() .equals(collection.getItemId())){ + collectionFlag = true; + break; + } + } + } + + ExperienceApiBean experienceApiBean = new ExperienceApiBean(); + experienceApiBean.setCollectonFlag(collectionFlag); + experienceApiBean.setTravelExperience(experience); + + return Result.OK("非遗体验详情", experienceApiBean); } //获取我的收藏列表 @@ -909,15 +1085,25 @@ public class IndexApiServiceImpl implements IndexApiService { //获取文创好物订单列表 @Override - public Result queryWaresOrderList(String token, PageBean pageBean) { - //HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + public Result queryWaresOrderList(String token, String status, PageBean pageBean) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); List waresOrderApiBeans = new ArrayList<>(); - List travelWaresOrders = travelWaresOrderService - .lambdaQuery() - //.eq(TravelWaresOrder::getUserId, hanHaiMember.getId()) - .list(); + List travelWaresOrders = null; + if(null != status){ + travelWaresOrders = travelWaresOrderService + .lambdaQuery() + .eq(TravelWaresOrder::getUserId, hanHaiMember.getId()) + .eq(TravelWaresOrder::getStatus, status) + .list(); + }else{ + travelWaresOrders = travelWaresOrderService + .lambdaQuery() + .eq(TravelWaresOrder::getUserId, hanHaiMember.getId()) + .list(); + } + for (TravelWaresOrder travelWaresOrder : travelWaresOrders) { WaresOrderApiBean waresOrderApiBean = new WaresOrderApiBean(); @@ -1084,6 +1270,7 @@ public class IndexApiServiceImpl implements IndexApiService { return Result.OK("添加购物车失败!"); } }else { + travelShopcar.setUserId(hanHaiMember.getId()); boolean flag = travelShopcarService.save(travelShopcar); if(flag){ return Result.OK("添加购物车成功!"); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/TxtToSoundUtils.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/TxtToSoundUtils.java index 7d7854d..c9a1f9f 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/TxtToSoundUtils.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiUtils/TxtToSoundUtils.java @@ -32,34 +32,34 @@ public class TxtToSoundUtils { // 执行朗读 Dispatch.call(spVoice, "Speak", new Variant(text)); - // 下面是构建文件流把生成语音文件 - ax = new ActiveXComponent("Sapi.SpFileStream"); - Dispatch spFileStream = ax.getObject(); - - ax = new ActiveXComponent("Sapi.SpAudioFormat"); - Dispatch spAudioFormat = ax.getObject(); - - // 设置音频流格式 - Dispatch.put(spAudioFormat, "Type", new Variant(22)); - // 设置文件输出流格式 - Dispatch.putRef(spFileStream, "Format", spAudioFormat); - // 调用输出 文件流打开方法,创建一个.wav文件 - Dispatch.call(spFileStream, "Open", new Variant("D:\\File\\TestFile.wav"), new Variant(3), new Variant(true)); - // 设置声音对象的音频输出流为输出文件对象 - Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream); - // 设置音量 0到100 - Dispatch.put(spVoice, "Volume", new Variant(100)); - // 设置朗读速度 - Dispatch.put(spVoice, "Rate", new Variant(-2)); - // 开始朗读 - Dispatch.call(spVoice, "Speak", new Variant(text)); - - // 关闭输出文件 - Dispatch.call(spFileStream, "Close"); - Dispatch.putRef(spVoice, "AudioOutputStream", null); - - spAudioFormat.safeRelease(); - spFileStream.safeRelease(); +// // 下面是构建文件流把生成语音文件 +// ax = new ActiveXComponent("Sapi.SpFileStream"); +// Dispatch spFileStream = ax.getObject(); +// +// ax = new ActiveXComponent("Sapi.SpAudioFormat"); +// Dispatch spAudioFormat = ax.getObject(); +// +// // 设置音频流格式 +// Dispatch.put(spAudioFormat, "Type", new Variant(22)); +// // 设置文件输出流格式 +// Dispatch.putRef(spFileStream, "Format", spAudioFormat); +// // 调用输出 文件流打开方法,创建一个.wav文件 +// Dispatch.call(spFileStream, "Open", new Variant("D:\\File\\TestFile.wav"), new Variant(3), new Variant(true)); +// // 设置声音对象的音频输出流为输出文件对象 +// Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream); +// // 设置音量 0到100 +// Dispatch.put(spVoice, "Volume", new Variant(100)); +// // 设置朗读速度 +// Dispatch.put(spVoice, "Rate", new Variant(-2)); +// // 开始朗读 +// Dispatch.call(spVoice, "Speak", new Variant(text)); +// +// // 关闭输出文件 +// Dispatch.call(spFileStream, "Close"); +// Dispatch.putRef(spVoice, "AudioOutputStream", null); +// +// spAudioFormat.safeRelease(); +// spFileStream.safeRelease(); spVoice.safeRelease(); ax.safeRelease();