vipsubscribe.go 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. package front
  2. import (
  3. "jfw/wx"
  4. "log"
  5. "qfw/util"
  6. "time"
  7. "github.com/go-xweb/xweb"
  8. "gopkg.in/mgo.v2/bson"
  9. )
  10. type Subscribepay struct {
  11. *xweb.Action
  12. introduce xweb.Mapper `xweb:"/front/vipsubscribe/introducePage"` //订阅收费介绍页
  13. trialInfo xweb.Mapper `xweb:"/front/vipsubscribe/trialInfo"` //vip订阅服务-用户信息录入页面
  14. toPurchasePage xweb.Mapper `xweb:"/front/vipsubscribe/toPurchasePage/(.*)"` //订阅收费购买页面(试用用户)
  15. toChooseArea xweb.Mapper `xweb:"/front/vipsubscribe/toChooseArea"` //订阅收费地区筛选
  16. toChooseIndustry xweb.Mapper `xweb:"/front/vipsubscribe/toChooseIndustry"` //订阅收费行业筛选
  17. toPaySuccessPage xweb.Mapper `xweb:"/front/vipsubscribe/toPaySuccessPage"` //订阅支付完成页面
  18. toOrderDetailPage xweb.Mapper `xweb:"/front/vipsubscribe/toOrderDetailPage"` //订阅收费支付订单详情页面
  19. toSetKeyWordPage xweb.Mapper `xweb:"/front/vipsubscribe/toSetKeyWordPage"` //订阅收费设置关键词
  20. toSetPage xweb.Mapper `xweb:"/front/vipsubscribe/toSetPage"` //订阅收费设置
  21. toSetInfoTypePage xweb.Mapper `xweb:"/front/vipsubscribe/toSetInfoTypePage"` //订阅收费设置信息类型
  22. toSetPushSetPage xweb.Mapper `xweb:"/front/vipsubscribe/toSetPushSetPage"` //订阅收费推送设置
  23. toSetOtherKwsPage xweb.Mapper `xweb:"/front/vipsubscribe/toSet(.*)Page"` //订阅收费附加词和排除词设置
  24. toVIPViewPage xweb.Mapper `xweb:"/front/vipsubscribe/toVIPViewPage"` //订阅收费预览
  25. //修改
  26. toEditSubPage xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubPage"` //订阅收费修改页面
  27. toEditSubProvPage xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubProvPage"` //订阅收费修改省份
  28. toEditSubAllArea xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubAllArea"` //订阅收费全国修改
  29. toEditSubCityPage xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubCityPage"` //订阅收费修改城市
  30. toEditSubInduPage xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubInduPage"` //订阅收费修改行业
  31. submitEditSub xweb.Mapper `xweb:"/front/vipsubscribe/submitEditSub"` //提交订阅收费
  32. //升级
  33. toUpgradePage xweb.Mapper `xweb:"/front/vipsubscribe/toUpgradePage"` //订阅收费升级服务页面
  34. addArea xweb.Mapper `xweb:"/front/vipsubscribe/toChooseAreaUpgrade"` //订阅收费升级新增区域页面
  35. addIndustry xweb.Mapper `xweb:"/front/vipsubscribe/toChooseIndustryUpgrade"` //订阅收费升级新增行业页面
  36. //续费
  37. renewPage xweb.Mapper `xweb:"/front/vipsubscribe/renewPage/(.*)"` //订阅到期(will:即将到期,exprie:已到期)
  38. renewPayPage xweb.Mapper `xweb:"/front/vipsubscribe/renewPayPage"` //订阅到期续费
  39. //发票
  40. openInvoice xweb.Mapper `xweb:"/front/vipsubscribe/openInvoice/(\\w+)"` //开发票
  41. }
  42. func init() {
  43. xweb.AddAction(&Subscribepay{})
  44. }
  45. //推送设置
  46. func (s *Subscribepay) ToVIPViewPage() {
  47. s.Render("/weixin/vipsubscribe/vip_viewPage.html")
  48. }
  49. //附加词|排除词
  50. func (s *Subscribepay) ToSetOtherKwsPage(page string) {
  51. s.Render("/weixin/vipsubscribe/" + page + "Word.html")
  52. }
  53. //推送设置
  54. func (s *Subscribepay) ToSetPushSetPage() {
  55. s.Render("/weixin/vipsubscribe/vip_seniorset.html")
  56. }
  57. //信息类型
  58. func (s *Subscribepay) ToSetInfoTypePage() {
  59. s.Render("/weixin/vipsubscribe/messageType.html")
  60. }
  61. //订阅设置
  62. func (s *Subscribepay) ToSetPage() {
  63. s.Render("/weixin/vipsubscribe/vip_index.html")
  64. }
  65. //vip订阅介绍页
  66. func (s *Subscribepay) Introduce() {
  67. s.Render("/weixin/vipsubscribe/vip_introduce.html")
  68. }
  69. //试用完善信息
  70. func (s *Subscribepay) TrialInfo() {
  71. s.Render("/weixin/vipsubscribe/trial_info.html", &s.T)
  72. }
  73. //订阅收费购买页面
  74. func (s *Subscribepay) ToPurchasePage(flag string) {
  75. if flag == "trial" {
  76. s.T["isTrial"] = true
  77. } else {
  78. s.T["signature"] = wx.SignJSSDK(s.Site() + s.Url()) //微信支付准备参数
  79. }
  80. s.Render("/weixin/vipsubscribe/vip_purchase.html")
  81. }
  82. //订阅收费地区筛选
  83. func (s *Subscribepay) ToChooseArea() {
  84. s.Render("/weixin/vipsubscribe/choose_area.html", &s.T)
  85. }
  86. //订阅收费地区筛选
  87. func (s *Subscribepay) ToChooseIndustry() {
  88. s.Render("/weixin/vipsubscribe/choose_industry.html", &s.T)
  89. }
  90. //订阅收费支付完成页面
  91. func (s *Subscribepay) ToPaySuccessPage() {
  92. s.Render("/weixin/vipsubscribe/vip_pay_success.html")
  93. }
  94. //订阅收费支付订单详情页面
  95. func (s *Subscribepay) ToOrderDetailPage() {
  96. s.T["signature"] = wx.SignJSSDK(s.Site() + s.Url()) //微信支付准备参数
  97. s.Render("/weixin/vipsubscribe/vip_order_detail.html")
  98. }
  99. //订阅收费设置关键词
  100. func (s *Subscribepay) ToSetKeyWordPage() {
  101. s.Render("/weixin/vipsubscribe/keyWord.html")
  102. }
  103. //修改订阅页面
  104. func (s *Subscribepay) ToEditSubPage() {
  105. s.Render("/weixin/vipsubscribe/edit_subscribe.html")
  106. }
  107. //修改订阅省份
  108. func (s *Subscribepay) ToEditSubProvPage() {
  109. s.Render("/weixin/vipsubscribe/edit_subscribe_province.html")
  110. }
  111. //修改订阅城市
  112. func (s *Subscribepay) ToEditSubCityPage() {
  113. s.Render("/weixin/vipsubscribe/edit_subscribe_city.html")
  114. }
  115. //购买全国修改
  116. func (s *Subscribepay) ToEditSubAllArea() {
  117. s.Render("/weixin/vipsubscribe/edit_subscribe_allArea.html")
  118. }
  119. //修改订阅行业
  120. func (s *Subscribepay) ToEditSubInduPage() {
  121. s.Render("/weixin/vipsubscribe/edit_subscribe_industry.html")
  122. }
  123. //提交订阅修改
  124. func (s *Subscribepay) SubmitEditSub() {
  125. s.Render("/weixin/vipsubscribe/edit_subscribe_success.html")
  126. }
  127. //升级订阅服务
  128. func (s *Subscribepay) ToUpgradePage() {
  129. openid := util.ObjToString(s.GetSession("s_m_openid"))
  130. if openid != "" {
  131. data, ok := mongodb.FindOne("user", bson.M{"s_m_openid": openid})
  132. if len(*data) > 0 && ok {
  133. vipjy := (*data)["o_vipjy"].(map[string]interface{})
  134. area := vipjy["o_area"]
  135. buyerclass := vipjy["a_buyerclass"]
  136. cycleunit := vipjy["i_cycleunit"] // 1-年,2-月
  137. cyclecount := vipjy["i_cyclecount"] //数量
  138. starttime := util.Int64All((*data)["l_vip_starttime"])
  139. start := time.Unix(starttime, 0).Format("2006-01-02")
  140. endtime := util.Int64All((*data)["l_vip_endtime"])
  141. end := time.Unix(endtime, 0).Format("2006-01-02")
  142. s.T["area"] = area
  143. s.T["buyerclass"] = buyerclass
  144. s.T["cycleunit"] = cycleunit
  145. s.T["cyclecount"] = cyclecount
  146. s.T["starttime"] = start
  147. s.T["endtime"] = end
  148. }
  149. }
  150. s.Render("/weixin/vipsubscribe/vip_upgrade.html")
  151. }
  152. //升级订阅新增区域
  153. func (s *Subscribepay) AddArea() {
  154. openid := util.ObjToString(s.GetSession("s_m_openid"))
  155. if openid != "" {
  156. data, ok := mongodb.FindOne("user", bson.M{"s_m_openid": openid})
  157. if len(*data) > 0 && ok {
  158. vipjy := (*data)["o_vipjy"].(map[string]interface{})
  159. area := vipjy["o_area"]
  160. s.T["area"] = area
  161. }
  162. }
  163. s.Render("/weixin/vipsubscribe/choose_area_upgrade.html")
  164. }
  165. //升级订阅新增行业
  166. func (s *Subscribepay) AddIndustry() {
  167. openid := util.ObjToString(s.GetSession("s_m_openid"))
  168. if openid != "" {
  169. data, ok := mongodb.FindOne("user", bson.M{"s_m_openid": openid})
  170. if len(*data) > 0 && ok {
  171. vipjy := (*data)["o_vipjy"].(map[string]interface{})
  172. buyerclass := vipjy["a_buyerclass"]
  173. s.T["buyerclass"] = buyerclass
  174. }
  175. }
  176. s.Render("/weixin/vipsubscribe/choose_industry_upgrade.html")
  177. }
  178. //服务续费(will:即将到期,exprie:已到期)
  179. func (s *Subscribepay) RenewPage(sign string) {
  180. openid := util.ObjToString(s.GetSession("s_m_openid"))
  181. if openid != "" {
  182. data, ok := mongodb.FindOne("user", bson.M{"s_m_openid": openid})
  183. if len(*data) > 0 && ok {
  184. vipjy := (*data)["o_vipjy"].(map[string]interface{})
  185. area := vipjy["o_area"]
  186. buyerclass := vipjy["a_buyerclass"]
  187. cycleunit := vipjy["i_cycleunit"] // 1-年,2-月
  188. cyclecount := vipjy["i_cyclecount"] //数量
  189. starttime := util.Int64All((*data)["l_vip_starttime"])
  190. start := time.Unix(starttime, 0).Format("2006-01-02")
  191. endtime := util.Int64All((*data)["l_vip_endtime"])
  192. end := time.Unix(endtime, 0).Format("2006-01-02")
  193. s.T["area"] = area
  194. s.T["buyerclass"] = buyerclass
  195. s.T["cycleunit"] = cycleunit
  196. s.T["cyclecount"] = cyclecount
  197. s.T["starttime"] = start
  198. s.T["endtime"] = end
  199. }
  200. }
  201. s.T["exprie"] = sign //是否已到期
  202. s.Render("/weixin/vipsubscribe/renew_notice.html", &s.T)
  203. }
  204. //服务续费(will:即将到期,exprie:已到期)
  205. func (s *Subscribepay) RenewPayPage() {
  206. openid := util.ObjToString(s.GetSession("s_m_openid"))
  207. log.Println("openid", openid)
  208. if openid != "" {
  209. data, ok := mongodb.FindOne("user", bson.M{"s_m_openid": openid})
  210. if len(*data) > 0 && ok {
  211. vipjy := (*data)["o_vipjy"].(map[string]interface{})
  212. area := vipjy["o_area"]
  213. buyerclass := vipjy["a_buyerclass"]
  214. cycleunit := vipjy["i_cycleunit"] // 1-年,2-月
  215. cyclecount := vipjy["i_cyclecount"] //数量
  216. starttime := util.Int64All((*data)["l_vip_starttime"])
  217. start := time.Unix(starttime, 0).Format("2006-01-02")
  218. endtime := util.Int64All((*data)["l_vip_endtime"])
  219. end := time.Unix(endtime, 0).Format("2006-01-02")
  220. s.T["area"] = area
  221. s.T["buyerclass"] = buyerclass
  222. s.T["cycleunit"] = cycleunit
  223. s.T["cyclecount"] = cyclecount
  224. s.T["starttime"] = start
  225. s.T["endtime"] = end
  226. }
  227. }
  228. s.Render("/weixin/vipsubscribe/renew_pay.html")
  229. }
  230. //开发票
  231. func (s *Subscribepay) OpenInvoice(order_code string) {
  232. s.T["order_code"] = order_code
  233. s.Render("/weixin/dataExport/dataExport_applyInvoice.html", &s.T)
  234. }