fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ElmeController.java
New file @@ -0,0 +1,91 @@ package com.yeshi.fanli.controller.client.v1; import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.yeshi.utils.JsonUtil; import com.aliyuncs.unmarshaller.JsonUnmashaller; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.elme.ElmeHongBaoOrderMap; import com.yeshi.fanli.entity.elme.ElmeOrder; import com.yeshi.fanli.service.inter.elme.ElmeHongBaoOrderMapService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.vo.elme.ElmeUserOrderVO; import net.sf.json.JSONObject; /** * 饿了么 * * @author Administrator * */ @Controller @RequestMapping("api/v1/elme") public class ElmeController { @Resource private ElmeHongBaoOrderMapService elmeHongBaoOrderMapService; /** * 获取订单列表 * * @param acceptData * @param uid * @param page * @param callback * @param out */ @RequestMapping("getOrderList") public void getOrderList(AcceptData acceptData, Long uid, int page, String callback, PrintWriter out) { List<ElmeUserOrderVO> voList = new ArrayList<>(); List<ElmeHongBaoOrderMap> list = elmeHongBaoOrderMapService.listByHongBaoUid(uid, page, Constant.PAGE_SIZE); if (list != null) for (ElmeHongBaoOrderMap map : list) voList.add(create(map)); long count = elmeHongBaoOrderMapService.countByHongBaoUid(uid); JSONObject data = new JSONObject(); data.put("count", count); data.put("list", voList); if (!StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); else out.print(JsonUtil.loadTrueResult(data)); } private ElmeUserOrderVO create(ElmeHongBaoOrderMap map) { HongBaoV2 hognBao = map.getHongBao(); ElmeOrder order = map.getElmeOrder(); ElmeUserOrderVO vo = new ElmeUserOrderVO(); vo.setCreateTime(TimeUtil.getGernalTime(hognBao.getCreateTime().getTime(), "yyyy-MM-dd")); if (hognBao.getState() == HongBaoV2.STATE_BUKELINGQU || hognBao.getState() == HongBaoV2.STATE_KELINGQU) vo.setHongBaoState("未到账"); else if (hognBao.getState() == HongBaoV2.STATE_SHIXIAO) vo.setHongBaoState("已失效"); else vo.setHongBaoState("已到账"); vo.setId(map.getId()); vo.setMoney(hognBao.getMoney()); vo.setOrderId(order.getOrderId()); if (order.getPayMoney() == null || order.getPayMoney().compareTo(new BigDecimal(0)) <= 0) vo.setOrderState("未付款/已退款"); else vo.setOrderState("已付款"); vo.setOrderTime(TimeUtil.getGernalTime(order.getOrderDate().getTime(), "yyyy-MM-dd")); vo.setPayMoney(order.getPayMoney().toString()); if (hognBao.getPreGetTime() != null) vo.setPreGetTime(TimeUtil.getGernalTime(hognBao.getPreGetTime().getTime(), "yyyy-MM-dd")); return vo; } } fanli/src/main/java/com/yeshi/fanli/dao/mybatis/elme/ElmeHongBaoOrderMapMapper.java
@@ -1,5 +1,9 @@ package com.yeshi.fanli.dao.mybatis.elme; import java.util.List; import org.apache.ibatis.annotations.Param; import com.yeshi.fanli.dao.BaseMapper; import com.yeshi.fanli.entity.elme.ElmeHongBaoOrderMap; @@ -19,6 +23,24 @@ * @param orderId * @return */ ElmeHongBaoOrderMap selectByOrderId( Long orderId); ElmeHongBaoOrderMap selectByOrderId(Long orderId); /** * * @param uid * @param start * @param count * @return */ List<ElmeHongBaoOrderMap> listByHongBaoUid(@Param("uid") Long uid, @Param("start") long start, @Param("count") int count); /** * 根据红包用户ID计数 * * @param uid * @return */ long countByHongBaoUid(Long uid); } fanli/src/main/java/com/yeshi/fanli/mapping/elme/ElmeHongBaoOrderMapMapper.xml
@@ -7,11 +7,13 @@ <id column="eoh_id" property="id" jdbcType="BIGINT" /> <result column="eoh_create_time" property="createTime" jdbcType="TIMESTAMP" /> <association property="elmeOrder" column="eoh_order_id" javaType="com.yeshi.fanli.entity.elme.ElmeOrder"> <id property="id" column="eoh_order_id" /> <association property="elmeOrder" column="eoh_order_id" javaType="com.yeshi.fanli.entity.elme.ElmeOrder" select="com.yeshi.fanli.dao.mybatis.elme.ElmeOrderMapper.selectByPrimaryKey"> </association> <association property="hongBao" column="eoh_hongbao_id" javaType="com.yeshi.fanli.entity.bus.user.HongBaoV2"> <id property="id" column="eoh_hongbao_id" /> <association property="hongBao" column="eoh_hongbao_id" javaType="com.yeshi.fanli.entity.bus.user.HongBaoV2" select="com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper.selectByPrimaryKey"> </association> </resultMap> @@ -38,6 +40,33 @@ from yeshi_ec_elme_order_hongbao where eoh_order_id = #{0} </select> <select id="listByHongBaoUid" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from yeshi_ec_elme_order_hongbao left join yeshi_ec_hongbao_v2 v on v.hb_id=eoh_hongbao_id where v.hb_uid = #{uid} order by eoh_id desc limit #{start},#{count} </select> <select id="countByHongBaoUid" resultType="java.lang.Long" parameterType="java.lang.Long"> select count(eoh_id) from yeshi_ec_elme_order_hongbao left join yeshi_ec_hongbao_v2 v on v.hb_id=eoh_hongbao_id where v.hb_uid = #{0} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_elme_order_hongbao where eoh_id = #{id,jdbcType=BIGINT} </delete> fanli/src/main/java/com/yeshi/fanli/service/impl/elme/ElmeHongBaoOrderMapServiceImpl.java
@@ -1,5 +1,7 @@ package com.yeshi.fanli.service.impl.elme; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; @@ -48,4 +50,14 @@ return elmeHongBaoOrderMapMapper.selectByHongBaoId(hongBaoId); } @Override public List<ElmeHongBaoOrderMap> listByHongBaoUid(Long uid, int page, int pageSize) { return elmeHongBaoOrderMapMapper.listByHongBaoUid(uid, (page - 1) * pageSize, pageSize); } @Override public long countByHongBaoUid(Long uid) { return elmeHongBaoOrderMapMapper.countByHongBaoUid(uid); } } fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
@@ -1306,7 +1306,7 @@ if (newUser != null) { throw new UserAccountException(4, "该微信号已被其他帐号绑定"); } } else if (wxUnionId.equals(wxUnionIdExist)) { } else if (wxUnionId.equalsIgnoreCase(wxUnionIdExist)) { throw new UserAccountException(3, "微信帐号一致无需更换"); } fanli/src/main/java/com/yeshi/fanli/service/inter/elme/ElmeHongBaoOrderMapService.java
@@ -1,5 +1,7 @@ package com.yeshi.fanli.service.inter.elme; import java.util.List; import com.yeshi.fanli.entity.elme.ElmeHongBaoOrderMap; import com.yeshi.fanli.exception.elme.ElmeHongBaoOrderMapException; @@ -32,4 +34,23 @@ * @return */ public ElmeHongBaoOrderMap selectByHongBaoId(Long hongBaoId); /** * 根据红包用户ID检索 * * @param uid * @param page * @param pageSize * @return */ public List<ElmeHongBaoOrderMap> listByHongBaoUid(Long uid, int page, int pageSize); /** * 根据红包用户ID计数 * * @param uid * @return */ public long countByHongBaoUid(Long uid); } fanli/src/main/java/com/yeshi/fanli/vo/elme/ElmeUserOrderVO.java
New file @@ -0,0 +1,94 @@ package com.yeshi.fanli.vo.elme; import java.math.BigDecimal; /** * 饿了么前端输出订单 * * @author Administrator * */ public class ElmeUserOrderVO { private Long id; private String orderState;// 订单状态 private String hongBaoState;// 红包状态 private String orderId;// 订单号 private String payMoney;// 支付金额 private String orderTime;// 订单时间 private String createTime;// 创建时间 private String preGetTime;// 预计领取时间 private BigDecimal money;// 返利金额 public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getOrderState() { return orderState; } public void setOrderState(String orderState) { this.orderState = orderState; } public String getHongBaoState() { return hongBaoState; } public void setHongBaoState(String hongBaoState) { this.hongBaoState = hongBaoState; } public String getOrderId() { return orderId; } public void setOrderId(String orderId) { this.orderId = orderId; } public String getPayMoney() { return payMoney; } public void setPayMoney(String payMoney) { this.payMoney = payMoney; } public String getOrderTime() { return orderTime; } public void setOrderTime(String orderTime) { this.orderTime = orderTime; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public String getPreGetTime() { return preGetTime; } public void setPreGetTime(String preGetTime) { this.preGetTime = preGetTime; } public BigDecimal getMoney() { return money; } public void setMoney(BigDecimal money) { this.money = money; } }