From e5a431b9082c8882ccdd69d04d4bd76645d44b6e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 27 一月 2026 20:50:03 +0800
Subject: [PATCH] bug修改
---
cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml | 2
cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java | 8
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppAuditController.java | 110 +++++
cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java | 1
cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java | 4
cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_info.html | 80 +++
cloud-server-account/src/main/java/com/dsh/account/dto/AuditBatchDTO.java | 15
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java | 6
cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js | 1
cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html | 4
cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit.html | 40 +
cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/AuditBatchDTO.java | 15
cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit_info.js | 113 +++++
cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java | 117 +++++
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js | 1
cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js | 1
cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js | 1
cloud-server-account/src/main/java/com/dsh/account/dto/UserAuditDTO.java | 16
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SalesDetailVO.java | 1
cloud-server-account/src/main/java/com/dsh/account/service/UserAuditService.java | 22 +
cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java | 20
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java | 89 ++++
cloud-server-account/src/main/resources/mapper/UserAuditMapper.xml | 18
cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js | 9
cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml | 3
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 1
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/UserAuditDTO.java | 17
cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js | 2
cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/TUserAudit.java | 82 +++
cloud-server-account/src/main/java/com/dsh/account/entity/TUserAudit.java | 101 ++++
cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_audit.html | 62 ++
cloud-server-account/src/main/java/com/dsh/account/service/impl/UserAuditServiceImpl.java | 31 +
cloud-server-other/src/main/resources/mapper/GameMapper.xml | 2
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 75 +++
cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java | 2
cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit.js | 131 ++++++
cloud-server-account/src/main/java/com/dsh/account/mapper/UserAuditMapper.java | 24 +
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java | 2
39 files changed, 1,200 insertions(+), 31 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
index 94baaba..007cbec 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
@@ -18,12 +18,7 @@
import com.dsh.account.model.query.UserDetailsOfSearch;
import com.dsh.account.model.query.appUserQuery.QueryAppUser;
import com.dsh.account.model.vo.QueryAppUserVO;
-import com.dsh.account.service.IVipPaymentService;
-import com.dsh.account.service.TAppGiftService;
-import com.dsh.account.service.TAppUserService;
-import com.dsh.account.service.TCourseInfoRecordService;
-import com.dsh.account.service.TStudentService;
-import com.dsh.account.service.UserIntegralChangesService;
+import com.dsh.account.service.*;
import com.dsh.account.util.PayMoneyUtil;
import com.dsh.account.util.ResultUtil;
import com.dsh.account.util.TokenUtil;
@@ -49,6 +44,7 @@
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -85,7 +81,116 @@
@Autowired
private UserIntegralChangesService userIntegralChangesService;
+ @Autowired
+ private UserAuditService userAuditService;
+ /**
+ * 查询用户头像昵称审核列表
+ */
+ @ResponseBody
+ @PostMapping("/user/listAudit")
+ public List<Map<String, Object>> listAudit(@RequestBody UserAuditDTO dto) {
+ List<Map<String, Object>> maps = userAuditService.listAudit(dto);
+ for (Map<String, Object> map : maps) {
+ if (map.get("auditTime")!=null){
+ // 将时间戳转换为YYYY-MM-DD HH:mm:ss
+ String s = map.get("auditTime").toString().split("\\.")[0];
+ map.put("auditTime", s);
+ }
+ }
+ return maps;
+ }
+ @ResponseBody
+ @PostMapping("/user/audit")
+ public void audit(@RequestBody TUserAudit dto){
+ TUserAudit userAudit = userAuditService.getById(dto.getId());
+ TAppUser appUser = appUserService.getById(userAudit.getAppUserId());
+ if (dto.getState()==2){
+ // 审核通过 修改用户头像或昵称
+ if (userAudit.getType()==1){
+ appUser.setName(userAudit.getName());
+ }else{
+ appUser.setHeadImg(userAudit.getHeadImg());
+ }
+ appUserService.updateById(appUser);
+ userAudit.setState(2);
+ userAudit.setAuditTime(new Date());
+ userAuditService.updateById(userAudit);
+ }else{
+ userAudit.setState(3);
+ userAudit.setRemark(dto.getRemark());
+ userAudit.setAuditTime(new Date());
+
+ userAuditService.updateById(userAudit);
+ }
+ }
+ @ResponseBody
+ @PostMapping("/user/auditBatch")
+ public void auditBatch(@RequestBody AuditBatchDTO dto){
+ List<TUserAudit> list = userAuditService.lambdaQuery().in(TUserAudit::getId, dto.getIds())
+ .list();
+ Map<Integer, TAppUser> userMap = appUserService.lambdaQuery()
+ .in(TAppUser::getId, list.stream().map(TUserAudit::getAppUserId)
+ .collect(Collectors.toList())).list()
+ .stream().collect(Collectors.toMap(TAppUser::getId, e -> e));
+ for (TUserAudit userAudit : list) {
+ TAppUser appUser = userMap.get(userAudit.getAppUserId());
+ if (dto.getState()==2){
+ // 审核通过 修改用户头像或昵称
+ if (userAudit.getType()==1){
+ appUser.setName(userAudit.getName());
+ }else{
+ appUser.setHeadImg(userAudit.getHeadImg());
+ }
+ userAudit.setAuditTime(new Date());
+ userAudit.setState(2);
+ userAuditService.updateById(userAudit);
+ }else{
+ userAudit.setState(3);
+ userAudit.setRemark("");
+ userAudit.setAuditTime(new Date());
+
+ userAuditService.updateById(userAudit);
+ }
+ }
+
+ }
+ /**
+ * 获取审核详情
+ */
+ @ResponseBody
+ @GetMapping("/user/getAuditById/{id}")
+ public TUserAudit getAuditById(@PathVariable("id")Integer id) {
+ return userAuditService.getById(id);
+ }
+ /**
+ * 批量修改用户昵称和头像
+ */
+ @ResponseBody
+ @PostMapping("/base/appUser/updateHeadImgAndName")
+ public void updateHeadImgAndName() {
+ List<TAppUser> list = appUserService.list();
+ for (TAppUser appUser : list) {
+ appUser.setHeadImg("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/f7fbeaed277a45ab9591b70dc5699cab.jpg");
+ String s = generateNickname(appUser.getId());
+ appUser.setName(s);
+ }
+ appUserService.updateBatchById(list);
+ }
+ public static String generateNickname(Integer userId) {
+ if (userId == null) {
+ return null;
+ }
+
+ // 将用户ID转换为字符串
+ String userIdStr = String.valueOf(userId);
+
+ // 使用String.format确保总长度为6位,不足的前面补0
+ String formattedId = String.format("%06d", Long.parseLong(userIdStr));
+
+ // 返回"用户" + 格式化后的ID
+ return "用户" + formattedId;
+ }
/**
* 根据介绍有礼id查询当前活动参与次数
*/
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
index e89fe07..a969c91 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -2,12 +2,15 @@
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dsh.account.entity.TAppUser;
+import com.dsh.account.entity.TUserAudit;
import com.dsh.account.feignclient.activity.model.IntegralCommodity;
import com.dsh.account.feignclient.other.SysLogClient;
import com.dsh.account.model.vo.userBenefitDetail.*;
import com.dsh.account.service.RechargeRecordsService;
import com.dsh.account.service.TAppUserService;
+import com.dsh.account.service.UserAuditService;
import com.dsh.account.service.UserIntegralChangesService;
import com.dsh.account.util.PayMoneyUtil;
import com.dsh.account.util.ResultUtil;
@@ -29,6 +32,7 @@
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -43,6 +47,8 @@
@Autowired
private TAppUserService tauService;
+ @Autowired
+ private UserAuditService userAuditService;
@Autowired
private TokenUtil tokenUtil;
@@ -102,7 +108,32 @@
}
}
+ @ResponseBody
+ @PostMapping("/api/useBenefit/getAuditById")
+ @ApiOperation(value = "2.0新增接口 查询审核信息", tags = {"APP-使用福利"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ @ApiImplicitParam(name = "id", value = "用户头像审核记录id或用户昵称审核记录id", dataType = "int", required = true),
+ })
+ public ResultUtil<TUserAudit> getAuditById(Integer id) {
+ TUserAudit userAudit = userAuditService.getById(id);
+ if (null == userAudit){
+ userAudit=new TUserAudit();
+ }
+ return ResultUtil.success(userAudit);
+ }
+ @ResponseBody
+ @PostMapping("/api/useBenefit/cancelAudit")
+ @ApiOperation(value = "2.0新增接口 关闭头像或昵称审核记录", tags = {"APP-使用福利"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+ @ApiImplicitParam(name = "id", value = "用户头像审核记录id或用户昵称审核记录id", dataType = "int", required = true),
+ })
+ public ResultUtil cancelAudit(Integer id) {
+ userAuditService.removeById(id);
+ return ResultUtil.success();
+ }
@ResponseBody
@PostMapping("/api/useBenefit/userDetails")
@ApiOperation(value = "用户个人信息", tags = {"APP-使用福利"})
@@ -152,6 +183,35 @@
detailsVo.setMemberLifespan(format1.format(tAppUser.getVipEndTime()));
}
+ // 查询用户是否有待审核或已驳回的昵称头像审核记录
+ TUserAudit nameAudit = userAuditService.lambdaQuery()
+ .eq(TUserAudit::getAppUserId, appUserId)
+ .eq(TUserAudit::getType, 1)
+ .ne(TUserAudit::getState, 2).last("limit 1").one();
+ TUserAudit imageAudit = userAuditService.lambdaQuery()
+ .eq(TUserAudit::getAppUserId, appUserId)
+ .eq(TUserAudit::getType, 2)
+ .ne(TUserAudit::getState, 2).last("limit 1").one();
+ if (nameAudit!=null){
+ detailsVo.setNameAuditId(nameAudit.getId());
+ if (nameAudit.getState()==1){
+ detailsVo.setNameAudit(1);
+ }else{
+ detailsVo.setNameAudit(3);
+ }
+ }else{
+ detailsVo.setNameAudit(2);
+ }
+ if (imageAudit!=null){
+ detailsVo.setImageAuditId(imageAudit.getId());
+ if (imageAudit.getState()==1){
+ detailsVo.setImageAudit(1);
+ }else{
+ detailsVo.setImageAudit(3);
+ }
+ }else{
+ detailsVo.setImageAudit(2);
+ }
}
return ResultUtil.success(detailsVo);
} catch (Exception e) {
@@ -175,8 +235,33 @@
}
TAppUser byId = tauService.getById(appUserId);
if (ToolUtil.isNotEmpty(userImage)) {
- byId.setHeadImg(userImage);
- tauService.updateById(byId);
+// byId.setHeadImg(userImage);
+// tauService.updateById(byId);
+ // 查询是否有待审核的头像
+ TUserAudit userAudit = userAuditService
+ .lambdaQuery().eq(TUserAudit::getType, 2)
+ .eq(TUserAudit::getAppUserId, appUserId)
+ .ne(TUserAudit::getState, 2).last("limit 1").one();
+ if (userAudit!=null){
+ userAudit.setState(1);
+ userAudit.setHeadImg(userImage);
+ UpdateWrapper<TUserAudit> tUserAuditUpdateWrapper = new UpdateWrapper<>();
+ tUserAuditUpdateWrapper.eq("id",userAudit.getId());
+ tUserAuditUpdateWrapper.set("state",1);
+ tUserAuditUpdateWrapper.set("headImg",userImage);
+ tUserAuditUpdateWrapper.set("remark",null);
+ tUserAuditUpdateWrapper.set("auditId",null);
+ tUserAuditUpdateWrapper.set("auditTime",null);
+ userAuditService.update(tUserAuditUpdateWrapper);
+ }else{
+ TUserAudit tUserAudit = new TUserAudit();
+ tUserAudit.setAppUserId(appUserId);
+ tUserAudit.setHeadImg(userImage);
+ tUserAudit.setType(2);
+ tUserAudit.setInsertTime(new Date());
+ userAuditService.save(tUserAudit);
+
+ }
} else {
ResultUtil.error("头像不能为空!");
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/dto/AuditBatchDTO.java b/cloud-server-account/src/main/java/com/dsh/account/dto/AuditBatchDTO.java
new file mode 100644
index 0000000..dc6957e
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/dto/AuditBatchDTO.java
@@ -0,0 +1,15 @@
+package com.dsh.account.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 批量审核用户昵称头像
+ */
+@Data
+public class AuditBatchDTO {
+ private List<Integer> ids;
+ private Integer state;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/dto/UserAuditDTO.java b/cloud-server-account/src/main/java/com/dsh/account/dto/UserAuditDTO.java
new file mode 100644
index 0000000..76e0568
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/dto/UserAuditDTO.java
@@ -0,0 +1,16 @@
+package com.dsh.account.dto;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+
+import java.util.Map;
+
+@Data
+public class UserAuditDTO {
+ // 用户手机号
+ String phone;
+ // 状态 1待审核 2通过 3驳回
+ Integer state;
+ Page<Map<String, Object>> page;
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/TUserAudit.java b/cloud-server-account/src/main/java/com/dsh/account/entity/TUserAudit.java
new file mode 100644
index 0000000..ab7faab
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/TUserAudit.java
@@ -0,0 +1,101 @@
+package com.dsh.account.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 学员信息
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-06-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_user_audit")
+@ApiModel("用户头像昵称审核记录")
+public class TUserAudit {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 用户id
+ */
+ @TableField("appUserId")
+ @ApiModelProperty("用户id")
+ private Integer appUserId;
+ /**
+ * 昵称
+ */
+ @TableField("name")
+ @ApiModelProperty("昵称")
+
+ private String name;
+ /**
+ * 头像
+ */
+ @TableField("headImg")
+ @ApiModelProperty("昵称")
+
+ private String headImg;
+ /**
+ * 驳回备注
+ */
+ @TableField("remark")
+ @ApiModelProperty("昵称")
+
+ private String remark;
+ /**
+ 审核状态1待审核 2审核通过 3驳回
+ */
+ @TableField("state")
+ @ApiModelProperty("审核状态1待审核 2审核通过 3驳回")
+
+ private Integer state;
+ /**
+ * 审核人id
+ */
+ @TableField("auditId")
+ @ApiModelProperty("审核人id")
+
+ private Integer auditId;
+ /**
+ * 审核时间
+ */
+ @TableField("auditTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @ApiModelProperty("审核时间")
+
+ private Date auditTime;
+ /**
+ * 类型 1昵称 2头像
+ */
+ @TableField("type")
+ @ApiModelProperty("审核类型 1昵称 2头像")
+
+ private Integer type;
+ /**
+ * 添加时间
+ */
+ @TableField("insertTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date insertTime;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/UserAuditMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/UserAuditMapper.java
new file mode 100644
index 0000000..717acd8
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/UserAuditMapper.java
@@ -0,0 +1,24 @@
+package com.dsh.account.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.account.dto.UserAuditDTO;
+import com.dsh.account.entity.TCityManager;
+import com.dsh.account.entity.TUserAudit;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 教练 Mapper 接口
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-05
+ */
+public interface UserAuditMapper extends BaseMapper<TUserAudit> {
+
+ List<Map<String, Object>> listAudit(@Param("query") UserAuditDTO dto);
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
index 72e05ca..25047d6 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/AppUserDetailsVo.java
@@ -34,4 +34,12 @@
@ApiModelProperty(value = "1:需要修改,")
private Integer needChange;
+ @ApiModelProperty(value = "新增字段:用户头像审核状态 1展示审核中 2不展示 3展示审核驳回")
+ private Integer imageAudit;
+ @ApiModelProperty(value = "新增字段:用户头像审核记录id")
+ private Integer imageAuditId;
+ @ApiModelProperty(value = "新增字段:用户昵称审核状态 1展示审核中 2不展示 3展示审核驳回")
+ private Integer nameAudit;
+ @ApiModelProperty(value = "新增字段:用户昵称审核记录id")
+ private Integer nameAuditId;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/UserAuditService.java b/cloud-server-account/src/main/java/com/dsh/account/service/UserAuditService.java
new file mode 100644
index 0000000..a5718fa
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/UserAuditService.java
@@ -0,0 +1,22 @@
+package com.dsh.account.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.account.dto.UserAuditDTO;
+import com.dsh.account.entity.TCityManager;
+import com.dsh.account.entity.TUserAudit;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 教练 服务类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-05
+ */
+public interface UserAuditService extends IService<TUserAudit> {
+
+ List<Map<String, Object>> listAudit(UserAuditDTO dto);
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 1ab1194..ad1e5a5 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -14,6 +14,7 @@
import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.account.dto.*;
import com.dsh.account.entity.*;
@@ -42,10 +43,7 @@
import com.dsh.account.model.vo.classDetails.RegisteredCourse;
import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo;
import com.dsh.account.model.vo.userBenefitDetail.*;
-import com.dsh.account.service.IRefereeService;
-import com.dsh.account.service.TAppGiftService;
-import com.dsh.account.service.TAppUserService;
-import com.dsh.account.service.UserIntegralChangesService;
+import com.dsh.account.service.*;
import com.dsh.account.util.*;
import com.dsh.account.util.akeylogin.Md5Util;
import com.dsh.account.util.wx.WxV3PayConfig;
@@ -153,6 +151,8 @@
@Resource
private TAppUserMapper appUserMapper;
+ @Autowired
+ private UserAuditService userAuditService;
@Autowired
private TAppGiftService appGiftService;
@@ -162,6 +162,8 @@
private String aliAppid = "2021004105665036";//支付宝appid
+ // 默认头像
+ private String headImg = "https://we-park-life.oss-cn-beijing.aliyuncs.com/img/f7fbeaed277a45ab9591b70dc5699cab.jpg";
private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
@@ -463,8 +465,12 @@
tAppUser.setProvinceCode("");
tAppUser.setCity("");
tAppUser.setCityCode("");
+ tAppUser.setHeadImg(headImg);
// 注册用户
int insert = this.baseMapper.insert(tAppUser);
+ String s = generateNickname(tAppUser.getId());
+ tAppUser.setName(s);
+ this.baseMapper.updateById(tAppUser);
// 介绍有礼
if (addAppUserVo.getReferralUserId() != null || ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())) {
if (ToolUtil.isEmpty(addAppUserVo.getLat()) || ToolUtil.isEmpty(addAppUserVo.getLon())) {
@@ -559,8 +565,12 @@
tAppUser.setPassword(Md5Util.MD5Encode("111111", null));
tAppUser.setIsVip(0);
tAppUser.setState(1);
+ tAppUser.setHeadImg(headImg);
tAppUser.setInsertTime(new Date());
this.baseMapper.insert(tAppUser);
+ String s = generateNickname(tAppUser.getId());
+ tAppUser.setName(s);
+ this.baseMapper.updateById(tAppUser);
}
if (tAppUser.getState() == 2) {
return ResultUtil.error("您的账号已被冻结", "");
@@ -589,8 +599,7 @@
tAppUser.setPassword(Md5Util.MD5Encode("111111", null));
tAppUser.setIsVip(0);
// tAppUser.setName(loginWechatVo.getNickname());
- tAppUser.setName("用户"+loginWechatVo.getPhone().substring(loginWechatVo.getPhone().length() - 4));
- tAppUser.setHeadImg(loginWechatVo.getHeadimgurl());
+ tAppUser.setHeadImg(headImg);
tAppUser.setGender(loginWechatVo.getSex());
tAppUser.setState(1);
tAppUser.setInsertTime(new Date());
@@ -599,6 +608,11 @@
tAppUser.setCity("");
tAppUser.setCityCode("");
this.baseMapper.insert(tAppUser);
+ // 设置用户昵称为用户+id 保留6位小数 补0
+ String s = generateNickname(tAppUser.getId());
+ tAppUser.setName(s);
+ this.baseMapper.updateById(tAppUser);
+
}
}
if (tAppUser.getState() == 2) {
@@ -624,6 +638,26 @@
}
return ResultUtil.success(map);
}
+ /**
+ * 根据用户ID生成固定格式的昵称
+ * @param userId 用户ID
+ * @return 格式化的昵称
+ */
+ public static String generateNickname(Integer userId) {
+ if (userId == null) {
+ return null;
+ }
+
+ // 将用户ID转换为字符串
+ String userIdStr = String.valueOf(userId);
+
+ // 使用String.format确保总长度为6位,不足的前面补0
+ String formattedId = String.format("%06d", Long.parseLong(userIdStr));
+
+ // 返回"用户" + 格式化后的ID
+ return "用户" + formattedId;
+ }
+
/**
* 获取JWT token和存储个人信息
@@ -1277,6 +1311,34 @@
@Override
public ResultUtil<String> updateInfo(UpdateInfoDto dto, Integer uid) {
TAppUser tAppUser = appUserMapper.selectById(uid);
+ if (StringUtils.hasLength(dto.getName())){
+ if (!tAppUser.getName().equals(dto.getName())){
+ TUserAudit userAudit = userAuditService
+ .lambdaQuery().eq(TUserAudit::getType, 1)
+ .eq(TUserAudit::getAppUserId, tAppUser.getId())
+ .ne(TUserAudit::getState, 2).last("limit 1").one();
+ if (userAudit!=null){
+ userAudit.setState(1);
+ userAudit.setName(dto.getName());
+ UpdateWrapper<TUserAudit> tUserAuditUpdateWrapper = new UpdateWrapper<>();
+ tUserAuditUpdateWrapper.eq("id",userAudit.getId());
+ tUserAuditUpdateWrapper.set("state",1);
+ tUserAuditUpdateWrapper.set("name",dto.getName());
+ tUserAuditUpdateWrapper.set("remarks",null);
+ tUserAuditUpdateWrapper.set("auditId",null);
+ tUserAuditUpdateWrapper.set("auditTime",null);
+ userAuditService.update(tUserAuditUpdateWrapper);
+ }else{
+ TUserAudit tUserAudit = new TUserAudit();
+ tUserAudit.setAppUserId(tAppUser.getId());
+ tUserAudit.setName(dto.getName());
+ tUserAudit.setType(1);
+ tUserAudit.setInsertTime(new Date());
+ userAuditService.save(tUserAudit);
+
+ }
+ }
+ }
if (ToolUtil.isNotEmpty(dto.getName())) {
tAppUser.setName(dto.getName());
}
@@ -1293,6 +1355,7 @@
if (ToolUtil.isNotEmpty(dto.getGender())) {
tAppUser.setGender(dto.getGender());
}
+ tAppUser.setName(null);
appUserMapper.updateById(tAppUser);
return ResultUtil.success();
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserAuditServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserAuditServiceImpl.java
new file mode 100644
index 0000000..f8c9913
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserAuditServiceImpl.java
@@ -0,0 +1,31 @@
+package com.dsh.account.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.account.dto.UserAuditDTO;
+import com.dsh.account.entity.TCityManager;
+import com.dsh.account.entity.TUserAudit;
+import com.dsh.account.mapper.CityMapper;
+import com.dsh.account.mapper.UserAuditMapper;
+import com.dsh.account.service.CityService;
+import com.dsh.account.service.UserAuditService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 教练 服务实现类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-05
+ */
+@Service
+public class UserAuditServiceImpl extends ServiceImpl<UserAuditMapper, TUserAudit> implements UserAuditService {
+
+ @Override
+ public List<Map<String, Object>> listAudit(UserAuditDTO dto) {
+ return this.baseMapper.listAudit(dto);
+ }
+}
diff --git a/cloud-server-account/src/main/resources/mapper/UserAuditMapper.xml b/cloud-server-account/src/main/resources/mapper/UserAuditMapper.xml
new file mode 100644
index 0000000..80bfe15
--- /dev/null
+++ b/cloud-server-account/src/main/resources/mapper/UserAuditMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dsh.account.mapper.UserAuditMapper">
+
+
+ <select id="listAudit" resultType="java.util.Map">
+ select t1.*,t2.id as userId,t2.phone from t_user_audit t1
+ left join t_app_user t2 on t1.appUserId = t2.id
+ where
+ 1=1
+ <if test="query.phone != null and query.phone !=''">
+ and t2.phone like concat("%",#{query.phone},"%")
+ </if>
+ <if test="query.state != null">
+ and t1.state = #{query.state}
+ </if>
+ </select>
+</mapper>
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 9cf424c..f251986 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -1780,6 +1780,7 @@
map.put("userId", pointsMerchandise.getUserId());
map.put("status", pointsMerchandise.getStatus());
map.put("payTime", sdf.format(pointsMerchandise.getPaymentTime()));
+ map.put("orderNumber", pointsMerchandise.getOrderNumber());
mapList.add(map);
}
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java
index fb3c0d2..b404b22 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/SalesDetailVO.java
@@ -38,4 +38,5 @@
private String studentId; // 绑定人员ID
private Integer useTimes; // 已用次数
private Integer status; // 状态(1:使用中,2:已退款)
+ private String orderNumber; // 支付流水号
}
\ No newline at end of file
diff --git a/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml b/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml
index 91304d3..52aaa37 100644
--- a/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/PayHuiminMapper.xml
@@ -16,7 +16,8 @@
tph.endTime,
tph.studentId,
thc.id as carId,
- tph.status
+ tph.status,
+ tph.orderNumber
FROM
t_pay_huimin tph
LEFT JOIN t_huimin_card thc ON tph.cardId = thc.id
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java
index 3e695f7..038f8aa 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackagePaymentVO.java
@@ -73,4 +73,6 @@
private Integer classHours;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date insertTime;
+ // 三方支付流水号
+ private String orderNumber;
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
index 6967502..facc7a5 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
@@ -63,8 +63,8 @@
private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
-// private String callbackPath = "https://online.daowepark.com:443/course";//支付回调网关地址
-private String callbackPath = "http://221.182.45.100:56666/course";//支付回调网关地址
+ private String callbackPath = "https://online.daowepark.com:443/course";//支付回调网关地址
+//private String callbackPath = "http://221.182.45.100:56666/course";//支付回调网关地址
private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
index 51e74da..57134d4 100644
--- a/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/CoursePackagePaymentConfigMapper.xml
@@ -27,7 +27,7 @@
t1.id,t1.payUserType,t1.payStatus,t1.payType,t1.originalPrice,t1.userCouponId,t1.payUserId,t1.studentIds as studentId,t1.appUserId,t1.cashPayment,t1.playPaiCoin,
t1.payUserName as buyTypeName, t1.classHours as classHours,t1.insertTime as insertTime,t1.coursePackageId as coursePackageId,
CONCAT(t2.province,t2.city) as provinceAndCity,t2.coursePackageTypeId,t2.storeId,t2.name as coursePackage,
- t3.name as coursePackageType
+ t3.name as coursePackageType,t1.orderNumber
from t_course_package_order t1
left join t_course_package t2 on t1.coursePackageId = t2.id
left join t_course_package_type t3 on t2.coursePackageTypeId = t3.id
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
index b7d2aae..729f091 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
@@ -12,6 +12,7 @@
import com.dsh.guns.modular.system.model.dto.GiftSearchDto;
import com.dsh.guns.modular.system.model.dto.SelectDto;
import com.dsh.guns.modular.system.model.dto.UpdateIntegral;
+import com.dsh.guns.modular.system.model.dto.UserAuditDTO;
import com.dsh.guns.modular.system.util.ResultUtil;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -22,11 +23,28 @@
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
@FeignClient("mb-cloud-account")
public interface AppUserClient {
-
+ /**
+ * 根据介绍有礼id查询当前活动参与次数
+ */
+ @ResponseBody
+ @PostMapping("/user/listAudit")
+ public List<Map<String, Object>> listAudit(@RequestBody UserAuditDTO dto);
+ @ResponseBody
+ @PostMapping("/user/audit")
+ public void audit(@RequestBody TUserAudit dto);
+ @ResponseBody
+ @PostMapping("/user/auditBatch")
+ public void auditBatch(@RequestBody AuditBatchDTO dto);
+ /**
+ * 获取审核详情
+ */
+ @GetMapping("/user/getAuditById/{id}")
+ public TUserAudit getAuditById(@PathVariable("id")Integer id) ;
/**
* 根据介绍有礼id查询当前活动参与次数
*/
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/AuditBatchDTO.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/AuditBatchDTO.java
new file mode 100644
index 0000000..f14c17f
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/AuditBatchDTO.java
@@ -0,0 +1,15 @@
+package com.dsh.course.feignClient.account.model;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 批量审核用户昵称头像
+ */
+@Data
+public class AuditBatchDTO {
+ private List<Integer> ids;
+ private Integer state;
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/TUserAudit.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/TUserAudit.java
new file mode 100644
index 0000000..db68fc9
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/TUserAudit.java
@@ -0,0 +1,82 @@
+package com.dsh.course.feignClient.account.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 学员信息
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-06-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_user_audit")
+public class TUserAudit {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+ /**
+ * 用户id
+ */
+ @TableField("appUserId")
+ private Integer appUserId;
+ /**
+ * 昵称
+ */
+ @TableField("name")
+ private String name;
+ /**
+ * 头像
+ */
+ @TableField("headImg")
+ private String headImg;
+ /**
+ * 驳回备注
+ */
+ @TableField("remark")
+ private String remark;
+ /**
+ 审核状态1待审核 2审核通过 3驳回
+ */
+ @TableField("state")
+ private Integer state;
+ /**
+ * 审核人id
+ */
+ @TableField("auditId")
+ private Integer auditId;
+ /**
+ * 审核时间
+ */
+ @TableField("auditTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date auditTime;
+ /**
+ * 类型 1昵称 2头像
+ */
+ @TableField("type")
+ private Integer type;
+ /**
+ * 添加时间
+ */
+ @TableField("insertTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date insertTime;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppAuditController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppAuditController.java
new file mode 100644
index 0000000..274e16d
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppAuditController.java
@@ -0,0 +1,110 @@
+package com.dsh.guns.modular.system.controller.code;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dsh.course.feignClient.account.AppUserClient;
+import com.dsh.course.feignClient.account.CityManagerClient;
+import com.dsh.course.feignClient.account.StoreStaffClient;
+import com.dsh.course.feignClient.account.StudentClient;
+import com.dsh.course.feignClient.account.model.*;
+import com.dsh.course.feignClient.activity.BodySideAppointmentClient;
+import com.dsh.course.feignClient.communityWorldCup.Model.StoreIds;
+import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
+import com.dsh.course.feignClient.competition.CompetitionClient;
+import com.dsh.course.feignClient.competition.model.ListQuery;
+import com.dsh.course.feignClient.course.CoursePackageClient;
+import com.dsh.course.feignClient.other.BallClient;
+import com.dsh.course.feignClient.other.StoreClient;
+import com.dsh.guns.config.UserExt;
+import com.dsh.guns.core.common.constant.factory.PageFactory;
+import com.dsh.guns.modular.system.controller.util.MD5;
+import com.dsh.guns.modular.system.model.*;
+import com.dsh.guns.modular.system.model.dto.UpdateIntegral;
+import com.dsh.guns.modular.system.model.dto.UserAuditDTO;
+import com.dsh.guns.modular.system.service.*;
+import com.dsh.guns.modular.system.util.ResultUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 用户管理控制器
+ */
+@Controller
+@RequestMapping("/userAudit")
+public class TAppAuditController {
+ private String PREFIX = "/system/userAudit/";
+ @Autowired
+ private AppUserClient appUserClient;
+
+
+ /**
+ * 用户头像昵称审核
+ */
+ @RequestMapping("")
+ public String index(Model model) {
+ return PREFIX + "userAudit.html";
+ }
+ /**
+ * 获取列表数据
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/list")
+ public List<Map<String, Object>> list( String phone, Integer state){
+ UserAuditDTO userAuditDTO = new UserAuditDTO();
+ userAuditDTO.setState( state);
+ userAuditDTO.setPhone(phone);
+ List<Map<String, Object>> res = appUserClient.listAudit(userAuditDTO);
+ for (Map<String, Object> re : res) {
+ // 循环打印
+ System.out.println(re.get("id"));
+ }
+ return res;
+ }
+ /**
+ * 审核页面
+ */
+ @RequestMapping("/auditHtml/{id}")
+ public String auditHtml(Model model,@PathVariable("id") Integer id) {
+ TUserAudit auditById = appUserClient.getAuditById(id);
+ model.addAttribute("audit", auditById);
+ return PREFIX + "userAudit_audit.html";
+ }
+ @RequestMapping("/auditInfo/{id}")
+ public String auditInfo(Model model,@PathVariable("id")Integer id) {
+ TUserAudit auditById = appUserClient.getAuditById(id);
+ model.addAttribute("audit", auditById);
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String formattedDate = simpleDateFormat.format(auditById.getAuditTime());
+ model.addAttribute("auditTime", formattedDate);
+ return PREFIX + "userAudit_info.html";
+ }
+ /**
+ * 单审核操作
+ */
+ @RequestMapping("/audit")
+ public ResultUtil audit(@RequestBody TUserAudit dto) {
+ appUserClient.audit(dto);
+ return ResultUtil.success();
+ }
+ /**
+ * 批量审核
+ */
+ @RequestMapping("/auditBatch")
+ public ResultUtil auditBatch(@RequestBody AuditBatchDTO auditBatchDTO) {
+ appUserClient.auditBatch(auditBatchDTO);
+ return ResultUtil.success();
+ }
+
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
index ea5b9e5..0048826 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
@@ -41,6 +41,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
@@ -531,6 +532,11 @@
incomeVOS.add(temp);
}
}
+ // 推荐:一行代码解决
+ incomeVOS.sort(Comparator.comparing(
+ IncomeVO::getInsertTime,
+ Comparator.nullsLast(Comparator.reverseOrder())
+ ));
return incomeVOS;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java
index a24303a..9d5af00 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoursePackagePaymentVO.java
@@ -69,4 +69,6 @@
private Integer buyType;
// 当状态为手动支付时使用 用于显示手动支付时显示操作人
private String buyTypeName;
+ // 三方支付流水号
+ private String orderNumber;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java
index b42bef9..4887fa6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java
@@ -31,6 +31,8 @@
private BigDecimal amount;
private Integer incomeType;
private Integer state;
+ // 微信/支付宝流水号
+ private String code;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date insertTime;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SalesDetailVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SalesDetailVO.java
index 4c416e8..3e917ef 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SalesDetailVO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SalesDetailVO.java
@@ -37,4 +37,5 @@
private String studentId; // 绑定人员ID
private Integer useTimes; // 已用次数
private Integer status; // 状态(1:使用中,2:已退款)
+ private String orderNumber; // 支付流水号
}
\ No newline at end of file
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/UserAuditDTO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/UserAuditDTO.java
new file mode 100644
index 0000000..0d0c3d6
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/UserAuditDTO.java
@@ -0,0 +1,17 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+public class UserAuditDTO {
+ // 用户手机号
+ String phone;
+ // 状态 1待审核 2通过 3驳回
+ Integer state;
+ Page<Map<String, Object>> page;
+
+}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html
index bfc78f4..9f4d3e4 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/appUser/TAppUser_addStudent.html
@@ -85,13 +85,13 @@
</div>
</div>
<div class="form-group" >
- <label class="col-sm-3 control-label">*联系电话:</label>
+ <label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-9" style="display: flex;">
<input style="width: 300px" class="form-control" id="phone" placeholder="请输入联系电话" type="text">
</div>
</div>
<div class="form-group" >
- <label class="col-sm-3 control-label">*身份证号:</label>
+ <label class="col-sm-3 control-label">身份证号:</label>
<div class="col-sm-9" style="display: flex;">
<input style="width: 300px" class="form-control" id="idCard" placeholder="请输入身份证号" type="text">
</div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit.html
new file mode 100644
index 0000000..6518b43
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit.html
@@ -0,0 +1,40 @@
+@layout("/common/_container.html"){
+<div class="row">
+ <div class="col-sm-12">
+ <div class="ibox float-e-margins">
+ <div class="ibox-title">
+ <h5>用户信息审核</h5>
+ </div>
+ <div class="ibox-content">
+ <div class="row row-lg">
+ <div class="col-sm-12">
+ <div class="row">
+ <div class="col-sm-3">
+ <#NameCon id="phone" name="联系电话" />
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="state" name="状态" >
+ <option value="">全部</option>
+ <option value="1">待审核</option>
+ <option value="2">已通过</option>
+ <option value="3">已驳回</option>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#button name="搜索" icon="fa-search" clickFun="DriverApplyRefund.search()"/>
+ <#button name="重置" icon="fa-trash" clickFun="DriverApplyRefund.resetSearch()" space="true"/>
+ </div>
+ </div>
+ <div class="hidden-xs" id="DriverApplyRefundTableToolbar" role="group">
+ <#button name="批量审核" icon="fa-plus" clickFun="DriverApplyRefund.auditBatch()"/>
+ </div>
+ <#table id="DriverApplyRefundTable"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<script src="${ctxPath}/modular/system/userAudit/userAudit.js"></script>
+
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_audit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_audit.html
new file mode 100644
index 0000000..f6c1740
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_audit.html
@@ -0,0 +1,62 @@
+@layout("/common/_container.html"){
+
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal" id="userInfoForm">
+ <input type="hidden" id="id" value="${audit.id}">
+ <div class="row">
+ <div class="form-group">
+ @if(audit.type == 1){
+ <label class="col-sm-3 control-label">昵称:</label>
+ <div class="col-sm-9">
+ <input type="text" id="name" value="${audit.name}"/>
+ </div>
+ @}
+ @if(audit.type == 2){
+ <label class="col-sm-3 control-label">头像:</label>
+ <div class="col-sm-9">
+ <div><img width="100px" height="100px" id="img" src="${audit.headImg}"></div>
+ </div>
+ @}
+ </div>
+
+ <div class="form-group">
+ <label class="col-sm-3 control-label">审核:</label>
+ <div class="col-sm-2" style="display: flex;align-items: center;">
+ <div class="radio radio-info radio-inline">
+ <input type="radio" id="areaType1" value="2" name="areaType" checked
+ onclick="DriverApplyRefund.areaTypeClick(2)">
+ <label for="areaType1"> 通过 </label>
+ </div>
+ <div class="radio radio-success radio-inline">
+ <input type="radio" id="areaType2" value="3" name="areaType"
+ onclick="DriverApplyRefund.areaTypeClick(3)">
+ <label for="areaType2"> 驳回 </label>
+ </div>
+ </div>
+ </div>
+ <div class="form-group" id="remarkP" hidden>
+ <label class="col-sm-3 control-label">审核备注:</label>
+ <div class="col-sm-9">
+ <textarea id="remark" style="height: 203px; width: 506px;">${audit.remark}</textarea>
+ </div>
+ </div>
+ </div>
+ <div class="row btn-group-m-t">
+ <div class="col-sm-10">
+ <#button btnCss="info" name="确认" id="ensure" icon="fa-check"
+ clickFun="DriverApplyRefund.audit()"/>
+ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser"
+ clickFun="DriverApplyRefund.close()"/>
+ </div>
+ </div>
+
+
+ </div>
+ </div>
+</div>
+
+
+<script src="${ctxPath}/modular/system/userAudit/userAudit_info.js"></script>
+
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_info.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_info.html
new file mode 100644
index 0000000..098b301
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/userAudit/userAudit_info.html
@@ -0,0 +1,80 @@
+@layout("/common/_container.html"){
+
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal" id="userInfoForm">
+ <input type="hidden" id="id" value="${audit.id}">
+ <input type="hidden" id="state" value="${audit.state}">
+ <div class="row">
+ <div class="form-group">
+ @if(audit.type == 1){
+ <label class="col-sm-3 control-label">昵称:</label>
+ <div class="col-sm-9">
+ <input type="text" id="name" value="${audit.name}"/>
+ </div>
+ @}
+ @if(audit.type == 2){
+ <label class="col-sm-3 control-label">头像:</label>
+ <div class="col-sm-9">
+ <div><img width="100px" height="100px" id="img" src="${audit.headImg}"></div>
+ </div>
+ @}
+ </div>
+
+ <div class="form-group">
+ <label class="col-sm-3 control-label">审核:</label>
+ <div class="col-sm-2" style="display: flex;align-items: center;">
+ <div class="radio radio-info radio-inline">
+ <input type="radio" id="areaType1" value="2" name="areaType" checked
+ onclick="DriverApplyRefund.areaTypeClick(2)">
+ <label for="areaType1"> 通过 </label>
+ </div>
+ <div class="radio radio-success radio-inline">
+ <input type="radio" id="areaType2" value="3" name="areaType"
+ onclick="DriverApplyRefund.areaTypeClick(3)">
+ <label for="areaType2"> 驳回 </label>
+ </div>
+ </div>
+ </div>
+ <div class="form-group" id="remarkP" hidden>
+ <label class="col-sm-3 control-label">审核备注:</label>
+ <div class="col-sm-9">
+ <textarea id="remark" style="height: 203px; width: 506px;">${audit.remark}</textarea>
+ </div>
+ </div>
+ <div class="form-group" >
+ <label class="col-sm-3 control-label">审核时间:</label>
+ <div class="col-sm-9">
+ <input id="auditTime" disabled value="${auditTime}"/>
+ </div>
+ </div>
+ </div>
+ <div class="row btn-group-m-t">
+ <div class="col-sm-10">
+ <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser"
+ clickFun="DriverApplyRefund.close()"/>
+ </div>
+ </div>
+
+
+ </div>
+ </div>
+</div>
+
+
+<script src="${ctxPath}/modular/system/userAudit/userAudit_info.js"></script>
+<script>
+ window.onload = function () {
+ var OBJradio = document.querySelectorAll('input[type="radio"]');
+ console.log(OBJradio)
+ for (i = 0; i < OBJradio.length; i++) {//循环查找这个radio
+ if ($("#state").val() == OBJradio[i].value) {//判断是否与radio的值相同
+ OBJradio[i].checked = true//修改选中状态
+ }
+ }
+ if ($("#state").val() == 3) {
+ $("#remarkP").show();
+ }
+ }
+</script>
+@}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
index edf6462..316d3b2 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/appUser/tAppUser.js
@@ -472,15 +472,6 @@
Feng.info("请输入体重")
return;
}
- if($("#phone").val()=='' ){
- Feng.info("请输入联系方式")
- return;
- }
- if($("#idCard").val()=='' ){
- Feng.info("请输入身份证号")
- return;
- }
-
$.ajax({
url: Feng.ctxPath + "/appUser/addAppUserStudent" ,
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
index 04ebd09..df3cb6f 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
@@ -40,6 +40,8 @@
{ title: '姓名', field: 'booker', visible: true, align: 'center', valign: 'middle'},
{ title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle'},
{ title: '预约时间段', field: 'times', visible: true, align: 'center', valign: 'middle'},
+ { title: '支付流水号', field: 'payOrderNo', visible: true, align: 'center', valign: 'middle'},
+
{ title: '支付方式', field: 'payType', visible: true, align: 'center', valign: 'middle'},
{
title: '金额',
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js
index c9f6f43..019d315 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/cpPayment/cpPayment.js
@@ -29,6 +29,7 @@
}
},
{title: '支付方式', field: 'buyTypeName', visible: true, align: 'center', valign: 'middle'},
+ {title: '支付流水号', field: 'orderNumber', visible: true, align: 'center', valign: 'middle'},
{title: '总金额', field: 'originalPrice', visible: true, align: 'center', valign: 'middle'},
{title: '优惠金额', field: 'discountAmount', visible: true, align: 'center', valign: 'middle'},
{title: '支付价格', field: 'cashPayment', visible: true, align: 'center', valign: 'middle'},
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
index 9aab871..be93d35 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
@@ -17,6 +17,7 @@
{title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle'},
{title: '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'},
{title: '购买时间', field: 'payTime', visible: true, align: 'center', valign: 'middle'},
+ {title: '支付流水号', field: 'orderNumber', visible: true, align: 'center', valign: 'middle'},
{title: '使用状态', field: 'status', visible: true, align: 'center', valign: 'middle',
formatter: function (value, row, index) {
return {1: "未使用", 2: "已核销"}[value]
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js b/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js
index 643f5d5..850d901 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tPayHuimin/tPayHuimin.js
@@ -21,6 +21,7 @@
return {1: '年度卡', 2: '年内卡'}[value];
}},
{title: '售卖金额', field: 'salesMoney', visible: true, align: 'center', valign: 'middle'},
+ {title: '支付流水号', field: 'orderNumber', visible: true, align: 'center', valign: 'middle'},
{title: '所属运营商', field: 'operatorName', visible: true, align: 'center', valign: 'middle'},
{title: '可用门店', field: 'storeName', visible: true, align: 'center', valign: 'middle',
cellStyle:formatTableUnit,
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit.js b/cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit.js
new file mode 100644
index 0000000..959fdfb
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit.js
@@ -0,0 +1,131 @@
+/**
+ * 管理初始化
+ */
+var DriverApplyRefund = {
+ id: "DriverApplyRefundTable", //表格id
+ seItem: null, //选中的条目
+ table: null,
+ layerIndex: -1
+};
+
+/**
+ * 初始化表格的列
+ */
+DriverApplyRefund.initColumn = function () {
+ return [
+ {field: 'selectItem', checkbox: true},
+ {title: '', field: 'id', visible: false, align: 'center', valign: 'middle'},
+ {title: '用户编号', field: 'userId', visible: true, align: 'center', valign: 'middle'},
+ {title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle'},
+ {title: '审核字段', field: 'type', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row) {
+ switch (value) {
+ case 1:
+ return "昵称";
+ case 2:
+ return "头像";
+
+ }
+ }
+ },
+ {title: '头像', field: 'headImg', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row) {
+ if (row.headImg == null || row.headImg == '') {
+ return '<button/></button>';
+ } else {
+ var temp = row.headImg
+ return '<button onclick="lookBigImg(\'' + temp + '\')"><img style="width: 90px;height:50px;" src="' + row.headImg + '" /></button>';
+ }
+ },
+ events: 'operateEvents'},
+ {title: '昵称', field: 'name', visible: true, align: 'center', valign: 'middle'},
+ {title: '审核状态', field: 'state', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row) {
+ switch (value) {
+ case 1:
+ return "待审核";
+ case 2:
+ return "已通过";
+ case 3:
+ return "已驳回";
+ }
+ }
+ },
+ {title: '提交时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'},
+ {title: '审核时间', field: 'auditTime', visible: true, align: 'center', valign: 'middle'},
+ {title: '操作', field: 'state', visible: true, align: 'center', valign: 'middle',
+ formatter: function (data,row) {
+ var btn = "";
+ if(data==1) {
+ var str = '<button class="btn btn-outline btn-primary" onclick="DriverApplyRefund.audit('+row.id+')" >审核</button>'
+ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="" onfocus="TUser.tooltip()">' + str + '</p>']
+ }else {
+ var str = '<button class="btn btn-outline btn-primary" onclick="DriverApplyRefund.info(' + row.id + ')" >查看</button>'
+ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="" onfocus="TUser.tooltip()">' + str + '</p>']
+ }
+ return btn;
+ }
+ },
+ ];
+};
+
+DriverApplyRefund.audit = function (e) {
+ var index = layer.open({
+ type: 2,
+ title: '审核',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/userAudit/auditHtml/'+e
+ });
+ this.layerIndex = index;
+};
+
+DriverApplyRefund.info = function (e) {
+ var index = layer.open({
+ type: 2,
+ title: '详情',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/userAudit/auditInfo/'+e
+ });
+ this.layerIndex = index;
+};
+/**
+ * 检查是否选中
+ */
+DriverApplyRefund.check = function () {
+ var selected = $('#' + this.id).bootstrapTable('getSelections');
+ if(selected.length == 0){
+ Feng.info("请先选中表格中的某一记录!");
+ return false;
+ }
+ DriverApplyRefund.seItem = selected[0];
+ return true;
+};
+
+
+/**
+ * 打开编辑
+ */
+/**
+ * 查询列表
+ */
+DriverApplyRefund.search = function () {
+ var queryData = {};
+ queryData['phone'] = $("#phone").val();
+ queryData['state'] = $("#status").val();
+ DriverApplyRefund.table.refresh({query: queryData});
+};
+DriverApplyRefund.resetSearch = function () {
+ $("#phone").val("");
+ $("#state").val("");
+ DriverApplyRefund.search();
+};
+$(function () {
+ var defaultColunms = DriverApplyRefund.initColumn();
+ var table = new BSTable(DriverApplyRefund.id, "/userAudit/list", defaultColunms);
+ table.setPaginationType("client");
+ DriverApplyRefund.table = table.init();
+});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit_info.js b/cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit_info.js
new file mode 100644
index 0000000..8c61266
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/userAudit/userAudit_info.js
@@ -0,0 +1,113 @@
+/**
+ * 管理初始化
+ */
+var DriverApplyRefund = {
+ id: "DriverApplyRefundTable", //表格id
+ seItem: null, //选中的条目
+ table: null,
+ layerIndex: -1
+};
+
+/**
+ * 初始化表格的列
+ */
+/**
+ * 关闭此对话框
+ */
+DriverApplyRefund.close = function () {
+ parent.layer.close(window.parent.DriverApplyRefund.layerIndex);
+};
+DriverApplyRefund.audit = function (e) {
+ const data1 = {
+ id:null,
+ state:null,
+ remark:""
+
+ };
+ data1.id = $("#id").val();
+ var state = $("input[name='areaType']:checked").val();
+ data1.state = state;
+ if (state==3){
+ data1.remark = $("#remark").val();
+ }
+ $.ajax({
+ url: Feng.ctxPath + "/userAudit/audit",
+ type: "POST",
+ contentType: "application/json", // 设置请求头的 Content-Type
+ data: JSON.stringify(data1), // 将数据转换为 JSON 字符串
+ success: function(response) {
+ Feng.success("操作成功!");
+ window.parent.DriverApplyRefund.table.refresh();
+ DriverApplyRefund.close();
+
+ },
+ error: function(xhr, status, error) {
+ Feng.success("操作成功!");
+ window.parent.DriverApplyRefund.table.refresh();
+ DriverApplyRefund.close();
+
+ }
+ });
+};
+DriverApplyRefund.areaTypeClick = function (e) {
+ if (2 == e){
+ // 通过
+ $("#remarkP").hide();
+ } else if (3 == e){
+ // 驳回
+ $("#remarkP").show();
+ }
+};
+
+DriverApplyRefund.info = function (e) {
+ var index = layer.open({
+ type: 2,
+ title: '详情',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/userAudit/auditInfo/'+e
+ });
+ this.layerIndex = index;
+};
+/**
+ * 检查是否选中
+ */
+DriverApplyRefund.check = function () {
+ var selected = $('#' + this.id).bootstrapTable('getSelections');
+ if(selected.length == 0){
+ Feng.info("请先选中表格中的某一记录!");
+ return false;
+ }
+ DriverApplyRefund.seItem = selected[0];
+ return true;
+};
+
+
+/**
+ * 打开编辑
+ */
+/**
+ * 查询列表
+ */
+DriverApplyRefund.search = function () {
+ var queryData = {};
+ queryData['code'] = $("#code").val();
+ queryData['name'] = $("#name").val();
+ queryData['phone'] = $("#phone").val();
+ queryData['status'] = $("#status").val();
+ DriverApplyRefund.table.refresh({query: queryData});
+};
+DriverApplyRefund.resetSearch = function () {
+ $("#code").val("");
+ $("#name").val("");
+ $("#phone").val("");
+ $("#status").val("");
+ DriverApplyRefund.search();
+};
+$(function () {
+ var defaultColunms = DriverApplyRefund.initColumn();
+ var table = new BSTable(DriverApplyRefund.id, "/driverApplyRefund/list", defaultColunms);
+ table.setPaginationType("server");
+ DriverApplyRefund.table = table.init();
+});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js b/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js
index d29f0e7..6adcb02 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js
@@ -21,6 +21,7 @@
{title: '联系电话', field: 'appUserPhone', visible: true, align: 'center', valign: 'middle'},
{title: '会员卡名称', field: 'vipName', visible: true, align: 'center', valign: 'middle'},
{title: '时长', field: 'vipTime', visible: true, align: 'center', valign: 'middle'},
+ {title: '支付流水号', field: 'orderNumber', visible: true, align: 'center', valign: 'middle'},
{title: '金额', field: 'amountValue', visible: true, align: 'center', valign: 'middle'},
{title: '下单时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'},
{title: '是否退费', field: 'isRefund', visible: true, align: 'center', valign: 'middle',
diff --git a/cloud-server-other/src/main/resources/mapper/GameMapper.xml b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
index 34dc578..766a62c 100644
--- a/cloud-server-other/src/main/resources/mapper/GameMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/GameMapper.xml
@@ -38,7 +38,7 @@
</select>
<select id="orderlist" resultType="map">
SELECT *,st.`name` as storeName,si.`name` as siteName,CONCAT(DATE_FORMAT(bk.startTime, '%Y-%m-%d %H:%i:%s'), ' -
- ', TIME_FORMAT(bk.endTime, '%H:%i:%s')) AS timeRange,bk.targetAudience
+ ', TIME_FORMAT(bk.endTime, '%H:%i:%s')) AS timeRange,bk.targetAudience,bk.payOrderNo
FROM t_site_booking bk
LEFT JOIN t_store st on bk.storeId = st.id
LEFT JOIN t_site si on bk.siteId = si.id
--
Gitblit v1.7.1