Browse Source

Merge remote-tracking branch 'origin/master'

ct 5 days ago
parent
commit
8413b3251a

+ 6 - 5
fs-admin/src/main/java/com/fs/store/controller/FsUserController.java

@@ -61,12 +61,13 @@ public class FsUserController extends BaseController
     @GetMapping("/export")
     public AjaxResult export(FsUser fsUser)
     {
-        List<FsUser> list = fsUserService.selectFsUserList(fsUser);
-        for (FsUser vo : list){
-            vo.setPhone(ParseUtils.parsePhone(vo.getPhone()));
+        List<FSUserVO> list = fsUserService.selectFsUserVOList(fsUser);
+        for (FSUserVO vo : list){
+//            vo.setPhone(ParseUtils.parsePhone(vo.getPhone()));
+            vo.setStatusName(vo.getStatus() == 1 ? "正常" : "禁止");
         }
-        ExcelUtil<FsUser> util = new ExcelUtil<FsUser>(FsUser.class);
-        return util.exportExcel(list, "user");
+        ExcelUtil<FSUserVO> util = new ExcelUtil<FSUserVO>(FSUserVO.class);
+        return util.exportExcel(list, "会员信息");
     }
 
     /**

+ 29 - 1
fs-company/src/main/java/com/fs/company/controller/CompanyRechargeController.java

@@ -1,6 +1,8 @@
 package com.fs.company.controller;
 
+import cn.hutool.core.util.IdUtil;
 import com.fs.common.annotation.Log;
+import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
@@ -11,6 +13,7 @@ import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyRecharge;
+import com.fs.company.param.CompanyRechargeParam;
 import com.fs.company.service.ICompanyRechargeService;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.vo.CompanyRechargeVO;
@@ -18,6 +21,7 @@ import com.fs.core.security.LoginUser;
 import com.fs.core.web.service.TokenService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
@@ -26,7 +30,7 @@ import java.util.List;
 
 /**
  * 充值Controller
- * 
+ *
  * @author fs
  * @date 2021-10-04
  */
@@ -100,5 +104,29 @@ public class CompanyRechargeController extends BaseController
         }
     }
 
+    @PreAuthorize("@ss.hasPermi('company:companyRecharge:recharge')")
+    @Log(title = "添加充值记录", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/recharge")
+    @Transactional
+    @RepeatSubmit
+    public R recharge(@RequestBody CompanyRechargeParam param)
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        CompanyRecharge recharge=new CompanyRecharge();
+        String orderSn = IdUtil.getSnowflake(0, 0).nextIdStr();
+        recharge.setRechargeNo(orderSn);
+        recharge.setCompanyId(loginUser.getCompany().getCompanyId());
+        recharge.setMoney(param.getMoney());
+        recharge.setCreateUserId(loginUser.getUser().getUserId());
+        recharge.setIsAudit(0);
+        recharge.setStatus(1);
+        recharge.setRemark(param.getRemark());
+        recharge.setPayType(3);
+        recharge.setImgs(param.getImgs());
+        companyRechargeService.insertCompanyRecharge(recharge);
+        return R.ok("提交成功,等待审核");
+
+    }
+
 
 }

+ 29 - 17
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -1014,20 +1014,16 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
             courseWatchLogMapper.insertFsCourseWatchLog(fsCourseWatchLog);
         }
 
