添加团购
This commit is contained in:
@@ -31,9 +31,9 @@ public class QCodeService {
|
||||
FileInputStream inputStream = new FileInputStream(file);
|
||||
//将商品图片,商品名字,商城名字画到模版图中
|
||||
byte[] imageData = drawPicture(inputStream, goodPicUrl, goodName, SystemConfig.getMallName());
|
||||
MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(), "image/jpeg", imageData);
|
||||
ByteArrayInputStream inputStream2 = new ByteArrayInputStream(imageData);
|
||||
//存储分享图
|
||||
storageService.store(multipartFile, getKeyName(groupon.getId().toString()));
|
||||
storageService.store(inputStream2, imageData.length, "image/jpeg", getKeyName(groupon.getId().toString()));
|
||||
} catch (WxErrorException e) {
|
||||
e.printStackTrace();
|
||||
} catch (FileNotFoundException e) {
|
||||
|
||||
@@ -71,11 +71,11 @@ public class LitemallGroupon {
|
||||
/**
|
||||
*
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column litemall_groupon.user_type
|
||||
* This field corresponds to the database column litemall_groupon.creator_user_id
|
||||
*
|
||||
* @mbg.generated
|
||||
*/
|
||||
private Boolean userType;
|
||||
private Integer creatorUserId;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -253,26 +253,26 @@ public class LitemallGroupon {
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column litemall_groupon.user_type
|
||||
* This method returns the value of the database column litemall_groupon.creator_user_id
|
||||
*
|
||||
* @return the value of litemall_groupon.user_type
|
||||
* @return the value of litemall_groupon.creator_user_id
|
||||
*
|
||||
* @mbg.generated
|
||||
*/
|
||||
public Boolean getUserType() {
|
||||
return userType;
|
||||
public Integer getCreatorUserId() {
|
||||
return creatorUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column litemall_groupon.user_type
|
||||
* This method sets the value of the database column litemall_groupon.creator_user_id
|
||||
*
|
||||
* @param userType the value for litemall_groupon.user_type
|
||||
* @param creatorUserId the value for litemall_groupon.creator_user_id
|
||||
*
|
||||
* @mbg.generated
|
||||
*/
|
||||
public void setUserType(Boolean userType) {
|
||||
this.userType = userType;
|
||||
public void setCreatorUserId(Integer creatorUserId) {
|
||||
this.creatorUserId = creatorUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -436,7 +436,7 @@ public class LitemallGroupon {
|
||||
sb.append(", grouponId=").append(grouponId);
|
||||
sb.append(", rulesId=").append(rulesId);
|
||||
sb.append(", userId=").append(userId);
|
||||
sb.append(", userType=").append(userType);
|
||||
sb.append(", creatorUserId=").append(creatorUserId);
|
||||
sb.append(", addTime=").append(addTime);
|
||||
sb.append(", expireTime=").append(expireTime);
|
||||
sb.append(", shareUrl=").append(shareUrl);
|
||||
@@ -470,7 +470,7 @@ public class LitemallGroupon {
|
||||
&& (this.getGrouponId() == null ? other.getGrouponId() == null : this.getGrouponId().equals(other.getGrouponId()))
|
||||
&& (this.getRulesId() == null ? other.getRulesId() == null : this.getRulesId().equals(other.getRulesId()))
|
||||
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
|
||||
&& (this.getUserType() == null ? other.getUserType() == null : this.getUserType().equals(other.getUserType()))
|
||||
&& (this.getCreatorUserId() == null ? other.getCreatorUserId() == null : this.getCreatorUserId().equals(other.getCreatorUserId()))
|
||||
&& (this.getAddTime() == null ? other.getAddTime() == null : this.getAddTime().equals(other.getAddTime()))
|
||||
&& (this.getExpireTime() == null ? other.getExpireTime() == null : this.getExpireTime().equals(other.getExpireTime()))
|
||||
&& (this.getShareUrl() == null ? other.getShareUrl() == null : this.getShareUrl().equals(other.getShareUrl()))
|
||||
@@ -494,7 +494,7 @@ public class LitemallGroupon {
|
||||
result = prime * result + ((getGrouponId() == null) ? 0 : getGrouponId().hashCode());
|
||||
result = prime * result + ((getRulesId() == null) ? 0 : getRulesId().hashCode());
|
||||
result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
|
||||
result = prime * result + ((getUserType() == null) ? 0 : getUserType().hashCode());
|
||||
result = prime * result + ((getCreatorUserId() == null) ? 0 : getCreatorUserId().hashCode());
|
||||
result = prime * result + ((getAddTime() == null) ? 0 : getAddTime().hashCode());
|
||||
result = prime * result + ((getExpireTime() == null) ? 0 : getExpireTime().hashCode());
|
||||
result = prime * result + ((getShareUrl() == null) ? 0 : getShareUrl().hashCode());
|
||||
@@ -528,7 +528,7 @@ public class LitemallGroupon {
|
||||
grouponId("groupon_id", "grouponId", "INTEGER"),
|
||||
rulesId("rules_id", "rulesId", "INTEGER"),
|
||||
userId("user_id", "userId", "INTEGER"),
|
||||
userType("user_type", "userType", "BIT"),
|
||||
creatorUserId("creator_user_id", "creatorUserId", "INTEGER"),
|
||||
addTime("add_time", "addTime", "TIMESTAMP"),
|
||||
expireTime("expire_time", "expireTime", "TIMESTAMP"),
|
||||
shareUrl("share_url", "shareUrl", "VARCHAR"),
|
||||
|
||||
@@ -526,63 +526,63 @@ public class LitemallGrouponExample {
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeIsNull() {
|
||||
addCriterion("user_type is null");
|
||||
public Criteria andCreatorUserIdIsNull() {
|
||||
addCriterion("creator_user_id is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeIsNotNull() {
|
||||
addCriterion("user_type is not null");
|
||||
public Criteria andCreatorUserIdIsNotNull() {
|
||||
addCriterion("creator_user_id is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeEqualTo(Boolean value) {
|
||||
addCriterion("user_type =", value, "userType");
|
||||
public Criteria andCreatorUserIdEqualTo(Integer value) {
|
||||
addCriterion("creator_user_id =", value, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeNotEqualTo(Boolean value) {
|
||||
addCriterion("user_type <>", value, "userType");
|
||||
public Criteria andCreatorUserIdNotEqualTo(Integer value) {
|
||||
addCriterion("creator_user_id <>", value, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeGreaterThan(Boolean value) {
|
||||
addCriterion("user_type >", value, "userType");
|
||||
public Criteria andCreatorUserIdGreaterThan(Integer value) {
|
||||
addCriterion("creator_user_id >", value, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeGreaterThanOrEqualTo(Boolean value) {
|
||||
addCriterion("user_type >=", value, "userType");
|
||||
public Criteria andCreatorUserIdGreaterThanOrEqualTo(Integer value) {
|
||||
addCriterion("creator_user_id >=", value, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeLessThan(Boolean value) {
|
||||
addCriterion("user_type <", value, "userType");
|
||||
public Criteria andCreatorUserIdLessThan(Integer value) {
|
||||
addCriterion("creator_user_id <", value, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeLessThanOrEqualTo(Boolean value) {
|
||||
addCriterion("user_type <=", value, "userType");
|
||||
public Criteria andCreatorUserIdLessThanOrEqualTo(Integer value) {
|
||||
addCriterion("creator_user_id <=", value, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeIn(List<Boolean> values) {
|
||||
addCriterion("user_type in", values, "userType");
|
||||
public Criteria andCreatorUserIdIn(List<Integer> values) {
|
||||
addCriterion("creator_user_id in", values, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeNotIn(List<Boolean> values) {
|
||||
addCriterion("user_type not in", values, "userType");
|
||||
public Criteria andCreatorUserIdNotIn(List<Integer> values) {
|
||||
addCriterion("creator_user_id not in", values, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeBetween(Boolean value1, Boolean value2) {
|
||||
addCriterion("user_type between", value1, value2, "userType");
|
||||
public Criteria andCreatorUserIdBetween(Integer value1, Integer value2) {
|
||||
addCriterion("creator_user_id between", value1, value2, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUserTypeNotBetween(Boolean value1, Boolean value2) {
|
||||
addCriterion("user_type not between", value1, value2, "userType");
|
||||
public Criteria andCreatorUserIdNotBetween(Integer value1, Integer value2) {
|
||||
addCriterion("creator_user_id not between", value1, value2, "creatorUserId");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,18 @@ public class LitemallGrouponService {
|
||||
return mapper.selectByExample(example);
|
||||
}
|
||||
|
||||
public List<LitemallGroupon> queryMyGroupon(Integer userId) {
|
||||
LitemallGrouponExample example = new LitemallGrouponExample();
|
||||
example.or().andUserIdEqualTo(userId).andCreatorUserIdEqualTo(userId).andGrouponIdEqualTo(0).andDeletedEqualTo(false);
|
||||
return mapper.selectByExample(example);
|
||||
}
|
||||
|
||||
public List<LitemallGroupon> queryMyJoinGroupon(Integer userId) {
|
||||
LitemallGrouponExample example = new LitemallGrouponExample();
|
||||
example.or().andUserIdEqualTo(userId).andGrouponIdNotEqualTo(0).andDeletedEqualTo(false);
|
||||
return mapper.selectByExample(example);
|
||||
}
|
||||
|
||||
public LitemallGroupon queryByOrderId(Integer orderId) {
|
||||
LitemallGrouponExample example = new LitemallGrouponExample();
|
||||
example.or().andOrderIdEqualTo(orderId).andDeletedEqualTo(false);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<result column="groupon_id" jdbcType="INTEGER" property="grouponId" />
|
||||
<result column="rules_id" jdbcType="INTEGER" property="rulesId" />
|
||||
<result column="user_id" jdbcType="INTEGER" property="userId" />
|
||||
<result column="user_type" jdbcType="BIT" property="userType" />
|
||||
<result column="creator_user_id" jdbcType="INTEGER" property="creatorUserId" />
|
||||
<result column="add_time" jdbcType="TIMESTAMP" property="addTime" />
|
||||
<result column="expire_time" jdbcType="TIMESTAMP" property="expireTime" />
|
||||
<result column="share_url" jdbcType="VARCHAR" property="shareUrl" />
|
||||
@@ -90,8 +90,8 @@
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
-->
|
||||
id, order_id, groupon_id, rules_id, user_id, user_type, add_time, expire_time, share_url,
|
||||
payed, deleted, version
|
||||
id, order_id, groupon_id, rules_id, user_id, creator_user_id, add_time, expire_time,
|
||||
share_url, payed, deleted, version
|
||||
</sql>
|
||||
<select id="selectByExample" parameterType="org.linlinjava.litemall.db.domain.LitemallGrouponExample" resultMap="BaseResultMap">
|
||||
<!--
|
||||
@@ -128,8 +128,8 @@
|
||||
</foreach>
|
||||
</when>
|
||||
<otherwise>
|
||||
id, order_id, groupon_id, rules_id, user_id, user_type, add_time, expire_time, share_url,
|
||||
payed, deleted, version
|
||||
id, order_id, groupon_id, rules_id, user_id, creator_user_id, add_time, expire_time,
|
||||
share_url, payed, deleted, version
|
||||
</otherwise>
|
||||
</choose>
|
||||
from litemall_groupon
|
||||
@@ -188,8 +188,8 @@
|
||||
</foreach>
|
||||
</when>
|
||||
<otherwise>
|
||||
id, order_id, groupon_id, rules_id, user_id, user_type, add_time, expire_time, share_url,
|
||||
payed, deleted, version
|
||||
id, order_id, groupon_id, rules_id, user_id, creator_user_id, add_time, expire_time,
|
||||
share_url, payed, deleted, version
|
||||
</otherwise>
|
||||
</choose>
|
||||
from litemall_groupon
|
||||
@@ -222,11 +222,11 @@
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into litemall_groupon (order_id, groupon_id, rules_id,
|
||||
user_id, user_type, add_time,
|
||||
user_id, creator_user_id, add_time,
|
||||
expire_time, share_url, payed,
|
||||
deleted, version)
|
||||
values (#{orderId,jdbcType=INTEGER}, #{grouponId,jdbcType=INTEGER}, #{rulesId,jdbcType=INTEGER},
|
||||
#{userId,jdbcType=INTEGER}, #{userType,jdbcType=BIT}, #{addTime,jdbcType=TIMESTAMP},
|
||||
#{userId,jdbcType=INTEGER}, #{creatorUserId,jdbcType=INTEGER}, #{addTime,jdbcType=TIMESTAMP},
|
||||
#{expireTime,jdbcType=TIMESTAMP}, #{shareUrl,jdbcType=VARCHAR}, #{payed,jdbcType=BIT},
|
||||
#{deleted,jdbcType=BIT}, #{version,jdbcType=INTEGER})
|
||||
</insert>
|
||||
@@ -252,8 +252,8 @@
|
||||
<if test="userId != null">
|
||||
user_id,
|
||||
</if>
|
||||
<if test="userType != null">
|
||||
user_type,
|
||||
<if test="creatorUserId != null">
|
||||
creator_user_id,
|
||||
</if>
|
||||
<if test="addTime != null">
|
||||
add_time,
|
||||
@@ -287,8 +287,8 @@
|
||||
<if test="userId != null">
|
||||
#{userId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="userType != null">
|
||||
#{userType,jdbcType=BIT},
|
||||
<if test="creatorUserId != null">
|
||||
#{creatorUserId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="addTime != null">
|
||||
#{addTime,jdbcType=TIMESTAMP},
|
||||
@@ -342,8 +342,8 @@
|
||||
<if test="record.userId != null">
|
||||
user_id = #{record.userId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="record.userType != null">
|
||||
user_type = #{record.userType,jdbcType=BIT},
|
||||
<if test="record.creatorUserId != null">
|
||||
creator_user_id = #{record.creatorUserId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="record.addTime != null">
|
||||
add_time = #{record.addTime,jdbcType=TIMESTAMP},
|
||||
@@ -379,7 +379,7 @@
|
||||
groupon_id = #{record.grouponId,jdbcType=INTEGER},
|
||||
rules_id = #{record.rulesId,jdbcType=INTEGER},
|
||||
user_id = #{record.userId,jdbcType=INTEGER},
|
||||
user_type = #{record.userType,jdbcType=BIT},
|
||||
creator_user_id = #{record.creatorUserId,jdbcType=INTEGER},
|
||||
add_time = #{record.addTime,jdbcType=TIMESTAMP},
|
||||
expire_time = #{record.expireTime,jdbcType=TIMESTAMP},
|
||||
share_url = #{record.shareUrl,jdbcType=VARCHAR},
|
||||
@@ -409,8 +409,8 @@
|
||||
<if test="userId != null">
|
||||
user_id = #{userId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="userType != null">
|
||||
user_type = #{userType,jdbcType=BIT},
|
||||
<if test="creatorUserId != null">
|
||||
creator_user_id = #{creatorUserId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="addTime != null">
|
||||
add_time = #{addTime,jdbcType=TIMESTAMP},
|
||||
@@ -443,7 +443,7 @@
|
||||
groupon_id = #{grouponId,jdbcType=INTEGER},
|
||||
rules_id = #{rulesId,jdbcType=INTEGER},
|
||||
user_id = #{userId,jdbcType=INTEGER},
|
||||
user_type = #{userType,jdbcType=BIT},
|
||||
creator_user_id = #{creatorUserId,jdbcType=INTEGER},
|
||||
add_time = #{addTime,jdbcType=TIMESTAMP},
|
||||
expire_time = #{expireTime,jdbcType=TIMESTAMP},
|
||||
share_url = #{shareUrl,jdbcType=VARCHAR},
|
||||
@@ -483,8 +483,8 @@
|
||||
</foreach>
|
||||
</when>
|
||||
<otherwise>
|
||||
id, order_id, groupon_id, rules_id, user_id, user_type, add_time, expire_time, share_url,
|
||||
payed, deleted, version
|
||||
id, order_id, groupon_id, rules_id, user_id, creator_user_id, add_time, expire_time,
|
||||
share_url, payed, deleted, version
|
||||
</otherwise>
|
||||
</choose>
|
||||
from litemall_groupon
|
||||
|
||||
@@ -1,24 +1,19 @@
|
||||
package org.linlinjava.litemall.wx.web;
|
||||
|
||||
import org.linlinjava.litemall.core.qcode.QCodeService;
|
||||
import org.linlinjava.litemall.core.util.JacksonUtil;
|
||||
import org.linlinjava.litemall.core.util.ResponseUtil;
|
||||
import org.linlinjava.litemall.db.domain.LitemallGoods;
|
||||
import org.linlinjava.litemall.db.domain.LitemallGroupon;
|
||||
import org.linlinjava.litemall.db.domain.LitemallGrouponRules;
|
||||
import org.linlinjava.litemall.db.service.LitemallGoodsService;
|
||||
import org.linlinjava.litemall.db.service.LitemallGrouponRulesService;
|
||||
import org.linlinjava.litemall.db.service.LitemallGrouponService;
|
||||
import org.linlinjava.litemall.db.domain.*;
|
||||
import org.linlinjava.litemall.db.service.*;
|
||||
import org.linlinjava.litemall.db.util.OrderUtil;
|
||||
import org.linlinjava.litemall.wx.annotation.LoginUser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -34,7 +29,11 @@ public class WxGrouponController {
|
||||
@Autowired
|
||||
private LitemallGoodsService goodsService;
|
||||
@Autowired
|
||||
private QCodeService qCodeService;
|
||||
private LitemallOrderService orderService;
|
||||
@Autowired
|
||||
private LitemallOrderGoodsService orderGoodsService;
|
||||
@Autowired
|
||||
private LitemallUserService userService;
|
||||
|
||||
@GetMapping("detail")
|
||||
public Object detail(@LoginUser Integer userId, @NotNull Integer grouponId) {
|
||||
@@ -65,6 +64,65 @@ public class WxGrouponController {
|
||||
return ResponseUtil.ok(groupInfo);
|
||||
}
|
||||
|
||||
@GetMapping("my")
|
||||
public Object my(@LoginUser Integer userId, @RequestParam(defaultValue = "0") Integer showType) {
|
||||
if (userId == null) {
|
||||
return ResponseUtil.unlogin();
|
||||
}
|
||||
|
||||
List<LitemallGroupon> myGroupons;
|
||||
if (showType == 0) {
|
||||
myGroupons = grouponService.queryMyGroupon(userId);
|
||||
} else {
|
||||
myGroupons = grouponService.queryMyJoinGroupon(userId);
|
||||
}
|
||||
|
||||
List<Map<String, Object>> grouponVoList = new ArrayList<>(myGroupons.size());
|
||||
|
||||
LitemallOrder order;
|
||||
LitemallGrouponRules rules;
|
||||
LitemallUser creator;
|
||||
for (LitemallGroupon groupon : myGroupons) {
|
||||
order = orderService.findById(groupon.getOrderId());
|
||||
rules = rulesService.queryById(groupon.getRulesId());
|
||||
creator = userService.findById(groupon.getCreatorUserId());
|
||||
|
||||
Map<String, Object> grouponVo = new HashMap<>();
|
||||
//填充团购信息
|
||||
grouponVo.put("id", groupon.getId());
|
||||
grouponVo.put("groupon", groupon);
|
||||
grouponVo.put("rules", rules);
|
||||
grouponVo.put("creator", creator.getNickname());
|
||||
grouponVo.put("isCreator", creator.getId() == userId && groupon.getGrouponId() == 0);
|
||||
|
||||
//填充订单信息
|
||||
grouponVo.put("orderId", order.getId());
|
||||
grouponVo.put("orderSn", order.getOrderSn());
|
||||
grouponVo.put("actualPrice", order.getActualPrice());
|
||||
grouponVo.put("orderStatusText", OrderUtil.orderStatusText(order));
|
||||
grouponVo.put("handleOption", OrderUtil.build(order));
|
||||
|
||||
List<LitemallOrderGoods> orderGoodsList = orderGoodsService.queryByOid(order.getId());
|
||||
List<Map<String, Object>> orderGoodsVoList = new ArrayList<>(orderGoodsList.size());
|
||||
for (LitemallOrderGoods orderGoods : orderGoodsList) {
|
||||
Map<String, Object> orderGoodsVo = new HashMap<>();
|
||||
orderGoodsVo.put("id", orderGoods.getId());
|
||||
orderGoodsVo.put("goodsName", orderGoods.getGoodsName());
|
||||
orderGoodsVo.put("number", orderGoods.getNumber());
|
||||
orderGoodsVo.put("picUrl", orderGoods.getPicUrl());
|
||||
orderGoodsVoList.add(orderGoodsVo);
|
||||
}
|
||||
grouponVo.put("goodsList", orderGoodsVoList);
|
||||
grouponVoList.add(grouponVo);
|
||||
}
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("count", grouponVoList.size());
|
||||
result.put("data", grouponVoList);
|
||||
|
||||
return ResponseUtil.ok(result);
|
||||
}
|
||||
|
||||
@GetMapping("query")
|
||||
public Object query(@NotNull Integer goodsId) {
|
||||
LitemallGoods goods = goodsService.findById(goodsId);
|
||||
@@ -77,73 +135,6 @@ public class WxGrouponController {
|
||||
return ResponseUtil.ok(rules);
|
||||
}
|
||||
|
||||
@RequestMapping("join")
|
||||
public Object join(@LoginUser Integer userId, @RequestBody String body) {
|
||||
if (userId == null) {
|
||||
return ResponseUtil.unlogin();
|
||||
}
|
||||
|
||||
Integer rulesId = JacksonUtil.parseInteger(body, "rulesId");
|
||||
LitemallGrouponRules rules = rulesService.queryById(rulesId);
|
||||
if (rules == null) {
|
||||
return ResponseUtil.fail(-1, "未找到对应的团购规则");
|
||||
}
|
||||
|
||||
Integer grouponId = JacksonUtil.parseInteger(body, "grouponId");
|
||||
LitemallGroupon groupon = grouponService.queryById(grouponId);
|
||||
if (groupon == null) {
|
||||
return ResponseUtil.fail(-1, "未找到对应的团购活动");
|
||||
}
|
||||
|
||||
LitemallGroupon groupon2 = new LitemallGroupon();
|
||||
groupon2.setUserId(userId);
|
||||
groupon2.setRulesId(rulesId);
|
||||
groupon2.setShareUrl("");
|
||||
//参与者
|
||||
groupon2.setUserType(false);
|
||||
groupon2.setGrouponId(grouponId);
|
||||
|
||||
groupon2.setAddTime(LocalDateTime.now());
|
||||
//过期时间与创建一致
|
||||
groupon2.setExpireTime(groupon.getExpireTime());
|
||||
|
||||
grouponService.createGroupon(groupon);
|
||||
|
||||
return ResponseUtil.ok();
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("create")
|
||||
public Object create(@LoginUser Integer userId, @NotNull Integer rulesId) {
|
||||
if (userId == null) {
|
||||
return ResponseUtil.unlogin();
|
||||
}
|
||||
|
||||
LitemallGrouponRules rules = rulesService.queryById(rulesId);
|
||||
if (rules == null) {
|
||||
return ResponseUtil.fail(-1, "未找到对应的团购规则");
|
||||
}
|
||||
|
||||
LitemallGroupon groupon = new LitemallGroupon();
|
||||
groupon.setUserId(userId);
|
||||
groupon.setRulesId(rulesId);
|
||||
//发起者
|
||||
groupon.setUserType(true);
|
||||
groupon.setGrouponId(0);
|
||||
|
||||
groupon.setAddTime(LocalDateTime.now());
|
||||
groupon.setExpireTime(LocalDateTime.now().plusDays(2));
|
||||
|
||||
grouponService.createGroupon(groupon);
|
||||
|
||||
qCodeService.createGrouponShareImage(rules.getGoodsName(), rules.getPicUrl(), groupon);
|
||||
groupon.setShareUrl(qCodeService.getShareImageUrl(groupon.getId().toString()));
|
||||
grouponService.update(groupon);
|
||||
|
||||
|
||||
return ResponseUtil.ok();
|
||||
}
|
||||
|
||||
@RequestMapping("list")
|
||||
public Object list(@LoginUser Integer userId) {
|
||||
if (userId == null) {
|
||||
|
||||
@@ -401,10 +401,11 @@ public class WxOrderController {
|
||||
|
||||
//参与者
|
||||
if (grouponLinkId != null && grouponLinkId > 0) {
|
||||
groupon.setUserType(false);
|
||||
LitemallGroupon baseGroupon = grouponService.queryById(grouponLinkId);
|
||||
groupon.setCreatorUserId(baseGroupon.getCreatorUserId());
|
||||
groupon.setGrouponId(grouponLinkId);
|
||||
} else {
|
||||
groupon.setUserType(true);
|
||||
groupon.setCreatorUserId(userId);
|
||||
groupon.setGrouponId(0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user