diff --git a/admin-hanhai-vue/.env.development b/admin-hanhai-vue/.env.development index 04b079a..81e39b9 100644 --- a/admin-hanhai-vue/.env.development +++ b/admin-hanhai-vue/.env.development @@ -1,7 +1,7 @@ -NODE_ENV=development -VUE_APP_API_BASE_URL=http://localhost:8000/api/ -VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas -VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview - -# 微应用列表必须VUE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径 -VUE_APP_SUB_jeecg-app-1 = '//localhost:8092' +NODE_ENV=development +VUE_APP_API_BASE_URL=http://localhost:8001/api/ +VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas +VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview + +# 微应用列表必须VUE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径 +VUE_APP_SUB_jeecg-app-1 = '//localhost:8092' diff --git a/admin-hanhai-vue/.env.production b/admin-hanhai-vue/.env.production index 1a0bed9..f7618ae 100644 --- a/admin-hanhai-vue/.env.production +++ b/admin-hanhai-vue/.env.production @@ -1,4 +1,4 @@ -NODE_ENV=production -VUE_APP_API_BASE_URL=http://localhost:8000/api/ -VUE_APP_CAS_BASE_URL=http://localhost:8888/cas +NODE_ENV=production +VUE_APP_API_BASE_URL=http://localhost:8001/api/ +VUE_APP_CAS_BASE_URL=http://localhost:8888/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview \ No newline at end of file diff --git a/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java b/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java index 420e44d..c090a1c 100644 --- a/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java +++ b/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java @@ -96,12 +96,12 @@ public class MpWxPayService { request.setDetail(productName); //商品详情 request.setTotalFee(price); //总金额|分计 request.setSpbillCreateIp(clientIp); //终端IP - request.setNotifyUrl(wxPay.notifyUrl);//设置回调路径 + request.setNotifyUrl("https://admin.hhlm1688.com/api/order/payNotify");//设置回调路径 request.setProductId(productId); //商品id request.setOpenid(openId); //JSAPI OPENID if (dev){ request.setTotalFee(price); - request.setNotifyUrl(wxPay.notifyUrlDev); + request.setNotifyUrl("https://admin.hhlm1688.com/api/order/payNotify"); } try { Object order = wxPayService.createOrder(request); diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/controller/CityMoneyLogController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/controller/CityMoneyLogController.java new file mode 100644 index 0000000..c22493b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/controller/CityMoneyLogController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.cityMoneyLog.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.cityMoneyLog.entity.CityMoneyLog; +import org.jeecg.modules.cityMoneyLog.service.ICityMoneyLogService; + +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-12-04 + * @Version: V1.0 + */ +@Api(tags="佣金流水") +@RestController +@RequestMapping("/cityMoneyLog/cityMoneyLog") +@Slf4j +public class CityMoneyLogController extends JeecgController { + @Autowired + private ICityMoneyLogService cityMoneyLogService; + + /** + * 分页列表查询 + * + * @param cityMoneyLog + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "佣金流水-分页列表查询") + @ApiOperation(value="佣金流水-分页列表查询", notes="佣金流水-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(CityMoneyLog cityMoneyLog, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(cityMoneyLog, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = cityMoneyLogService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param cityMoneyLog + * @return + */ + @AutoLog(value = "佣金流水-添加") + @ApiOperation(value="佣金流水-添加", notes="佣金流水-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody CityMoneyLog cityMoneyLog) { + cityMoneyLogService.save(cityMoneyLog); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param cityMoneyLog + * @return + */ + @AutoLog(value = "佣金流水-编辑") + @ApiOperation(value="佣金流水-编辑", notes="佣金流水-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody CityMoneyLog cityMoneyLog) { + cityMoneyLogService.updateById(cityMoneyLog); + 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) { + cityMoneyLogService.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.cityMoneyLogService.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) { + CityMoneyLog cityMoneyLog = cityMoneyLogService.getById(id); + if(cityMoneyLog==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(cityMoneyLog); + } + + /** + * 导出excel + * + * @param request + * @param cityMoneyLog + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, CityMoneyLog cityMoneyLog) { + return super.exportXls(request, cityMoneyLog, CityMoneyLog.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, CityMoneyLog.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/entity/CityMoneyLog.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/entity/CityMoneyLog.java new file mode 100644 index 0000000..d3a8355 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/entity/CityMoneyLog.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.cityMoneyLog.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-12-04 + * @Version: V1.0 + */ +@Data +@TableName("city_money_log") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="city_money_log对象", description="佣金流水") +public class CityMoneyLog 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; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + /**金额*/ + @Excel(name = "金额", width = 15) + @ApiModelProperty(value = "金额") + private java.math.BigDecimal intger; + /**用户*/ + @Excel(name = "用户", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @ApiModelProperty(value = "用户") + private java.lang.String userId; + /**类型0获得1消耗*/ + @Excel(name = "类型0获得1消耗", width = 15) + @ApiModelProperty(value = "类型0获得1消耗") + private java.lang.Integer type; + /**名称*/ + @Excel(name = "名称", width = 15) + @ApiModelProperty(value = "名称") + private java.lang.String title; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/mapper/CityMoneyLogMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/mapper/CityMoneyLogMapper.java new file mode 100644 index 0000000..24a7d0b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/mapper/CityMoneyLogMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.cityMoneyLog.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.cityMoneyLog.entity.CityMoneyLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 佣金流水 + * @Author: jeecg-boot + * @Date: 2024-12-04 + * @Version: V1.0 + */ +public interface CityMoneyLogMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/mapper/xml/CityMoneyLogMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/mapper/xml/CityMoneyLogMapper.xml new file mode 100644 index 0000000..c9765af --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/mapper/xml/CityMoneyLogMapper.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/cityMoneyLog/service/ICityMoneyLogService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/service/ICityMoneyLogService.java new file mode 100644 index 0000000..120c948 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/service/ICityMoneyLogService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.cityMoneyLog.service; + +import org.jeecg.modules.cityMoneyLog.entity.CityMoneyLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 佣金流水 + * @Author: jeecg-boot + * @Date: 2024-12-04 + * @Version: V1.0 + */ +public interface ICityMoneyLogService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/service/impl/CityMoneyLogServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/service/impl/CityMoneyLogServiceImpl.java new file mode 100644 index 0000000..42bf87b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/service/impl/CityMoneyLogServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.cityMoneyLog.service.impl; + +import org.jeecg.modules.cityMoneyLog.entity.CityMoneyLog; +import org.jeecg.modules.cityMoneyLog.mapper.CityMoneyLogMapper; +import org.jeecg.modules.cityMoneyLog.service.ICityMoneyLogService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 佣金流水 + * @Author: jeecg-boot + * @Date: 2024-12-04 + * @Version: V1.0 + */ +@Service +public class CityMoneyLogServiceImpl extends ServiceImpl implements ICityMoneyLogService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/CityMoneyLogList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/CityMoneyLogList.vue new file mode 100644 index 0000000..2d43070 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/CityMoneyLogList.vue @@ -0,0 +1,190 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogForm.vue new file mode 100644 index 0000000..2a87e24 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogForm.vue @@ -0,0 +1,119 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogModal.Style#Drawer.vue new file mode 100644 index 0000000..2e89754 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogModal.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/cityMoneyLog/vue/modules/CityMoneyLogModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogModal.vue new file mode 100644 index 0000000..f1f603a --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue/modules/CityMoneyLogModal.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/cityMoneyLog/vue3/CityMoneyLog.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/CityMoneyLog.api.ts new file mode 100644 index 0000000..f67adb1 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/CityMoneyLog.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/cityMoneyLog/cityMoneyLog/list', + save='/cityMoneyLog/cityMoneyLog/add', + edit='/cityMoneyLog/cityMoneyLog/edit', + deleteOne = '/cityMoneyLog/cityMoneyLog/delete', + deleteBatch = '/cityMoneyLog/cityMoneyLog/deleteBatch', + importExcel = '/cityMoneyLog/cityMoneyLog/importExcel', + exportXls = '/cityMoneyLog/cityMoneyLog/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/cityMoneyLog/vue3/CityMoneyLog.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/CityMoneyLog.data.ts new file mode 100644 index 0000000..41b832b --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/CityMoneyLog.data.ts @@ -0,0 +1,56 @@ +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: '金额', + align:"center", + dataIndex: 'intger' + }, + { + title: '用户', + align:"center", + dataIndex: 'userId_dictText' + }, + { + title: '类型0获得1消耗', + align:"center", + dataIndex: 'type' + }, + { + title: '名称', + align:"center", + dataIndex: 'title' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '金额', + field: 'intger', + component: 'InputNumber', + }, + { + label: '用户', + field: 'userId', + component: 'JSearchSelect', + componentProps:{ + dict:"han_hai_member,nick_name,id" + }, + }, + { + label: '类型0获得1消耗', + field: 'type', + component: 'InputNumber', + }, + { + label: '名称', + field: 'title', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/CityMoneyLogList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/CityMoneyLogList.vue new file mode 100644 index 0000000..c16b600 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/CityMoneyLogList.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/cityMoneyLog/vue3/components/CityMoneyLogModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/components/CityMoneyLogModal.vue new file mode 100644 index 0000000..2e5c427 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/cityMoneyLog/vue3/components/CityMoneyLogModal.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/commonHome/controller/CommonHomeController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/controller/CommonHomeController.java new file mode 100644 index 0000000..54d0c12 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/controller/CommonHomeController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.commonHome.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.commonHome.entity.CommonHome; +import org.jeecg.modules.commonHome.service.ICommonHomeService; + +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-12-03 + * @Version: V1.0 + */ +@Api(tags="房源信息表") +@RestController +@RequestMapping("/commonHome/commonHome") +@Slf4j +public class CommonHomeController extends JeecgController { + @Autowired + private ICommonHomeService commonHomeService; + + /** + * 分页列表查询 + * + * @param commonHome + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "房源信息表-分页列表查询") + @ApiOperation(value="房源信息表-分页列表查询", notes="房源信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(CommonHome commonHome, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(commonHome, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = commonHomeService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param commonHome + * @return + */ + @AutoLog(value = "房源信息表-添加") + @ApiOperation(value="房源信息表-添加", notes="房源信息表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody CommonHome commonHome) { + commonHomeService.save(commonHome); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param commonHome + * @return + */ + @AutoLog(value = "房源信息表-编辑") + @ApiOperation(value="房源信息表-编辑", notes="房源信息表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody CommonHome commonHome) { + commonHomeService.updateById(commonHome); + 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) { + commonHomeService.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.commonHomeService.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) { + CommonHome commonHome = commonHomeService.getById(id); + if(commonHome==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(commonHome); + } + + /** + * 导出excel + * + * @param request + * @param commonHome + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, CommonHome commonHome) { + return super.exportXls(request, commonHome, CommonHome.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, CommonHome.class); + } + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/entity/CommonHome.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/entity/CommonHome.java new file mode 100644 index 0000000..3108dff --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/entity/CommonHome.java @@ -0,0 +1,224 @@ +package org.jeecg.modules.commonHome.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-12-03 + * @Version: V1.0 + */ +@Data +@TableName("common_home") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="common_home对象", description="房源信息表") +public class CommonHome 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; + /**图片*/ + @Excel(name = "图片", width = 15) + @ApiModelProperty(value = "图片") + private java.lang.String image; + /**标题*/ + @Excel(name = "标题", width = 15) + @ApiModelProperty(value = "标题") + private java.lang.String title; + /**分类标识*/ + @Excel(name = "分类标识", width = 15, dictTable = "common_class", dicText = "title", dicCode = "id") + @Dict(dictTable = "common_class", dicText = "title", dicCode = "id") + @ApiModelProperty(value = "分类标识") + private java.lang.String classId; + /**左上角图标*/ + @Excel(name = "左上角图标", width = 15) + @ApiModelProperty(value = "左上角图标") + private java.lang.String iconImage; + /**标签*/ + @Excel(name = "标签", width = 15) + @ApiModelProperty(value = "标签") + private java.lang.String iconTitle; + /**价格*/ + @Excel(name = "价格", width = 15) + @ApiModelProperty(value = "价格") + private java.math.BigDecimal price; + /**单位*/ + @Excel(name = "单位", width = 15) + @ApiModelProperty(value = "单位") + private java.lang.String unit; + /**地址*/ + @Excel(name = "地址", width = 15) + @ApiModelProperty(value = "地址") + private java.lang.String address; + /**浏览量*/ + @Excel(name = "浏览量", width = 15) + @ApiModelProperty(value = "浏览量") + private java.lang.Integer num; + /**年限*/ + @Excel(name = "年限", width = 15) + @ApiModelProperty(value = "年限") + private java.lang.Integer timeGo; + /**热点名称*/ + @Excel(name = "热点名称", width = 15) + @ApiModelProperty(value = "热点名称") + private java.lang.String iconName; + /**所属分类*/ + @Excel(name = "所属分类", width = 15, dictTable = "common_icon_image", dicText = "title", dicCode = "id") + @Dict(dictTable = "common_icon_image", dicText = "title", dicCode = "id") + @ApiModelProperty(value = "所属分类") + private java.lang.String commonClass; + /**视频*/ + @Excel(name = "视频", width = 15) + @ApiModelProperty(value = "视频") + private java.lang.String homeMp4; + /**户型*/ + @Excel(name = "户型", width = 15) + @ApiModelProperty(value = "户型") + private java.lang.String homeType; + /**面积*/ + @Excel(name = "面积", width = 15) + @ApiModelProperty(value = "面积") + private java.lang.String homeMi; + /**房屋结构*/ + @Excel(name = "房屋结构", width = 15) + @ApiModelProperty(value = "房屋结构") + private java.lang.String homeJg; + /**房屋编号*/ + @Excel(name = "房屋编号", width = 15) + @ApiModelProperty(value = "房屋编号") + private java.lang.String homeNo; + /**房屋周边*/ + @Excel(name = "房屋周边", width = 15) + @ApiModelProperty(value = "房屋周边") + private java.lang.String homeBian; + /**房间数量*/ + @Excel(name = "房间数量", width = 15) + @ApiModelProperty(value = "房间数量") + private java.lang.String homeNum; + /**菜地*/ + @Excel(name = "菜地", width = 15) + @ApiModelProperty(value = "菜地") + private java.lang.String homeCai; + /**距离场镇距离*/ + @Excel(name = "距离场镇距离", width = 15) + @ApiModelProperty(value = "距离场镇距离") + private java.lang.String homeJl; + /**距离成都西三环*/ + @Excel(name = "距离成都西三环", width = 15) + @ApiModelProperty(value = "距离成都西三环") + private java.lang.String homeShjl; + /**房屋主体是否改造*/ + @Excel(name = "房屋主体是否改造", width = 15) + @ApiModelProperty(value = "房屋主体是否改造") + private java.lang.String homeGz; + /**房屋面积*/ + @Excel(name = "房屋面积", width = 15) + @ApiModelProperty(value = "房屋面积") + private java.lang.String homeMj; + /**院子总面积*/ + @Excel(name = "院子总面积", width = 15) + @ApiModelProperty(value = "院子总面积") + private java.lang.String homeYzmj; + /**房屋朝向及海拔*/ + @Excel(name = "房屋朝向及海拔", width = 15) + @ApiModelProperty(value = "房屋朝向及海拔") + private java.lang.String homeHb; + /**是否经过安置*/ + @Excel(name = "是否经过安置", width = 15) + @ApiModelProperty(value = "是否经过安置") + private java.lang.String homeAz; + /**交通*/ + @Excel(name = "交通", width = 15) + @ApiModelProperty(value = "交通") + private java.lang.String homeJt; + /**坟包及电塔 工厂噪音*/ + @Excel(name = "坟包及电塔 工厂噪音", width = 15) + @ApiModelProperty(value = "坟包及电塔 工厂噪音") + private java.lang.String homeZy; + /**水电气网*/ + @Excel(name = "水电气网", width = 15) + @ApiModelProperty(value = "水电气网") + private java.lang.String homeSd; + /**停车*/ + @Excel(name = "停车", width = 15) + @ApiModelProperty(value = "停车") + private java.lang.String homeCat; + /**付款方式及押金*/ + @Excel(name = "付款方式及押金", width = 15) + @ApiModelProperty(value = "付款方式及押金") + private java.lang.String homePay; + /**租期*/ + @Excel(name = "租期", width = 15) + @ApiModelProperty(value = "租期") + private java.lang.String homeTime; + /**非正常死亡*/ + @Excel(name = "非正常死亡", width = 15) + @ApiModelProperty(value = "非正常死亡") + private java.lang.String homeSw; + /**邻居对房东评价*/ + @Excel(name = "邻居对房东评价", width = 15) + @ApiModelProperty(value = "邻居对房东评价") + private java.lang.String homePj; + /**佣金*/ + @Excel(name = "佣金", width = 15) + @ApiModelProperty(value = "佣金") + private java.math.BigDecimal homeMoney; + /**钥匙*/ + @Excel(name = "钥匙", width = 15) + @ApiModelProperty(value = "钥匙") + private java.lang.Integer homeYs; + /**户主家庭职业*/ + @Excel(name = "户主家庭职业", width = 15) + @ApiModelProperty(value = "户主家庭职业") + private java.lang.String homeJtzy; + /**报建手续*/ + @Excel(name = "报建手续", width = 15) + @ApiModelProperty(value = "报建手续") + private java.lang.String homeBjsx; + /**府市民云房屋信息档案查询*/ + @Excel(name = "府市民云房屋信息档案查询", width = 15) + @ApiModelProperty(value = "府市民云房屋信息档案查询") + private java.lang.String homeTf; + /**户主年龄*/ + @Excel(name = "户主年龄", width = 15) + @ApiModelProperty(value = "户主年龄") + private java.lang.String homeAge; + /**产权证照片*/ + @Excel(name = "产权证照片", width = 15) + @ApiModelProperty(value = "产权证照片") + private java.lang.String homeImage; + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private java.lang.String homeBz; +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/mapper/CommonHomeMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/mapper/CommonHomeMapper.java new file mode 100644 index 0000000..048702d --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/mapper/CommonHomeMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.commonHome.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.commonHome.entity.CommonHome; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 房源信息表 + * @Author: jeecg-boot + * @Date: 2024-12-03 + * @Version: V1.0 + */ +public interface CommonHomeMapper extends BaseMapper { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/mapper/xml/CommonHomeMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/mapper/xml/CommonHomeMapper.xml new file mode 100644 index 0000000..9311529 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/mapper/xml/CommonHomeMapper.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/commonHome/service/ICommonHomeService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/service/ICommonHomeService.java new file mode 100644 index 0000000..ecc5201 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/service/ICommonHomeService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.commonHome.service; + +import org.jeecg.modules.commonHome.entity.CommonHome; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 房源信息表 + * @Author: jeecg-boot + * @Date: 2024-12-03 + * @Version: V1.0 + */ +public interface ICommonHomeService extends IService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/service/impl/CommonHomeServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/service/impl/CommonHomeServiceImpl.java new file mode 100644 index 0000000..1c8685f --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/service/impl/CommonHomeServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.commonHome.service.impl; + +import org.jeecg.modules.commonHome.entity.CommonHome; +import org.jeecg.modules.commonHome.mapper.CommonHomeMapper; +import org.jeecg.modules.commonHome.service.ICommonHomeService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 房源信息表 + * @Author: jeecg-boot + * @Date: 2024-12-03 + * @Version: V1.0 + */ +@Service +public class CommonHomeServiceImpl extends ServiceImpl implements ICommonHomeService { + +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/CommonHomeList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/CommonHomeList.vue new file mode 100644 index 0000000..4da8d4c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/CommonHomeList.vue @@ -0,0 +1,456 @@ + + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeForm.vue new file mode 100644 index 0000000..4dc3d88 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeForm.vue @@ -0,0 +1,314 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeModal.Style#Drawer.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeModal.Style#Drawer.vue new file mode 100644 index 0000000..57b05de --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeModal.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/commonHome/vue/modules/CommonHomeModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeModal.vue new file mode 100644 index 0000000..b6b6bed --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue/modules/CommonHomeModal.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/commonHome/vue3/CommonHome.api.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/CommonHome.api.ts new file mode 100644 index 0000000..2b81ba9 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/CommonHome.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/commonHome/commonHome/list', + save='/commonHome/commonHome/add', + edit='/commonHome/commonHome/edit', + deleteOne = '/commonHome/commonHome/delete', + deleteBatch = '/commonHome/commonHome/deleteBatch', + importExcel = '/commonHome/commonHome/importExcel', + exportXls = '/commonHome/commonHome/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/commonHome/vue3/CommonHome.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/CommonHome.data.ts new file mode 100644 index 0000000..1452068 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/CommonHome.data.ts @@ -0,0 +1,488 @@ +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: '创建日期', + align:"center", + sorter: true, + dataIndex: 'createTime' + }, + { + title: '图片', + align:"center", + dataIndex: 'image', + customRender:render.renderAvatar, + }, + { + title: '标题', + align:"center", + dataIndex: 'title' + }, + { + title: '分类标识', + align:"center", + dataIndex: 'classId_dictText' + }, + { + title: '左上角图标', + align:"center", + dataIndex: 'iconImage', + customRender:render.renderAvatar, + }, + { + title: '标签', + align:"center", + dataIndex: 'iconTitle' + }, + { + title: '价格', + align:"center", + dataIndex: 'price' + }, + { + title: '单位', + align:"center", + dataIndex: 'unit' + }, + { + title: '地址', + align:"center", + dataIndex: 'address' + }, + { + title: '浏览量', + align:"center", + dataIndex: 'num' + }, + { + title: '年限', + align:"center", + dataIndex: 'timeGo' + }, + { + title: '热点名称', + align:"center", + dataIndex: 'iconName' + }, + { + title: '所属分类', + align:"center", + dataIndex: 'commonClass_dictText' + }, + { + title: '视频', + align:"center", + dataIndex: 'homeMp4', + slots: { customRender: 'fileSlot' }, + }, + { + title: '户型', + align:"center", + dataIndex: 'homeType' + }, + { + title: '面积', + align:"center", + dataIndex: 'homeMi' + }, + { + title: '房屋结构', + align:"center", + dataIndex: 'homeJg' + }, + { + title: '房屋编号', + align:"center", + dataIndex: 'homeNo' + }, + { + title: '房屋周边', + align:"center", + dataIndex: 'homeBian' + }, + { + title: '房间数量', + align:"center", + dataIndex: 'homeNum' + }, + { + title: '菜地', + align:"center", + dataIndex: 'homeCai' + }, + { + title: '距离场镇距离', + align:"center", + dataIndex: 'homeJl' + }, + { + title: '距离成都西三环', + align:"center", + dataIndex: 'homeShjl' + }, + { + title: '房屋主体是否改造', + align:"center", + dataIndex: 'homeGz' + }, + { + title: '房屋面积', + align:"center", + dataIndex: 'homeMj' + }, + { + title: '院子总面积', + align:"center", + dataIndex: 'homeYzmj' + }, + { + title: '房屋朝向及海拔', + align:"center", + dataIndex: 'homeHb' + }, + { + title: '是否经过安置', + align:"center", + dataIndex: 'homeAz' + }, + { + title: '交通', + align:"center", + dataIndex: 'homeJt' + }, + { + title: '坟包及电塔 工厂噪音', + align:"center", + dataIndex: 'homeZy' + }, + { + title: '水电气网', + align:"center", + dataIndex: 'homeSd' + }, + { + title: '停车', + align:"center", + dataIndex: 'homeCat' + }, + { + title: '付款方式及押金', + align:"center", + dataIndex: 'homePay' + }, + { + title: '租期', + align:"center", + dataIndex: 'homeTime' + }, + { + title: '非正常死亡', + align:"center", + dataIndex: 'homeSw' + }, + { + title: '邻居对房东评价', + align:"center", + dataIndex: 'homePj' + }, + { + title: '佣金', + align:"center", + dataIndex: 'homeMoney' + }, + { + title: '钥匙', + align:"center", + dataIndex: 'homeYs' + }, + { + title: '户主家庭职业', + align:"center", + dataIndex: 'homeJtzy' + }, + { + title: '报建手续', + align:"center", + dataIndex: 'homeBjsx' + }, + { + title: '府市民云房屋信息档案查询', + align:"center", + dataIndex: 'homeTf', + customRender:render.renderAvatar, + }, + { + title: '户主年龄', + align:"center", + dataIndex: 'homeAge' + }, + { + title: '产权证照片', + align:"center", + dataIndex: 'homeImage', + customRender:render.renderAvatar, + }, + { + title: '备注', + align:"center", + dataIndex: 'homeBz' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "分类标识", + field: "classId", + component: 'JSearchSelect', + componentProps:{ + dict:"common_class,title,id" + }, + colProps: {span: 6}, + }, + { + label: "所属分类", + field: "commonClass", + component: 'JSearchSelect', + componentProps:{ + dict:"common_icon_image,title,id" + }, + colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '图片', + field: 'image', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '分类标识', + field: 'classId', + component: 'JSearchSelect', + componentProps:{ + dict:"common_class,title,id" + }, + }, + { + label: '左上角图标', + field: 'iconImage', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '标签', + field: 'iconTitle', + component: 'Input', + }, + { + label: '价格', + field: 'price', + component: 'InputNumber', + }, + { + label: '单位', + field: 'unit', + component: 'Input', + }, + { + label: '地址', + field: 'address', + component: 'Input', + }, + { + label: '浏览量', + field: 'num', + component: 'InputNumber', + }, + { + label: '年限', + field: 'timeGo', + component: 'InputNumber', + }, + { + label: '热点名称', + field: 'iconName', + component: 'Input', + }, + { + label: '所属分类', + field: 'commonClass', + component: 'JSearchSelect', + componentProps:{ + dict:"common_icon_image,title,id" + }, + }, + { + label: '视频', + field: 'homeMp4', + component: 'JUpload', + componentProps:{ + }, + }, + { + label: '户型', + field: 'homeType', + component: 'Input', + }, + { + label: '面积', + field: 'homeMi', + component: 'Input', + }, + { + label: '房屋结构', + field: 'homeJg', + component: 'Input', + }, + { + label: '房屋编号', + field: 'homeNo', + component: 'Input', + }, + { + label: '房屋周边', + field: 'homeBian', + component: 'Input', + }, + { + label: '房间数量', + field: 'homeNum', + component: 'Input', + }, + { + label: '菜地', + field: 'homeCai', + component: 'Input', + }, + { + label: '距离场镇距离', + field: 'homeJl', + component: 'Input', + }, + { + label: '距离成都西三环', + field: 'homeShjl', + component: 'Input', + }, + { + label: '房屋主体是否改造', + field: 'homeGz', + component: 'Input', + }, + { + label: '房屋面积', + field: 'homeMj', + component: 'Input', + }, + { + label: '院子总面积', + field: 'homeYzmj', + component: 'Input', + }, + { + label: '房屋朝向及海拔', + field: 'homeHb', + component: 'Input', + }, + { + label: '是否经过安置', + field: 'homeAz', + component: 'Input', + }, + { + label: '交通', + field: 'homeJt', + component: 'Input', + }, + { + label: '坟包及电塔 工厂噪音', + field: 'homeZy', + component: 'Input', + }, + { + label: '水电气网', + field: 'homeSd', + component: 'Input', + }, + { + label: '停车', + field: 'homeCat', + component: 'Input', + }, + { + label: '付款方式及押金', + field: 'homePay', + component: 'Input', + }, + { + label: '租期', + field: 'homeTime', + component: 'Input', + }, + { + label: '非正常死亡', + field: 'homeSw', + component: 'Input', + }, + { + label: '邻居对房东评价', + field: 'homePj', + component: 'Input', + }, + { + label: '佣金', + field: 'homeMoney', + component: 'InputNumber', + }, + { + label: '钥匙', + field: 'homeYs', + component: 'InputNumber', + }, + { + label: '户主家庭职业', + field: 'homeJtzy', + component: 'Input', + }, + { + label: '报建手续', + field: 'homeBjsx', + component: 'Input', + }, + { + label: '府市民云房屋信息档案查询', + field: 'homeTf', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '户主年龄', + field: 'homeAge', + component: 'Input', + }, + { + label: '产权证照片', + field: 'homeImage', + component: 'JImageUpload', + componentProps:{ + }, + }, + { + label: '备注', + field: 'homeBz', + component: 'Input', + }, +]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/CommonHomeList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/CommonHomeList.vue new file mode 100644 index 0000000..99ca152 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/CommonHomeList.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/commonHome/vue3/components/CommonHomeModal.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/components/CommonHomeModal.vue new file mode 100644 index 0000000..e32a24c --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/commonHome/vue3/components/CommonHomeModal.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/service/impl/AppletLoginServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/AppletLoginServiceImpl.java index 51c3f5d..120e25b 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/AppletLoginServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/AppletLoginServiceImpl.java @@ -112,7 +112,7 @@ public class AppletLoginServiceImpl implements AppletLoginService { cityMoneyLog.setIntger(new BigDecimal(5)); cityMoneyLog.setType(1); cityMoneyLog.setUserId(loginReq.getShareId()); - cityMoneyLog.setTitle("邀请好友"); + cityMoneyLog.setTitle("推荐好友获得积分"); cityIntgerWaterService.save(cityMoneyLog); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java index 07dec2c..80a62df 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuApiServiceImpl.java @@ -12,6 +12,7 @@ import com.google.gson.Gson; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateUtils; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; @@ -66,6 +67,8 @@ import org.jeecg.modules.cityJob.entity.CityJob; import org.jeecg.modules.cityJob.service.ICityJobService; import org.jeecg.modules.cityMember.entity.CityMember; import org.jeecg.modules.cityMember.service.ICityMemberService; +import org.jeecg.modules.cityMoneyLog.entity.CityMoneyLog; +import org.jeecg.modules.cityMoneyLog.service.ICityMoneyLogService; import org.jeecg.modules.cityPhoneLog.service.ICityPhoneLogService; import org.jeecg.modules.cityShop.entity.CityShop; import org.jeecg.modules.cityShop.service.ICityShopService; @@ -172,6 +175,9 @@ public class YaoDuApiServiceImpl implements YaoDuApiService { //签到流水 @Resource private ICitySignLogService citySignLogService; + @Resource + private ICityMoneyLogService cityMoneyLogService; + //流水记录 @Resource private ICityIntgerWaterService cityIntgerWaterService; @@ -1500,7 +1506,7 @@ public class YaoDuApiServiceImpl implements YaoDuApiService { cityIntgerWater.setIntger(new BigDecimal(2)); cityIntgerWater.setType(1); cityIntgerWater.setUserId(hanHaiMember.getId()); - cityIntgerWater.setTitle(new Date()+"签到"); + cityIntgerWater.setTitle("每日签到获得积分"); cityIntgerWaterService.save(cityIntgerWater); @@ -1543,8 +1549,12 @@ public class YaoDuApiServiceImpl implements YaoDuApiService { @Override public Result getWalletFlow(String token,PageBean pageBean){ HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); - Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); - Page page1 = new Page<>(); + Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + Page page1 = cityMoneyLogService + .lambdaQuery() + .eq(CityMoneyLog::getUserId, hanHaiMember.getId()) + .orderByDesc(CityMoneyLog::getCreateTime) + .page(page); return Result.OK(page1); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuOrderServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuOrderServiceImpl.java index ac19362..9cd9e57 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuOrderServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/YaoDuOrderServiceImpl.java @@ -17,6 +17,10 @@ import org.jeecg.modules.cityAddress.entity.CityAddress; import org.jeecg.modules.cityAddress.service.ICityAddressService; import org.jeecg.modules.cityConf.entity.CityConf; import org.jeecg.modules.cityConf.service.ICityConfService; +import org.jeecg.modules.cityIntgerWater.entity.CityIntgerWater; +import org.jeecg.modules.cityIntgerWater.service.ICityIntgerWaterService; +import org.jeecg.modules.cityMoneyLog.entity.CityMoneyLog; +import org.jeecg.modules.cityMoneyLog.service.ICityMoneyLogService; import org.jeecg.modules.cityOrder.entity.CityOrder; import org.jeecg.modules.cityOrder.service.ICityOrderService; import org.jeecg.modules.cityOrderSku.entity.CityOrderSku; @@ -71,6 +75,11 @@ public class YaoDuOrderServiceImpl implements YaoDuOrderService { //获取配置信息 @Resource private IHanHaiMemberService hanHaiMemberService; + //获取配置信息 + @Resource + private ICityMoneyLogService cityMoneyLogService; + @Resource + private ICityIntgerWaterService cityIntgerWaterService; @@ -102,12 +111,24 @@ public class YaoDuOrderServiceImpl implements YaoDuOrderService { if(null==cityAddress){ return Result.error("地址不存在"); } + + //创建订单 BigDecimal price = cityShopping.getPrice().multiply(new BigDecimal(num)); //积分 BigDecimal points = cityShopping.getPoints().multiply(new BigDecimal(num)); + + //判断积分是否大于所需积分 + if(hanHaiMember.getIntegerPrice().compareTo(points)<=0){ + return Result.error("积分不足"); + } + + //创建订单标识 + String orderId = IdWorker.getIdStr(); + CityOrder cityOrder = new CityOrder(); + cityOrder.setId(orderId); cityOrder.setUserId(hanHaiMember.getId()); cityOrder.setShopId(shopId); cityOrder.setNum(num); @@ -119,15 +140,45 @@ public class YaoDuOrderServiceImpl implements YaoDuOrderService { cityOrder.setPrice(price); cityOrder.setPoints(points); cityOrder.setImage(cityShopping.getImage()); - cityOrder.setState(0); + cityOrder.setState(1); cityOrder.setType(0); //积分兑换 cityOrder.setCreateTime(new Date()); cityOrderService.save(cityOrder); - //判断积分是否大于所需积分 - if(hanHaiMember.getIntegerPrice().compareTo(points)<=0){ - return Result.error("积分不足"); - } + + CityOrderSku sku = new CityOrderSku(); + sku.setUserId(hanHaiMember.getId()); + sku.setShopId(shopId); + sku.setNum(num); + sku.setAddressCity(cityAddress.getAddress()); + sku.setAddressName(cityAddress.getName()); + sku.setAddressPhone(cityAddress.getPhone()); + sku.setAddressDetails(cityAddress.getAddressDetail()); + sku.setName(cityShopping.getName()); + sku.setPrice(price); + sku.setPoints(points); + sku.setImage(cityShopping.getImage()); + sku.setState(1); + sku.setType(0); //微信支付 + sku.setCreateTime(new Date()); + sku.setOrderId(orderId); + cityOrderSkuService.save(sku); + + + + + //增加积分流水记录 + CityIntgerWater cityIntgerWater = new CityIntgerWater(); + cityIntgerWater.setCreateTime(new Date()); + cityIntgerWater.setIntger(points); + cityIntgerWater.setUserId(hanHaiMember.getId()); + cityIntgerWater.setTitle("兑换商品【"+cityShopping.getName()+"】积分抵扣"); + cityIntgerWater.setType(0); + cityIntgerWaterService.save(cityIntgerWater); + + //修改用户积分 + hanHaiMember.setIntegerPrice(hanHaiMember.getIntegerPrice().subtract(points)); + hanHaiMemberService.updateById(hanHaiMember); //积分不足 return Result.OK("兑换成功"); @@ -400,7 +451,42 @@ public class YaoDuOrderServiceImpl implements YaoDuOrderService { WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); String outTradeNo = notify.getOutTradeNo(); log.info("支付回调订单号码:"+outTradeNo); + CityOrder cityOrder = cityOrderService.getById(outTradeNo); + if(null!=cityOrder){ + if(cityOrder.getState() == 0){ + cityOrder.setState(1); + cityOrderService.updateById(cityOrder); + + //根据订单中的用户标识查询用户信息 + HanHaiMember hanHaiMember = hanHaiMemberService.getById(cityOrder.getUserId()); + //判断用户邀请者是否存在 + if(null!=hanHaiMember.getShareId()){ + //根据邀请者标识查询邀请者用户信息 + HanHaiMember hanHaiMember1 = hanHaiMemberService.getById(hanHaiMember.getShareId()); + //判断邀请者是否存在 + if(null!=hanHaiMember1){ + //根据配置查询返佣 + CityPrice cityPrice = cityPriceService.lambdaQuery() + .eq(CityPrice::getKeyValue, "share_money").one(); + //转化为BigDecimal + BigDecimal money = cityPrice.getPrice(); +// //增加佣金流水 + CityMoneyLog cityMoneyLog = new CityMoneyLog(); + cityMoneyLog.setCreateTime(new Date()); + cityMoneyLog.setIntger(money); + cityMoneyLog.setType(1); + cityMoneyLog.setUserId(hanHaiMember1.getId()); + cityMoneyLog.setTitle("好友["+hanHaiMember.getNickName()+"]下单获得佣金"); + cityMoneyLogService.save(cityMoneyLog); + + //增加邀请者的钱 + hanHaiMember1.setPrice(hanHaiMember1.getPrice().add(money)); + hanHaiMemberService.updateById(hanHaiMember1); + } + } + } + } return null; } @@ -431,6 +517,14 @@ public class YaoDuOrderServiceImpl implements YaoDuOrderService { //查询邀请者 HanHaiMember byId1 = hanHaiMemberService.getById(hanHaiMember.getShareId()); if(null!=byId1){ + //增加佣金流水 + CityMoneyLog cityMoneyLog = new CityMoneyLog(); + cityMoneyLog.setCreateTime(new Date()); + cityMoneyLog.setIntger(byId.getGiveMoney()); + cityMoneyLog.setType(1); + cityMoneyLog.setUserId(byId1.getId()); + cityMoneyLog.setTitle("好友["+hanHaiMember.getNickName()+"]开通会员获得佣金"); + cityMoneyLogService.save(cityMoneyLog); //增加佣金 BigDecimal price = byId1.getPrice().add(byId.getGiveMoney()); byId1.setPrice(price);