-        // 判断是否重粉
-        if(!companyUser.getUserId().equals(fsUser.getCompanyUserId())){
-            FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
-            fsUserCompanyUser.setIsRepeatFans(1);
-            fsUserCompanyUser.setUserId(param.getUserId());
-            fsUserCompanyUser.setCompanyId(param.getCompanyId());
-            fsUserCompanyUser.setCompanyUserId(param.getCompanyUserId());
-            QueryWrapper<FsUserCompanyUser> queryWrapper = new QueryWrapper<FsUserCompanyUser>().eq("user_id", param.getUserId()).eq("company_user_id", param.getCompanyUserId());
-            Integer i = fsUserCompanyUserMapper.selectCount(queryWrapper);
-            if(i == 0) {
-                fsUserCompanyUserMapper.insertFsUserCompanyUser(fsUserCompanyUser);
-            }
+        // 判断是否重粉,添加关系表数据
+        FsUserCompanyUser fsUserCompanyUser = getFsUserCompanyUser(param, fsUser);
+        QueryWrapper<FsUserCompanyUser> queryWrapper = new QueryWrapper<FsUserCompanyUser>().eq("user_id", param.getUserId()).eq("company_user_id", param.getCompanyUserId());
+        Integer i = fsUserCompanyUserMapper.selectCount(queryWrapper);
+        if(i == 0) {
+            fsUserCompanyUserMapper.insertFsUserCompanyUser(fsUserCompanyUser);
+        }
 
-            // 打上重粉标签
+        // 如果重粉需要打上重粉标签
+        if(1 == fsUserCompanyUser.getIsRepeatFans()){
             FsUserCourseBeMemberParam fsUserCourseBeMemberParam = new FsUserCourseBeMemberParam();
             fsUserCourseBeMemberParam.setUserId(param.getUserId());
             fsUserCourseBeMemberParam.setCompanyId(param.getCompanyId());
@@ -1037,6 +1033,21 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         return ResponseResult.ok(Boolean.TRUE);
     }
 
+    // 添加关系表数据
+    public static FsUserCompanyUser getFsUserCompanyUser(FsUserCourseAddCompanyUserParam param, FsUser fsUser) {
+        FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
+        // 判断是否绑定了销售,如果已绑定,则需要标识为重粉,且放黑名单
+        if (fsUser.getCompanyUserId() != null && !fsUser.getCompanyUserId().equals(param.getCompanyUserId())) {
+            fsUserCompanyUser.setIsRepeatFans(1);
+        } else {
+            fsUserCompanyUser.setIsRepeatFans(0);
+        }
+        fsUserCompanyUser.setUserId(param.getUserId());
+        fsUserCompanyUser.setCompanyId(param.getCompanyId());
+        fsUserCompanyUser.setCompanyUserId(param.getCompanyUserId());
+        return fsUserCompanyUser;
+    }
+
     private String getCompanyUserQRCode(CompanyUser companyUser) {
         String companyUserQRCode;
         if(StringUtils.isNotEmpty(companyUser.getQrCodeWeixin())){
@@ -1078,7 +1089,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
             }
         }
 
-        Long duration = 0L;
+        long duration = 0L;
         long tipsTime = 0L;
         int isFinish = 0;
         FsUserCourseVideoLinkDetailsVO vo = new FsUserCourseVideoLinkDetailsVO();
@@ -1103,9 +1114,10 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
             duration = Objects.isNull(watchLog) ? 0 : watchLog.getDuration();
         }
 //
-//        if (course.getDuration()!=null){
-//            tipsTime = course.getDuration()/2;
-//        }
+        if (courseVideoDetails != null && courseVideoDetails.getDuration() != null){
+            tipsTime = courseVideoDetails.getDuration()/2;
+        }
+        vo.setTipsTime(tipsTime);
         //判断是否完课
         if (watchLog!=null && watchLog.getLogType() == 2) {
             isFinish = 1;

+ 3 - 0
fs-service-system/src/main/java/com/fs/course/vo/newfs/FsUserCourseVideoLinkDetailsVO.java

@@ -28,4 +28,7 @@ public class FsUserCourseVideoLinkDetailsVO {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime endDateTime;
     private boolean isRang;
+
+    @ApiModelProperty(value = "视频提示时间")
+    private Long tipsTime;
 }

+ 19 - 14
fs-service-system/src/main/java/com/fs/store/domain/FsUser.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.annotation.Excel;
 import com.fs.common.core.domain.BaseEntity;
 import com.vdurmont.emoji.EmojiParser;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
 
 import java.math.BigDecimal;
@@ -22,7 +23,6 @@ public class FsUser extends BaseEntity
 
     /** 用户id */
     private Long userId;
-    @Excel(name = "帐号")
     private String username;
     /** 用户密码(跟pwd) */
     private String password;
@@ -36,44 +36,40 @@ public class FsUser extends BaseEntity
     /** 身份证号码 */
     private String idCard;
 
-    @Excel(name = "用户头像")
+    @Excel(name = "会员头像",sort = 2)
     private String avatar;
 
     /** 用户昵称 */
-    @Excel(name = "用户昵称")
+    @Excel(name = "会员昵称", sort = 1)
     private String nickname;
 
     /** 用户备注 */
-    @Excel(name = "用户备注")
+    @Excel(name = "用户备注", sort = 12)
     private String remark;
 
 
     /** 手机号码 */
-    @Excel(name = "手机号码")
+    @Excel(name = "手机号码", sort = 3)
     private String phone;
 
     /** 最后一次登录ip */
-    @Excel(name = "最后一次登录ip")
     private String lastIp;
 
     /** 用户余额 */
-    @Excel(name = "用户余额")
+    @Excel(name = "用户余额", sort = 4)
     private BigDecimal nowMoney;
 
     /** 佣金金额 */
-    @Excel(name = "佣金金额")
     private BigDecimal brokeragePrice;
 
     /** 用户剩余积分 */
-    @Excel(name = "用户剩余积分")
+    @Excel(name = "积分", sort = 5)
     private BigDecimal integral;
 
     /** 连续签到天数 */
-    @Excel(name = "连续签到天数")
     private Long signNum;
 
     /** 1为正常,0为禁止 */
-    @Excel(name = "状态:1为正常,0为禁止")
     private Integer status;
     private String statusText;
 
@@ -119,11 +115,8 @@ public class FsUser extends BaseEntity
     private String companyUserName;
 
     @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "推线日期", width = 30, dateFormat = "yyyy-MM-dd")
     private Date registerDate;
