Parcourir la source

Merge branch 'corp_func'

zoujiajian il y a 3 ans
Parent
commit
59ebe0ca32

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/Task.java

@@ -49,5 +49,7 @@ public class Task extends BaseEntity{
 	@Min(value = 1)
 	@Min(value = 1)
 	private Integer points;
 	private Integer points;
 
 
+	private Boolean status;
+
 	private Boolean deleted;
 	private Boolean deleted;
 }
 }

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/TaskFrontView.java

@@ -17,7 +17,7 @@ import lombok.Setter;
 @Setter
 @Setter
 @SearchBean(tables = "task t left join task_type tt on tt.id = t.type_id" +
 @SearchBean(tables = "task t left join task_type tt on tt.id = t.type_id" +
 		" left join coupon c on c.id = t.coupon_id",
 		" left join coupon c on c.id = t.coupon_id",
-		where = "t.deleted is true")
+		where = "t.deleted is true and t.status is true")
 public class TaskFrontView {
 public class TaskFrontView {
 
 
 	@DbField("t.id")
 	@DbField("t.id")

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/TaskView.java

@@ -41,6 +41,9 @@ public class TaskView {
 	@DbField("t.points")
 	@DbField("t.points")
 	private Integer points;
 	private Integer points;
 
 
+	@DbField("t.status")
+	private Boolean status;
+
 	@DbField("t.coupon_id")
 	@DbField("t.coupon_id")
 	private Long couponId;
 	private Long couponId;
 
 

+ 2 - 0
netflix-service/src/main/java/com/cyksj/service/corp/CorpService.java

@@ -28,4 +28,6 @@ public interface CorpService {
 	String getAgentJsTicket(String corpId, String agentId) throws Exception;
 	String getAgentJsTicket(String corpId, String agentId) throws Exception;
 
 
 	YHLXUserDetailView getUserDetailView(String externalUserid, String corpId) throws Exception;
 	YHLXUserDetailView getUserDetailView(String externalUserid, String corpId) throws Exception;
+
+	Boolean isJoinCorpWx(Long userId, Boolean isJoin);
 }
 }

+ 5 - 0
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpEventActionServiceImpl.java

@@ -12,6 +12,7 @@ import com.cyksj.model.response.CorpExternalContactInfo;
 import com.cyksj.model.response.CorpUserExternalTagGroupList;
 import com.cyksj.model.response.CorpUserExternalTagGroupList;
 import com.cyksj.model.response.ExternalContact;
 import com.cyksj.model.response.ExternalContact;
 import com.cyksj.model.response.FollowedUser;
 import com.cyksj.model.response.FollowedUser;
+import com.cyksj.service.corp.CorpService;
 import com.cyksj.service.corp.WxCorpOps;
 import com.cyksj.service.corp.WxCorpOps;
 import com.cyksj.service.corp.msg.CorpEventActionService;
 import com.cyksj.service.corp.msg.CorpEventActionService;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
@@ -48,6 +49,8 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 
 
 	private final CorpUserAuthMapper corpUserAuthMapper;
 	private final CorpUserAuthMapper corpUserAuthMapper;
 
 
+	private final CorpService corpService;
+
 	/**
 	/**
 	 * 客户添加成员
 	 * 客户添加成员
 	 */
 	 */
@@ -78,6 +81,8 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 			User user = userMapper.selectOne(Wrappers.lambdaQuery(User.class).eq(User::getUnionid, corpUser.getUnionid()));
 			User user = userMapper.selectOne(Wrappers.lambdaQuery(User.class).eq(User::getUnionid, corpUser.getUnionid()));
 			if (user != null) {
 			if (user != null) {
 				corpUser.setUserId(user.getId());
 				corpUser.setUserId(user.getId());
+				//加入企业微信后发放优惠券
+				corpService.isJoinCorpWx(user.getId(), true);
 			}
 			}
 			corpUserMapper.insert(corpUser);
 			corpUserMapper.insert(corpUser);
 		} else {
 		} else {

+ 31 - 0
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpServiceImpl.java

@@ -23,6 +23,7 @@ import com.cyksj.model.manage.views.OrderDonView;
 import com.cyksj.model.request.corp.CorpXmlMessage;
 import com.cyksj.model.request.corp.CorpXmlMessage;
 import com.cyksj.model.request.corp.CorpXmlOutMessage;
 import com.cyksj.model.request.corp.CorpXmlOutMessage;
 import com.cyksj.model.response.CorpUserInfo;
 import com.cyksj.model.response.CorpUserInfo;
+import com.cyksj.model.views.RenewalView;
 import com.cyksj.model.views.TicketView;
 import com.cyksj.model.views.TicketView;
 import com.cyksj.model.views.YHLXUserDetailView;
 import com.cyksj.model.views.YHLXUserDetailView;
 import com.cyksj.redis.RedisService;
 import com.cyksj.redis.RedisService;
@@ -31,6 +32,7 @@ import com.cyksj.service.corp.WxCorpOps;
 import com.cyksj.service.corp.msg.CorpEventActionService;
 import com.cyksj.service.corp.msg.CorpEventActionService;
 import com.cyksj.service.corp.msg.CorpMessageHandler;
 import com.cyksj.service.corp.msg.CorpMessageHandler;
 import com.cyksj.service.corp.msg.CorpMessageRouter;
 import com.cyksj.service.corp.msg.CorpMessageRouter;
+import com.cyksj.service.mange.coupon.CouponCommonService;
 import com.cyksj.util.WxCorpUtil;
 import com.cyksj.util.WxCorpUtil;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.param.Operator;
 import com.ejlchina.searcher.param.Operator;
@@ -90,6 +92,9 @@ public class CorpServiceImpl implements CorpService {
 	@Autowired
 	@Autowired
 	private CorpUserAuthMapper corpUserAuthMapper;
 	private CorpUserAuthMapper corpUserAuthMapper;
 
 
+	@Autowired
+	private CouponCommonService couponCommonService;
+
 	@PostConstruct
 	@PostConstruct
 	private void init() {
 	private void init() {
 		corpMessageRouter = new CorpMessageRouter(this)
 		corpMessageRouter = new CorpMessageRouter(this)
@@ -349,4 +354,30 @@ public class CorpServiceImpl implements CorpService {
 		}
 		}
 		return view;
 		return view;
 	}
 	}
+
+	@Override
+	public Boolean isJoinCorpWx(Long userId, Boolean isJoin) {
+		if (!isJoin) {
+			User user = userMapper.selectById(userId);
+			CorpUser corpUser = corpUserMapper.selectOne(Wrappers.lambdaQuery(CorpUser.class)
+					.ne(CorpUser::getUnionid, "")
+					.eq(CorpUser::getUserId, user.getUnionid())
+					.last("limit 1")
+					.select(CorpUser::getId)
+			);
+			if (corpUser == null) {
+				return false;
+			}
+		}
+		//用户是否买了奈飞车票
+		Number number = beanSearcher.searchCount(RenewalView.class, MapUtils.builder()
+				.field(RenewalView::getUserId, userId)
+				.field(RenewalView::getGoodsId, 1)
+				.field(RenewalView::getStatus, List.of("validity", "overdue")).op(Operator.InList)
+				.build());
+		if (number.intValue() > 0) {
+			couponCommonService.sendCouponToUser(userId, 34l, 0l, 0l, 0l, CouponUser.Channel.manual);
+		}
+		return true;
+	}
 }
 }

