Commit 8bc20f11 authored by liuyang's avatar liuyang

update

parent f239a5a4
...@@ -41,7 +41,7 @@ public class AlipayService { ...@@ -41,7 +41,7 @@ public class AlipayService {
AlipayTradeWapPayRequest alipay_request=new AlipayTradeWapPayRequest(); AlipayTradeWapPayRequest alipay_request=new AlipayTradeWapPayRequest();
alipay_request.setBizModel(model); alipay_request.setBizModel(model);
alipay_request.setNotifyUrl(frontendDomain + "/online-edu-backend/alipay/notify/order"); alipay_request.setNotifyUrl(frontendDomain + "/online-edu-backend/alipay/notify/order");
alipay_request.setReturnUrl(frontendDomain + "/online-edu/pay/result"); alipay_request.setReturnUrl(model.getQuitUrl()+"&result=true");
String form = ""; String form = "";
AlipayTradeWapPayResponse response = alipayClient.pageExecute(alipay_request); AlipayTradeWapPayResponse response = alipayClient.pageExecute(alipay_request);
if (response.isSuccess()){ if (response.isSuccess()){
......
...@@ -111,11 +111,11 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product ...@@ -111,11 +111,11 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
ProductOrderPO orderPO = createPO(model); ProductOrderPO orderPO = createPO(model);
save(orderPO); save(orderPO);
result.setOrderNo(orderPO.getOrderNo()); result.setOrderNo(orderPO.getOrderNo());
Object rtObj = prePay(orderPO,model.getSource(),model.getOpenId()); Object rtObj = prePay(orderPO,model.getSource(),model.getOpenId(),model.getReturnUrl());
result.setResult(rtObj); result.setResult(rtObj);
return result; return result;
} }
private Object prePay(ProductOrderPO orderPO,PaySourceEnum source,String openId){ private Object prePay(ProductOrderPO orderPO,PaySourceEnum source,String openId,String returnUrl){
if (orderPO.getPayMethod() == PayMethodEnum.WeiXin){ if (orderPO.getPayMethod() == PayMethodEnum.WeiXin){
try { try {
Object rtObj = wxCreateOrder(orderPO,source,openId); Object rtObj = wxCreateOrder(orderPO,source,openId);
...@@ -129,7 +129,7 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product ...@@ -129,7 +129,7 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
payModel.setOutTradeNo(orderPO.getOrderNo()); payModel.setOutTradeNo(orderPO.getOrderNo());
payModel.setSubject(orderPO.getOrderName()); payModel.setSubject(orderPO.getOrderName());
payModel.setTotalAmount(orderPO.getPaymentMoney().toString()); payModel.setTotalAmount(orderPO.getPaymentMoney().toString());
payModel.setQuitUrl(frontendDomain + "/online-edu/pay/result");//todo payModel.setQuitUrl(returnUrl+"&result=true");
payModel.setProductCode("QUICK_WAP_WAY");//todo payModel.setProductCode("QUICK_WAP_WAY");//todo
try { try {
String form = alipayService.prePayOrder(payModel); String form = alipayService.prePayOrder(payModel);
...@@ -296,7 +296,7 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product ...@@ -296,7 +296,7 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
} }
CreateOrderResult result = new CreateOrderResult(); CreateOrderResult result = new CreateOrderResult();
result.setOrderNo(model.getOrderNo()); result.setOrderNo(model.getOrderNo());
Object rtObj = prePay(orderPO,model.getSource(),model.getOpenId()); Object rtObj = prePay(orderPO,model.getSource(),model.getOpenId(),model.getReturnUrl());
result.setResult(rtObj); result.setResult(rtObj);
return result; return result;
} }
......
...@@ -5,14 +5,17 @@ import cn.hutool.core.util.RandomUtil; ...@@ -5,14 +5,17 @@ import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.enums.AccountStatusEnum; import com.qkdata.biz.enums.AccountStatusEnum;
import com.qkdata.biz.enums.AccountTypeEnum; import com.qkdata.biz.enums.AccountTypeEnum;
import com.qkdata.biz.enums.ProductTypeEnum; import com.qkdata.biz.enums.ProductTypeEnum;
import com.qkdata.biz.management.entity.OrgSurplusPO; import com.qkdata.biz.management.entity.OrgSurplusPO;
import com.qkdata.biz.management.entity.OrgUserReceiveRecordPO; import com.qkdata.biz.management.entity.OrgUserReceiveRecordPO;
import com.qkdata.biz.management.entity.OrganizationPO;
import com.qkdata.biz.management.entity.UserCourseAuthPO; import com.qkdata.biz.management.entity.UserCourseAuthPO;
import com.qkdata.biz.management.service.OrgSurplusService; import com.qkdata.biz.management.service.OrgSurplusService;
import com.qkdata.biz.management.service.OrgUserReceiveRecordService; import com.qkdata.biz.management.service.OrgUserReceiveRecordService;
import com.qkdata.biz.management.service.OrganizationService;
import com.qkdata.biz.management.service.UserCourseAuthService; import com.qkdata.biz.management.service.UserCourseAuthService;
import com.qkdata.biz.sys.entity.SysUserExtPO; import com.qkdata.biz.sys.entity.SysUserExtPO;
import com.qkdata.biz.sys.entity.SysUserPO; import com.qkdata.biz.sys.entity.SysUserPO;
...@@ -55,6 +58,8 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> { ...@@ -55,6 +58,8 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
private OrgUserReceiveRecordService orgUserReceiveRecordService; private OrgUserReceiveRecordService orgUserReceiveRecordService;
@Autowired @Autowired
private UserCourseAuthService userCourseAuthService; private UserCourseAuthService userCourseAuthService;
@Autowired
private OrganizationService orgService;
public SysUserPO getByUsername(String username) { public SysUserPO getByUsername(String username) {
return baseMapper.selectOne(Wrappers.<SysUserPO>lambdaQuery().eq(SysUserPO::getUsername,username)); return baseMapper.selectOne(Wrappers.<SysUserPO>lambdaQuery().eq(SysUserPO::getUsername,username));
...@@ -134,7 +139,21 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> { ...@@ -134,7 +139,21 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
} }
public FullUserInfo findFullUserInfo(String username) { public FullUserInfo findFullUserInfo(String username) {
return baseMapper.selectFullUserInfo(username); FullUserInfo userInfo = baseMapper.selectFullUserInfo(username);
List<SysRoleModel> roleModels = sysRoleService.getUserRoles(userInfo.getId());
for (SysRoleModel role : roleModels){
if (role.getCode().equals(BizConstants.ROLE_ENTERPRISE_ADMIN)){
userInfo.setEnterpriesMgr(true);
break;
}
}
if (userInfo.getEnterpriseId() != null){
OrganizationPO orgPo = orgService.getById(userInfo.getEnterpriseId());
if (orgPo != null){
userInfo.setEnterpriseName(orgPo.getName());
}
}
return userInfo;
} }
public void registerUser(String mobile) { public void registerUser(String mobile) {
......
package com.qkdata.biz.web.controller;
import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.web.vo.CourseConsumeRecordModel;
import com.qkdata.common.base.model.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
@Api(tags = "课程消耗记录")
@RestController
@RequestMapping("/api/consumeRecord")
public class CourseConsumeRecordController {
@Autowired
@Qualifier("objectRedisTemplate")
private RedisTemplate redisTemplate;
@ApiOperation("记录课程消耗记录")
@PostMapping("/save")
@RequiresRoles(value = {BizConstants.ROLE_USER,BizConstants.ROLE_ENTERPRISE_ADMIN},logical = Logical.OR)
public Result<String> save(@RequestBody CourseConsumeRecordModel model){
if(redisTemplate.hasKey(model.getUuid())){
CourseConsumeRecordModel cacheModel = (CourseConsumeRecordModel) redisTemplate.opsForValue().get(model.getUuid());
cacheModel.setLearnDuration(model.getLearnDuration());
redisTemplate.opsForValue().set(cacheModel.getUuid(),cacheModel);
}else {
model.setStartTime(LocalDateTime.now());
redisTemplate.opsForValue().set(model.getUuid(),model);
}
return Result.succeed("ok");
}
}
...@@ -2,6 +2,7 @@ package com.qkdata.biz.web.controller; ...@@ -2,6 +2,7 @@ package com.qkdata.biz.web.controller;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.qkdata.biz.common.BizConstants; import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.enums.PayMethodEnum;
import com.qkdata.biz.enums.PaySourceEnum; import com.qkdata.biz.enums.PaySourceEnum;
import com.qkdata.biz.enums.ProductOrderStatusEnum; import com.qkdata.biz.enums.ProductOrderStatusEnum;
import com.qkdata.biz.enums.ProductTypeEnum; import com.qkdata.biz.enums.ProductTypeEnum;
...@@ -58,7 +59,7 @@ public class FrontendProductOrderController { ...@@ -58,7 +59,7 @@ public class FrontendProductOrderController {
if (model.getSource() == null){ if (model.getSource() == null){
throw new BusinessException("请求错误,source不能为空"); throw new BusinessException("请求错误,source不能为空");
} }
if (model.getSource() == PaySourceEnum.JSAPI){ if (model.getPayMethod() == PayMethodEnum.WeiXin && model.getSource() == PaySourceEnum.JSAPI){
if (StrUtil.isBlank(model.getOpenId())){ if (StrUtil.isBlank(model.getOpenId())){
throw new BusinessException("请求错误,openId不能为空"); throw new BusinessException("请求错误,openId不能为空");
} }
......
package com.qkdata.biz.web.controller; package com.qkdata.biz.web.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.qkdata.biz.common.BizConstants; import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.enums.AccountStatusEnum;
import com.qkdata.biz.enums.AccountTypeEnum; import com.qkdata.biz.enums.AccountTypeEnum;
import com.qkdata.biz.enums.OrgTypeEnum; import com.qkdata.biz.enums.OrgTypeEnum;
import com.qkdata.biz.enums.ProductTypeEnum; import com.qkdata.biz.enums.ProductTypeEnum;
...@@ -21,8 +23,10 @@ import io.swagger.annotations.ApiOperation; ...@@ -21,8 +23,10 @@ import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map; import java.util.Map;
@Api(tags = "我的企业相关接口-手机端") @Api(tags = "我的企业相关接口-手机端")
...@@ -175,5 +179,27 @@ public class MyEnterpriseController { ...@@ -175,5 +179,27 @@ public class MyEnterpriseController {
model.setOrgId(userService.getUserEnterpriesId(UserContext.getUserId())); model.setOrgId(userService.getUserEnterpriesId(UserContext.getUserId()));
return orderService.queryPageList(model); return orderService.queryPageList(model);
} }
@ApiOperation("添加企业成员")
@PostMapping("/member/add")
@RequiresRoles(value = {BizConstants.ROLE_ENTERPRISE_ADMIN})
public Result<String> addMember(@RequestBody @Validated AddMemberModel model){
Long orgId = userService.getUserEnterpriesId(UserContext.getUserId());
MemberInfoModel memberInfo = new MemberInfoModel();
memberInfo.setUsername(model.getMobile());
memberInfo.setName(model.getName());
memberInfo.setEnterpriseId(orgId);
memberInfo.setType(AccountTypeEnum.ENTERPRISE_VIP);
List<String> roleCodeList = Lists.newArrayList(BizConstants.ROLE_USER);
memberInfo.setRoleCodeList(roleCodeList);
memberService.save(memberInfo);
return Result.succeed("ok");
}
@ApiOperation("删除成员")
@GetMapping("/member/delete")
@RequiresRoles(value = {BizConstants.ROLE_ENTERPRISE_ADMIN})
public Result<String> deleteMember(@RequestParam Long userId){
//todo
return Result.succeed("ok");
}
} }
package com.qkdata.biz.web.vo;
import com.qkdata.common.constants.ValidatorPattern;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@Data
public class AddMemberModel {
@NotBlank(message = "手机号不能为空")
@Pattern(regexp = ValidatorPattern.MOBILE_PATTERN, message = "手机号格式不正确")
private String mobile;
private String name;
}
package com.qkdata.biz.web.vo;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 课程消耗记录
*/
@Data
public class CourseConsumeRecordModel {
/**
* 本次观看唯一标识
*/
private String uuid;
/**
* 课程ID
*/
private Long courseId;
/**
* 章节ID
*/
private Long chaperId;
/**
* 本次观看累记时长
*/
private int learnDuration;
/**
* 开始观看时间
*/
private LocalDateTime startTime;
}
...@@ -19,4 +19,5 @@ public class CreateOrderModel { ...@@ -19,4 +19,5 @@ public class CreateOrderModel {
private PaySourceEnum source; private PaySourceEnum source;
private String openId; private String openId;
private String orderNo; private String orderNo;
private String returnUrl;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment