Commit 8bc20f11 authored by liuyang's avatar liuyang

update

parent f239a5a4
......@@ -41,7 +41,7 @@ public class AlipayService {
AlipayTradeWapPayRequest alipay_request=new AlipayTradeWapPayRequest();
alipay_request.setBizModel(model);
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 = "";
AlipayTradeWapPayResponse response = alipayClient.pageExecute(alipay_request);
if (response.isSuccess()){
......
......@@ -111,11 +111,11 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
ProductOrderPO orderPO = createPO(model);
save(orderPO);
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);
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){
try {
Object rtObj = wxCreateOrder(orderPO,source,openId);
......@@ -129,7 +129,7 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
payModel.setOutTradeNo(orderPO.getOrderNo());
payModel.setSubject(orderPO.getOrderName());
payModel.setTotalAmount(orderPO.getPaymentMoney().toString());
payModel.setQuitUrl(frontendDomain + "/online-edu/pay/result");//todo
payModel.setQuitUrl(returnUrl+"&result=true");
payModel.setProductCode("QUICK_WAP_WAY");//todo
try {
String form = alipayService.prePayOrder(payModel);
......@@ -296,7 +296,7 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
}
CreateOrderResult result = new CreateOrderResult();
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);
return result;
}
......
......@@ -5,14 +5,17 @@ import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.enums.AccountStatusEnum;
import com.qkdata.biz.enums.AccountTypeEnum;
import com.qkdata.biz.enums.ProductTypeEnum;
import com.qkdata.biz.management.entity.OrgSurplusPO;
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.service.OrgSurplusService;
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.sys.entity.SysUserExtPO;
import com.qkdata.biz.sys.entity.SysUserPO;
......@@ -55,6 +58,8 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
private OrgUserReceiveRecordService orgUserReceiveRecordService;
@Autowired
private UserCourseAuthService userCourseAuthService;
@Autowired
private OrganizationService orgService;
public SysUserPO getByUsername(String username) {
return baseMapper.selectOne(Wrappers.<SysUserPO>lambdaQuery().eq(SysUserPO::getUsername,username));
......@@ -134,7 +139,21 @@ public class SysUserService extends BaseServiceImpl<SysUserMapper, SysUserPO> {
}
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) {
......
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;
import cn.hutool.core.util.StrUtil;
import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.enums.PayMethodEnum;
import com.qkdata.biz.enums.PaySourceEnum;
import com.qkdata.biz.enums.ProductOrderStatusEnum;
import com.qkdata.biz.enums.ProductTypeEnum;
......@@ -58,7 +59,7 @@ public class FrontendProductOrderController {
if (model.getSource() == null){
throw new BusinessException("请求错误,source不能为空");
}
if (model.getSource() == PaySourceEnum.JSAPI){
if (model.getPayMethod() == PayMethodEnum.WeiXin && model.getSource() == PaySourceEnum.JSAPI){
if (StrUtil.isBlank(model.getOpenId())){
throw new BusinessException("请求错误,openId不能为空");
}
......
package com.qkdata.biz.web.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.enums.AccountStatusEnum;
import com.qkdata.biz.enums.AccountTypeEnum;
import com.qkdata.biz.enums.OrgTypeEnum;
import com.qkdata.biz.enums.ProductTypeEnum;
......@@ -21,8 +23,10 @@ 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@Api(tags = "我的企业相关接口-手机端")
......@@ -175,5 +179,27 @@ public class MyEnterpriseController {
model.setOrgId(userService.getUserEnterpriesId(UserContext.getUserId()));
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 {
private PaySourceEnum source;
private String openId;
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