+ 1 - 0
netflix-service/src/main/java/com/cyksj/service/market/impl/MarketFrontServiceImpl.java

@@ -501,6 +501,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 			}
 			}
 			if (record == null && isWx && StrUtil.isNotEmpty(user.getUnionid())) {
 			if (record == null && isWx && StrUtil.isNotEmpty(user.getUnionid())) {
 				CorpUser corpUser = corpUserMapper.selectOne(Wrappers.lambdaQuery(CorpUser.class)
 				CorpUser corpUser = corpUserMapper.selectOne(Wrappers.lambdaQuery(CorpUser.class)
+						.ne(CorpUser::getUnionid, "")
 						.eq(CorpUser::getUnionid, user.getUnionid())
 						.eq(CorpUser::getUnionid, user.getUnionid())
 						.last("limit 1"));
 						.last("limit 1"));
 				if (corpUser != null) {
 				if (corpUser != null) {

+ 1 - 0
netflix-service/src/main/java/com/cyksj/service/market/task/impl/TaskServiceImpl.java

@@ -77,6 +77,7 @@ public class TaskServiceImpl implements TaskService {
 				.last("limit 1");
 				.last("limit 1");
 		List<Task> tasks = taskMapper.selectList(Wrappers.lambdaQuery(Task.class)
 		List<Task> tasks = taskMapper.selectList(Wrappers.lambdaQuery(Task.class)
 				.eq(Task::getTypeId, type.getId())
 				.eq(Task::getTypeId, type.getId())
+				.eq(Task::getStatus, true)
 				.eq(Task::getDeleted, true));
 				.eq(Task::getDeleted, true));
 		tasks.forEach(task -> {
 		tasks.forEach(task -> {
 			if ("time".equals(task.getTaskLimit())) {
 			if ("time".equals(task.getTaskLimit())) {

+ 12 - 1
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -9,6 +9,7 @@ import com.cyksj.model.entity.GroupsRelation;
 import com.cyksj.model.entity.OrderDon;
 import com.cyksj.model.entity.OrderDon;
 import com.cyksj.model.request.OrderPayRequest;
 import com.cyksj.model.request.OrderPayRequest;
 import com.cyksj.model.views.RenewalView;
 import com.cyksj.model.views.RenewalView;
+import com.cyksj.service.corp.CorpService;
 import com.cyksj.service.order.OrderDonService;
 import com.cyksj.service.order.OrderDonService;
 import com.cyksj.service.relation.GroupRelationFrontService;
 import com.cyksj.service.relation.GroupRelationFrontService;
 import com.cyksj.web.util.StpUserUtil;
 import com.cyksj.web.util.StpUserUtil;
@@ -37,6 +38,8 @@ public class GroupRelationController {
 
 
     private final GroupRelationFrontService groupRelationFrontService;
     private final GroupRelationFrontService groupRelationFrontService;
 
 
+    private final CorpService corpService;
+
     @RequestMapping("/get/renewal")
     @RequestMapping("/get/renewal")
     public Result<List<RenewalView>> get(Boolean isLoginPopularize) {
     public Result<List<RenewalView>> get(Boolean isLoginPopularize) {
         long userId = StpUserUtil.getLoginIdAsLong();
         long userId = StpUserUtil.getLoginIdAsLong();
@@ -64,5 +67,13 @@ public class GroupRelationController {
         return GatewayResponse.SUCCESS.newBuilder().toResult();
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
     }
 
 
-
+    /**
+     * 查询是否加入了企业微信
+     */
+    @GetMapping("/check/joinCorpWx")
+    public Result<Boolean> isJoinCorpWx() {
+        long userId = StpUserUtil.getLoginIdAsLong();
+        Boolean flag = corpService.isJoinCorpWx(userId, false);
+        return GatewayResponse.SUCCESS.newBuilder().toResult(flag);
+    }
 }
 }

+ 14 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/market/TaskController.java

@@ -91,6 +91,20 @@ public class TaskController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult("编辑任务成功");
 		return GatewayResponse.SUCCESS.newBuilder().toResult("编辑任务成功");
 	}
 	}
 
 
+	/**
+	 * 任务上下架
+	 */
+	@PutMapping("/put/{id}")
+	public Result<String> updateStatusById(@PathVariable Long id) {
+		Task task = taskMapper.selectById(id);
+		if (task == null || !task.getDeleted()) {
+			throw BusinessRuntimeException.getInstance("该任务已不存在");
+		}
+		task.setStatus(!task.getStatus());
+		taskMapper.updateById(task);
+		return GatewayResponse.SUCCESS.newBuilder().toResult("任务上下架成功");
+	}
+
 	/**
 	/**
 	 * 任务列表
 	 * 任务列表
 	 */
 	 */