-    @Excel(name = "推线编码")
     private String registerCode;
-    @Excel(name = "渠道")
     private String source;
 
     private String userCode;
@@ -163,6 +156,10 @@ public class FsUser extends BaseEntity
     @TableField(exist = false)
     private String companyUserNickName;
 
+    @ApiModelProperty(value = "所属公司")
+    @Excel(name = "所属公司", sort = 9)
+    private String companyName;
+
     public Integer getQwRepeat() {
         return qwRepeat;
     }
@@ -641,4 +638,12 @@ public class FsUser extends BaseEntity
     public void setCompanyUserNickName(String companyUserNickName) {
         this.companyUserNickName = companyUserNickName;
     }
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/store/service/impl/FsUserServiceImpl.java

@@ -926,7 +926,7 @@ public class FsUserServiceImpl implements IFsUserService
         }
     }
 
-    // 判断是否绑定了销售
+    // 添加关系表数据
     private static FsUserCompanyUser getFsUserCompanyUser(FsUserCourseBeMemberParam param, FsUser fsUser) {
         FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
         // 判断是否绑定了销售,如果已绑定,则需要标识为重粉,且放黑名单

+ 12 - 0
fs-service-system/src/main/java/com/fs/store/vo/FSUserVO.java

@@ -27,16 +27,28 @@ public class FSUserVO extends FsUser implements Serializable
     private String businessId;
 
     @ApiModelProperty(value = "看课数量")
+    @Excel(name = "看课数量", sort = 8)
     private Long watchCourseCount;
 
     @ApiModelProperty(value = "参与营期数量")
+    @Excel(name = "参与营期数量", sort = 9)
     private Long partCourseCount;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "最后看课时间")
+    @Excel(name = "最后看课时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 11)
     private Date lastWatchDate;
 
     @ApiModelProperty(value = "销售名称")
+    @Excel(name = "所属销售", sort = 10)
     private String companyUserNickName;
 
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "会员注册时间", dateFormat = "yyyy-MM-dd HH:mm:ss" , sort = 6)
+    private Date createTime;
+
+    @Excel(name = "状态", sort = 7)
+    private String statusName;
+
 }

+ 5 - 0
fs-service-system/src/main/resources/mapper/store/FsUserMapper.xml

@@ -239,6 +239,7 @@
         b.total_amount,b.last_buy_time,p.pay_money as number,p.payment_id,p.pay_time,
         u.*,
         fcc.watch_course_count, fcc.part_course_count, company_user.nick_name AS companyUserNickName, fcc.last_watch_date
+        ,company.company_name
         FROM
         fs_user u
         LEFT JOIN (
@@ -264,6 +265,7 @@
         GROUP BY fs_user_course_count.user_id
         ) fcc ON fcc.user_id = u.user_id
         LEFT JOIN company_user ON company_user.user_id = u.company_user_id
+        LEFT JOIN company on company.company_id = company_user.company_id
         <where>
         1 = 1
         <if test = "maps.nickname != null and  maps.nickname !='' " >
@@ -286,6 +288,9 @@
         <if test = "maps.companyUserNickName != null and maps.companyUserNickName != '' " >
         AND company_user.nick_name like CONCAT ("%",#{maps.companyUserNickName},"%")
         </if >
+        <if test = "maps.companyName != null and maps.companyName != '' " >
+            AND company.company_name like CONCAT ("%",#{maps.companyName},"%")
+        </if >
         <if test = "maps.level != null  and  maps.level !=''" >
         AND u.LEVEL = #{maps.level}
         </if >